Habilitar cache de artefacto con la autenticación: CLI de Azure
Este artículo es la cuarta parte de una serie de tutoriales de seis partes. En la primera parte se proporciona información general sobre la cache de artefacto, sus características, ventajas y limitaciones. En la segunda parte, obtendrá información sobre cómo habilitar la característica de caché de artefacto mediante Azure Portal. En la tercera parte, descubrirá cómo habilitar la característica de caché de artefacto mediante la CLI de Azure. En la cuarta parte, descubrirá cómo habilitar la característica de cache de artefacto con autenticación mediante Azure Portal.
En este artículo se describen los pasos necesarios a fin de habilitar la cache de artefacto con autenticación mediante la CLI de Azure. Debe usar las credenciales para realizar una extracción autenticada o acceder a un repositorio privado.
Requisitos previos
- Puede usar Azure Cloud Shell o una instalación local de la CLI de Azure para ejecutar los ejemplos de comando de este artículo. Si quiere usarla de forma local, necesitará la versión 2.46.0 o posterior. Ejecute
az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure. - Tiene un Key Vault existente para almacenar las credenciales. Obtenga más información sobre crear y almacenar credenciales en un Key Vault.
- Puede establecer y recuperar secretos de Key Vault. Obtenga más información sobre establecer y recuperar un secreto de Key Vault.
Configurar cache de artefacto con la autenticación: CLI de Azure
Creación de credenciales: CLI de Azure
Antes de configurar las credenciales, deberá crear y almacenar secretos en Azure KeyVault y recuperar los secretos de la instancia de Key Vault. Obtenga más información sobre crear y almacenar credenciales en un Key Vault. y a establecer y recuperar un secreto de Key Vault..
Ejecute el comando az acr credential set create para crear las credenciales.
- Por ejemplo, para crear las credenciales para una instancia de Azure Container Registry
MyRegistry
determinada.
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 ejemplo, para crear las credenciales para una instancia de Azure Container Registry
Ejecute az acr credential set update para actualizar el identificador de secreto de KV de nombre de usuario o contraseña en un conjunto de credenciales.
- Por ejemplo, para actualizar el nombre de usuario o el identificador de secreto de KV de contraseña en las credenciales de una instancia de Azure Container Registry
MyRegistry
determinada.
az acr credential-set update -r MyRegistry -n MyRule -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
- Por ejemplo, para actualizar el nombre de usuario o el identificador de secreto de KV de contraseña en las credenciales de una instancia de Azure Container Registry
Ejecute az-acr-credential-set-show para mostrar las credenciales.
- Por ejemplo, para mostrar las credenciales para una instancia de Azure Container Registry
MyRegistry
determinada.
az acr credential-set show -r MyRegistry -n MyCredSet
- Por ejemplo, para mostrar las credenciales para una instancia de Azure Container Registry
Creación de una regla de caché con las credenciales: CLI de Azure
Ejecute el comando az acr cache create para crear una regla de caché.
- Por ejemplo, para crear una regla de caché con las credenciales para una instancia de Azure Container Registry
MyRegistry
determinada.
az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyCredSet
- Por ejemplo, para crear una regla de caché con las credenciales para una instancia de Azure Container Registry
Ejecute el comando az acr cache update para actualizar las credenciales en una regla de caché.
- Por ejemplo, para actualizar las credenciales en una regla de caché de una instancia de Azure Container Registry
MyRegistry
determinada.
az acr cache update -r MyRegistry -n MyRule -c NewCredSet
- Por ejemplo, para quitar las credenciales de una regla de caché existente para una instancia de Azure Container Registry
MyRegistry
determinada.
az acr cache update -r MyRegistry -n MyRule --remove-cred-set
- Por ejemplo, para actualizar las credenciales en una regla de caché de una instancia de Azure Container Registry
Ejecute el comando az acr cache show para mostrar una regla de caché.
- Por ejemplo, para mostrar una regla de caché para un Azure Container Registry determinado
MyRegistry
.
az acr cache show -r MyRegistry -n MyRule
- Por ejemplo, para mostrar una regla de caché para un Azure Container Registry determinado
Asignar permisos a Key Vault
Obtenga el identificador de entidad de seguridad de la identidad del sistema en uso para acceder a Key Vault.
PRINCIPAL_ID=$(az acr credential-set show -n MyCredSet \ -r MyRegistry \ --query 'identity.principalId' \ -o tsv)
Ejecute el comando az keyvault set-policy para asignar acceso al Key Vault, antes de extraer la imagen.
- Por ejemplo, para asignar permisos para las credenciales, acceda al secreto de KeyVault
az keyvault set-policy --name MyKeyVault \ --object-id $PRINCIPAL_ID \ --secret-permissions get
Extraiga la imagen
Extraiga la imagen de la memoria caché mediante el comando Docker por el nombre del servidor de inicio de sesión del Registro, el nombre del repositorio y su etiqueta deseada.
- Por ejemplo, extraer la imagen del repositorio
hello-world
con su etiqueta deseadalatest
para un servidor de inicio de sesión del Registromyregistry.azurecr.io
.
docker pull myregistry.azurecr.io/hello-world:latest
- Por ejemplo, extraer la imagen del repositorio
Limpiar los recursos
Ejecute el comando az acr cache list para enumerar las reglas de caché en el Azure Container Registry.
- Por ejemplo, para mostrar las reglas de caché para un Azure Container Registry determinado
MyRegistry
.
az acr cache list -r MyRegistry
- Por ejemplo, para mostrar las reglas de caché para un Azure Container Registry determinado
Ejecute el comando az acr cache delete para eliminar una regla de caché.
- Por ejemplo, para eliminar una regla de caché para un Azure Container Registry determinado
MyRegistry
.
az acr cache delete -r MyRegistry -n MyRule
- Por ejemplo, para eliminar una regla de caché para un Azure Container Registry determinado
Ejecute az acr credential set list para enumerar los conjuntos de credenciales en una instancia de Azure Container Registry.
- Por ejemplo, para mostrar los conjuntos de credenciales para una instancia de Azure Container Registry
MyRegistry
determinada.
az acr credential-set list -r MyRegistry
- Por ejemplo, para mostrar los conjuntos de credenciales para una instancia de Azure Container Registry
Ejecute az-acr-credential-set-delete para eliminar las credenciales.
- Por ejemplo, para eliminar las credenciales para una instancia de Azure Container Registry
MyRegistry
determinada.
az acr credential-set delete -r MyRegistry -n MyCredSet
- Por ejemplo, para eliminar las credenciales para una instancia de Azure Container Registry
Pasos siguientes
- Avance al siguiente artículo para recorrer la guía de solución de problemas de la caché del registro.