Ativar a Cache de Artefactos com autenticação - CLI do Azure
Este artigo é a quinta parte de uma série de tutoriais de seis partes. A primeira parte fornece uma descrição geral da Cache de Artefactos, das suas funcionalidades, benefícios e limitações. Na segunda parte, vai aprender a ativar a funcionalidade Cache de Artefactos com o portal do Azure. Na terceira parte, vai aprender a ativar a funcionalidade Cache de Artefactos com a CLI do Azure. Na quarta parte, vai aprender a ativar a funcionalidade Cache de Artefactos com autenticação através de portal do Azure.
Este artigo explica-lhe os passos para ativar a Cache de Artefactos com autenticação com a CLI do Azure. Tem de utilizar as Credenciais para fazer uma solicitação autenticada ou para aceder a um repositório privado.
Pré-requisitos
- Pode utilizar a Cloud Shell do Azure ou uma instalação local da CLI do Azure para executar os exemplos de comandos neste artigo. Se quiser utilizá-la localmente, é necessária a versão 2.46.0 ou posterior. Executar
az --version
para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI). - Tem uma Key Vault existente para armazenar as credenciais. Saiba mais sobre como criar e armazenar credenciais num Key Vault.
- Pode definir e obter segredos do seu Key Vault. Saiba mais sobre definir e obter um segredo do Key Vault.
Configurar a Cache de Artefactos com autenticação - CLI do Azure
Criar Credenciais - CLI do Azure
Antes de configurar as Credenciais, tem de criar e armazenar segredos no Azure KeyVault e obter os segredos do Key Vault. Saiba mais sobre como criar e armazenar credenciais num Key Vault. E para definir e obter um segredo do Key Vault..
Execute o comando az acr credential set create para criar as credenciais.
- Por exemplo, para criar as credenciais de um determinado
MyRegistry
Azure Container Registry.
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, para criar as credenciais de um determinado
Execute az acr credential set update para atualizar o ID do segredo KV de nome de utilizador ou palavra-passe num conjunto de credenciais.
- Por exemplo, para atualizar o ID do segredo KV de nome de utilizador ou palavra-passe nas credenciais de um determinado
MyRegistry
Azure Container Registry.
az acr credential-set update -r MyRegistry -n MyRule -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
- Por exemplo, para atualizar o ID do segredo KV de nome de utilizador ou palavra-passe nas credenciais de um determinado
Execute az-acr-credential-set-show para mostrar as credenciais.
- Por exemplo, para mostrar as credenciais de um determinado
MyRegistry
Azure Container Registry.
az acr credential-set show -r MyRegistry -n MyCredSet
- Por exemplo, para mostrar as credenciais de um determinado
Criar uma regra de cache com as Credenciais – CLI do Azure
Execute o comando az acr cache create para criar uma regra de cache.
- Por exemplo, para criar uma regra de cache com as credenciais de uma determinada
MyRegistry
Azure Container Registry.
az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyCredSet
- Por exemplo, para criar uma regra de cache com as credenciais de uma determinada
Execute o comando az acr cache update para atualizar as credenciais numa regra de cache.
- Por exemplo, para atualizar as credenciais numa regra de cache para um determinado
MyRegistry
Azure Container Registry.
az acr cache update -r MyRegistry -n MyRule -c NewCredSet
- Por exemplo, para remover as credenciais de uma regra de cache existente para uma determinada
MyRegistry
Azure Container Registry.
az acr cache update -r MyRegistry -n MyRule --remove-cred-set
- Por exemplo, para atualizar as credenciais numa regra de cache para um determinado
Execute o comando az acr cache show para mostrar uma regra de cache.
- Por exemplo, para mostrar uma regra de cache para um determinado
MyRegistry
Azure Container Registry.
az acr cache show -r MyRegistry -n MyRule
- Por exemplo, para mostrar uma regra de cache para um determinado
Atribuir permissões a Key Vault
Obtenha o ID principal da identidade do sistema em utilização para aceder a 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 acesso ao Key Vault, antes de solicitar a imagem.
- Por exemplo, para atribuir permissões para as credenciais, aceda ao segredo do KeyVault
az keyvault set-policy --name MyKeyVault \ --object-id $PRINCIPAL_ID \ --secret-permissions get
Solicitar a sua Imagem
Extraia a imagem da cache com o comando do Docker pelo nome do servidor de início de sessão do registo, o nome do repositório e a etiqueta pretendida.
- Por exemplo, para extrair a imagem do repositório
hello-world
com a etiquetalatest
pretendida para um determinado servidormyregistry.azurecr.io
de início de sessão de registo .
docker pull myregistry.azurecr.io/hello-world:latest
- Por exemplo, para extrair a imagem do repositório
Limpar os recursos
Execute o comando az acr cache list para listar as regras de cache no Azure Container Registry.
- Por exemplo, para listar as regras de cache de um determinado
MyRegistry
Azure Container Registry.
az acr cache list -r MyRegistry
- Por exemplo, para listar as regras de cache de um determinado
Execute o comando az acr cache delete para eliminar uma regra de cache.
- Por exemplo, para eliminar uma regra de cache para um determinado
MyRegistry
Azure Container Registry.
az acr cache delete -r MyRegistry -n MyRule
- Por exemplo, para eliminar uma regra de cache para um determinado
Executeaz acr credential set list para listar a credencial num Azure Container Registry.
- Por exemplo, para listar as credenciais de um determinado
MyRegistry
Azure Container Registry.
az acr credential-set list -r MyRegistry
- Por exemplo, para listar as credenciais de um determinado
Execute az-acr-credential-set-delete para eliminar as credenciais.
- Por exemplo, para eliminar as credenciais de um determinado
MyRegistry
Azure Container Registry.
az acr credential-set delete -r MyRegistry -n MyCredSet
- Por exemplo, para eliminar as credenciais de um determinado
Passos seguintes
- Avance para o artigo seguinte para percorrer o guia de resolução de problemas da Cache de Registo.