Поделиться через


Azure CLI на основе MSAL

Начиная с версии 2.30.0 Azure CLI использует библиотеку проверки подлинности Майкрософт (MSAL) в качестве базовой библиотеки проверки подлинности. MSAL использует поток проверки подлинности Azure Active Directory версии 2.0 для обеспечения дополнительных функциональных возможностей и повышения безопасности кэша маркеров.

Предупреждение

В выпуске Azure CLI 2.30.0 представлены КРИТИЧЕСКИЕ ИЗМЕНЕНИЯ. Внимательно прочитайте документ перед установкой.

Прекращение поддержки accessTokens.json

Предыдущие версии Azure CLI сохранили маркеры аутентификация Azure AD библиотеки (ADAL) и записи ~/.azure/accessToken.jsonсубъекта-службы. Последние версии Azure CLI используют MSAL и больше не создаются accessTokens.json. Любой существующий рабочий процесс, зависящий от accessTokens.json, больше не будет работать.

Кэш маркеров MSAL и записи субъекта-службы сохраняются в виде зашифрованных файлов в Windows и файлов с открытым текстом в Linux и macOS.

Важно!

При использовании Azure CLI в конвейере, например в Azure DevOps, убедитесь, что для всех задач и этапов используется Azure CLI на основе MSAL версий выше 2.30.0. Azure CLI 2.30.0 не совместим с предыдущими версиями и выдает ошибку при работе с версиями до 2.30.0.

Возможные альтернативы

Альтернативные варианты, которые можно рассмотреть для стабильности:

Вызовы az account get-access-token

Можно вручную вызвать az account get-access-token в терминале или использовать подпроцесс для вызова его из другого языка программирования. По умолчанию возвращаемый маркер доступа предназначен для Azure Resource Manager и подписки или арендатора по умолчанию, отображаемых в az account show.

# get the active subscription
az account show --output table

# get access token for the active subscription
az account get-access-token

# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"

Дополнительные сведения о маркерах доступа см. в статье "Вход с помощью Azure CLI".

С использованием AzureCliCredential

AzureCliCredential — это тип учетных данных во всех существующих языковых пакетах SDK. Он использует подпроцесс для вызова az account get-access-token, чтобы получить маркер доступа для текущей учетной записи, с которой пользователь вошел в систему.

См. также