Включение кэша артефактов с проверкой подлинности — Azure CLI

Эта статья является пятой частью серии руководств из шести частей. Первая часть содержит общие сведения о кэше артефактов, его функциях, преимуществах и ограничениях. Во второй части вы узнаете, как включить функцию кэша артефактов с помощью портал Azure. В третьей части вы узнаете, как включить функцию кэша артефактов с помощью Azure CLI. В четвертой части вы узнаете, как включить функцию кэша артефактов с проверкой подлинности с помощью портал Azure.

В этой статье описано, как включить кэш артефактов с проверкой подлинности с помощью Azure CLI. С помощью учетных данных необходимо выполнить запрос с проверкой подлинности или получить доступ к частному репозиторию.

Предварительные требования

  • Для выполнения примеров команд, приведенных в этой статье, можно использовать Cloud Shell Azure или локальную установку Azure CLI. Если вы хотите использовать его локально, требуется версия 2.46.0 или более поздняя. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
  • У вас есть Key Vault для хранения учетных данных. Узнайте больше о создании и хранении учетных данных в Key Vault.
  • Вы можете задавать и извлекать секреты из Key Vault. Дополнительные сведения о настройке и извлечении секрета из Key Vault.

Настройка кэша артефактов с проверкой подлинности — Azure CLI

Создание учетных данных с помощью Azure CLI

Перед настройкой учетных данных необходимо создать и сохранить секреты в Azure KeyVault и получить секреты из Key Vault. Узнайте больше о создании и хранении учетных данных в Key Vault, а также о настройке и извлечении секрета из Key Vault..

  1. Выполните команду az acr credential set create , чтобы создать учетные данные.

    • Например, создание учетных данных для заданного MyRegistry Реестр контейнеров 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
    
  2. Выполните команду az acr credential set update , чтобы обновить идентификатор секрета KV имени пользователя или пароля в наборе учетных данных.

    • Например, чтобы обновить идентификатор секрета KV имени пользователя или пароля в учетных данных для данного MyRegistry Реестр контейнеров Azure.
    az acr credential-set update -r MyRegistry -n MyRule -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
    
  3. Выполните команду az-acr-credential-set-show , чтобы отобразить учетные данные.

    • Например, чтобы отобразить учетные данные для заданного MyRegistry Реестр контейнеров Azure.
    az acr credential-set show -r MyRegistry -n MyCredSet
    

Создание правила кэша с учетными данными — Azure CLI

  1. Выполните команду az acr cache create , чтобы создать правило кэша.

    • Например, чтобы создать правило кэша с учетными данными для заданного MyRegistry Реестр контейнеров Azure.
    az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyCredSet
    
  2. Выполните команду az acr cache update , чтобы обновить учетные данные в правиле кэша.

    • Например, чтобы обновить учетные данные в правиле кэша для заданного MyRegistry Реестр контейнеров Azure.
    az acr cache update -r MyRegistry -n MyRule -c NewCredSet
    
    • Например, чтобы удалить учетные данные из существующего правила кэша для заданного MyRegistry Реестр контейнеров Azure.
    az acr cache update -r MyRegistry -n MyRule --remove-cred-set
    
  3. Выполните команду az acr cache show , чтобы отобразить правило кэша.

    • Например, чтобы отобразить правило кэша для заданного MyRegistry Реестр контейнеров Azure.
     az acr cache show -r MyRegistry -n MyRule
    

Назначение разрешений Key Vault

  1. Получите идентификатор субъекта системного удостоверения, используемого для доступа к Key Vault.

    PRINCIPAL_ID=$(az acr credential-set show 
                    -n MyCredSet \ 
                    -r MyRegistry  \
                    --query 'identity.principalId' \ 
                    -o tsv) 
    
  2. Выполните команду az keyvault set-policy, чтобы назначить доступ к Key Vault, прежде чем извлекать образ.

    • Например, чтобы назначить разрешения для учетных данных, получить доступ к секрету KeyVault
    az keyvault set-policy --name MyKeyVault \
    --object-id $PRINCIPAL_ID \
    --secret-permissions get
    

Извлечение образа

  1. Извлеките образ из кэша с помощью команды Docker, указав имя сервера входа в реестр, имя репозитория и требуемый тег.

    • Например, чтобы извлечь образ из репозитория hello-world с нужным тегом latest для заданного сервера myregistry.azurecr.ioвхода в реестр .
     docker pull myregistry.azurecr.io/hello-world:latest
    

очищать ресурсы.

  1. Выполните команду az acr cache list, чтобы получить список правил кэша в Реестр контейнеров Azure.

    • Например, чтобы получить список правил кэша для заданного MyRegistry Реестр контейнеров Azure.
     az acr cache list -r MyRegistry
    
  2. Выполните команду az acr cache delete , чтобы удалить правило кэша.

    • Например, чтобы удалить правило кэша для заданного MyRegistry Реестр контейнеров Azure.
    az acr cache delete -r MyRegistry -n MyRule
    
  3. Выполнитекоманду az acr credential set list, чтобы получить список учетных данных в Реестр контейнеров Azure.

    • Например, чтобы получить список учетных данных для заданного MyRegistry Реестр контейнеров Azure.
    az acr credential-set list -r MyRegistry
    
  4. Выполните команду az-acr-credential-set-delete , чтобы удалить учетные данные.

    • Например, чтобы удалить учетные данные для заданного MyRegistry Реестр контейнеров Azure.
    az acr credential-set delete -r MyRegistry -n MyCredSet
    

Дальнейшие действия

  • Перейдите к следующей статье , чтобы ознакомиться с руководством по устранению неполадок кэша реестра.