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
, чтобы получить маркер доступа для текущей учетной записи, с которой пользователь вошел в систему.
См. также
- MSAL
- Python
- Класс AzureCliCredential в Python
- .ЧИСТАЯ
- Класс AzureCliCredential в .NET
- Java
- Класс AzureCliCredential в Java