Habilitar o cache de artefato com a autenticação – CLI do Azure
Este artigo é a parte cinco de uma série de tutoriais de seis partes. A primeira parte fornece uma visão geral do cache de artefato, dos recursos, dos benefícios e das limitações. Na segunda parte, você aprenderá a habilitar o recurso cache de artefato usando o portal do Azure. Na terceira parte, você aprenderá a habilitar o recurso cache de artefato usando a CLI do Azure. Na quarta parte, você aprenderá a habilitar o recurso cache de artefato com a autenticação usando o portal do Azure.
Este artigo demonstra as etapas usadas para habilitar o cache de artefato com a autenticação usando a CLI do Azure. Você precisa usar as Credenciais para efetuar um pull autenticado ou para acessar um repositório privado.
Pré-requisitos
- Você pode usar o Azure Cloud Shell ou uma instalação local da CLI do Azure para executar os exemplos de comandos incluídos neste artigo. Para usá-lo localmente, é necessária a versão 2.46.0 ou posterior. Execute
az --version
para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure. - Você tem um Key Vault existente para armazenar as credenciais. Saiba mais sobre como criar e armazenar credenciais em um Key Vault.
- Você pode definir e recuperar segredos do seu Key Vault. Saiba mais sobre como definir e recuperar um segredo do Key Vault.
Configurar o cache de artefato com a autenticação – CLI do Azure
Criar Credenciais – CLI do Azure
Antes de configurar as Credenciais, você deve criar e armazenar segredos no Azure KeyVault e recuperar os segredos do Key Vault. Saiba mais sobre como criar e armazenar credenciais em um Key Vault. e como definir e recuperar um segredo do Key Vault..
Execute o comando az acr credential set create para criar as credenciais.
- Por exemplo, criar as credenciais para determinado
MyRegistry
Registro de Contêiner do Azure.
az acr credential-set create -r MyRegistry \ -n MyRule \ -l docker.io \ -u https://MyKeyvault.vault.azure.net/secrets/usernamesecret \ -p https://MyKeyvault.vault.azure.net/secrets/passwordsecret
- Por exemplo, criar as credenciais para determinado
Execute az acr credential set update para atualizar a ID do segredo do KV de nome de usuário ou senha em um conjunto de credenciais.
- Por exemplo, para atualizar a ID do segredo de KV do nome de usuário ou senha nas credenciais de determinado Registro de Contêiner do Azure
MyRegistry
.
az acr credential-set update -r MyRegistry -n MyRule -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
- Por exemplo, para atualizar a ID do segredo de KV do nome de usuário ou senha nas credenciais de determinado Registro de Contêiner do Azure
Execute az-acr-credential-set-show para mostrar as credenciais.
- Por exemplo, para mostrar criar as credenciais para determinado
MyRegistry
Registro de Contêiner do Azure.
az acr credential-set show -r MyRegistry -n MyCredSet
- Por exemplo, para mostrar criar as credenciais para determinado
Criar uma regra de armazenamento em cache com as Credenciais — CLI do Azure
Execute o comando az acr cache create para criar uma regra de armazenamento em cache.
- Por exemplo, criar uma regra de armazenamento em cache com as credenciais para um determinado
MyRegistry
Registro de Contêiner do Azure.
az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyCredSet
- Por exemplo, criar uma regra de armazenamento em cache com as credenciais para um determinado
Execute o comando az acr cache update para atualizar as credenciais em uma regra de armazenamento em cache.
- Por exemplo, atualizar as credenciais em uma regra de armazenamento em cache para um determinado
MyRegistry
Registro de Contêiner do Azure.
az acr cache update -r MyRegistry -n MyRule -c NewCredSet
- Por exemplo, remover as credenciais de uma regra de armazenamento em cache existente para um determinado
MyRegistry
Registro de Contêiner do Azure.
az acr cache update -r MyRegistry -n MyRule --remove-cred-set
- Por exemplo, atualizar as credenciais em uma regra de armazenamento em cache para um determinado
Execute o comando az acr cache show para mostrar uma regra de armazenamento em cache.
- Por exemplo, mostrar uma regra de armazenamento em cache para um determinado
MyRegistry
Registro de Contêiner do Azure.
az acr cache show -r MyRegistry -n MyRule
- Por exemplo, mostrar uma regra de armazenamento em cache para um determinado
Atribuir permissões para o Key Vault
Obter a ID principal da identidade do sistema em uso para acessar o Key Vault.
PRINCIPAL_ID=$(az acr credential-set show -n MyCredSet \ -r MyRegistry \ --query 'identity.principalId' \ -o tsv)
Execute o comando az keyvault set-policy para atribuir o acesso ao Key Vault, antes de efetuar pull da imagem.
- Por exemplo, atribuir permissões para as credenciais acessar o segredo do KeyVault
az keyvault set-policy --name MyKeyVault \ --object-id $PRINCIPAL_ID \ --secret-permissions get
Efetuar pull da sua Imagem
Efetue pull da imagem do cache usando o comando do Docker pelo nome do servidor de logon do registro, pelo nome do repositório e pela marca desejada.
- Por exemplo, para efetuar pull da imagem do repositório
hello-world
com a marca desejadalatest
para um determinado servidor de logon do registromyregistry.azurecr.io
.
docker pull myregistry.azurecr.io/hello-world:latest
- Por exemplo, para efetuar pull da imagem do repositório
Limpar os recursos
Execute o comando az acr cache list para listar as regras de armazenamento em cache no Registro de Contêiner do Azure.
- Por exemplo, listar as regras de armazenamento em cache para um determinado
MyRegistry
Registro de Contêiner do Azure.
az acr cache list -r MyRegistry
- Por exemplo, listar as regras de armazenamento em cache para um determinado
Execute o comando az acr cache delete para excluir uma regra de armazenamento em cache.
- Por exemplo, excluir uma regra de armazenamento em cache para um determinado
MyRegistry
Registro de Contêiner do Azure.
az acr cache delete -r MyRegistry -n MyRule
- Por exemplo, excluir uma regra de armazenamento em cache para um determinado
Execute az acr credential set list para listar as credenciais em um Registro de Contêiner do Azure.
- Por exemplo, listar as credenciais para determinado
MyRegistry
Registro de Contêiner do Azure.
az acr credential-set list -r MyRegistry
- Por exemplo, listar as credenciais para determinado
Execute az-acr-credential-set-delete para excluir as credenciais.
- Por exemplo, para excluir as credenciais para determinado
MyRegistry
Registro de Contêiner do Azure.
az acr credential-set delete -r MyRegistry -n MyCredSet
- Por exemplo, para excluir as credenciais para determinado
Próximas etapas
- Avance para o próximo artigo para acompanhar o guia de solução de problemas do Cache do Registro.