Демистификация аутентификации реестра контейнеров Azure: подробное руководство по входу в систему

Вот статья в блоге о различных методах входа в Реестр контейнеров Azure (ACR) вместе с примерами кода:

Реестр контейнеров Azure (ACR) — это управляемая служба реестра Docker, предоставляемая Microsoft Azure. Это позволяет разработчикам безопасно хранить образы контейнеров Docker и управлять ими. Чтобы получить доступ к ACR и взаимодействовать с ним, вам необходимо пройти аутентификацию. В этой статье мы рассмотрим различные способы программного входа в ACR на примерах кода.

Метод 1: Azure CLI
Azure CLI — это инструмент командной строки, который обеспечивает удобный способ управления ресурсами Azure. Чтобы войти в ACR с помощью Azure CLI, откройте терминал и выполните следующую команду:

az acr login --name <registry_name>

Замените <registry_name>именем вашего реестра контейнеров Azure. Эта команда аутентифицирует вас и настроит контекст Docker CLI на использование указанного ACR.

Метод 2: Azure PowerShell
Если вы предпочитаете PowerShell, вы можете использовать модуль Azure PowerShell для входа в ACR. Откройте окно PowerShell и выполните следующие команды:

$acrName = "<registry_name>"
$acr = Get-AzContainerRegistry -Name $acrName
$loginServer = $acr.LoginServer
$creds = Get-AzContainerRegistryCredential -Name $acrName
docker login $loginServer -u $creds.Username -p $creds.Password

Замените <registry_name>на свое имя ACR. Этот код получает сервер входа и учетные данные ACR с помощью командлетов Azure PowerShell. Затем он использует интерфейс командной строки Docker для входа в ACR, используя полученные учетные данные.

Метод 3. Пакеты SDK Azure
Azure предоставляет пакеты SDK для различных языков программирования, которые обеспечивают большую гибкость и контроль над проверкой подлинности ACR. Вот пример использования Python SDK:

from azure.identity import DefaultAzureCredential
from azure.containerregistry import ContainerRegistryClient
registry_name = "<registry_name>"
credential = DefaultAzureCredential()
client = ContainerRegistryClient(endpoint=f"https://{registry_name}.azurecr.io", credential=credential)
client.login()

Замените <registry_name>на свое имя ACR. Этот код использует Azure SDK для создания ContainerRegistryClientи входа в ACR с помощью метода login().

В этой статье мы рассмотрели несколько способов входа в Реестр контейнеров Azure (ACR). Независимо от того, предпочитаете ли вы Azure CLI, PowerShell или Azure SDK, существуют варианты аутентификации и доступа к вашим ресурсам ACR программным способом. Выберите метод, который соответствует вашему рабочему процессу и стеку разработки, и начните использовать возможности Реестра контейнеров Azure для безопасного управления образами контейнеров Docker.

Не забудьте проверить официальную документацию и соответствующую документацию по Azure SDK, чтобы узнать о последних обновлениях и дополнительных функциях.