Share via


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

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..

  1. 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
    
  2. 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
    
  3. 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
    

Creación de una regla de caché con las credenciales: CLI de Azure

  1. 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
    
  2. 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
    
  3. 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
    

Asignar permisos a Key Vault

  1. 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) 
    
  2. 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

  1. 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 deseada latest para un servidor de inicio de sesión del Registro myregistry.azurecr.io.
     docker pull myregistry.azurecr.io/hello-world:latest
    

Limpiar los recursos

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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
    

Pasos siguientes

  • Avance al siguiente artículo para recorrer la guía de solución de problemas de la caché del registro.