Переход на идентификацию Azure

Бета-версия Azure CLI на внутреннем уровне замещает Библиотеку проверки подлинности Active Directory (ADAL) удостоверением Azure и библиотекой проверки подлинности Майкрософт (MSAL). Существующий кэш маркеров ADAL (~/.azure/accessToken.json) будет перенесен в кэш зашифрованных маркеров MSAL автоматически при выполнении любой команды, запрашивающей учетные данные.

В этой статье приводятся подробные сведения об этом критическом изменении и приведены примеры получения маркера доступа в бета-версии Azure CLI.

Критическое изменение в выпуске бета-версии

Текущая версия Azure CLI сохраняет маркеры обновления ADAL и маркеры доступа в ~/.azure/accessToken.json. Бета-версия Azure CLI использует MSAL и больше не будет создавать accessTokens.json после успешного входа. Маркеры будут сохраняться в общем кэше маркеров MSAL msal.cache. Чтобы получить маркер доступа, используйте az account get-access-token.

Кэш маркеров MSAL будет шифроваться в Windows, macOS и Linux с учетом среды рабочего стола. Поэтому прямого доступа к кэшу маркеров MSAL не будет. Любой существующий рабочий процесс, зависящий от accessTokens.json, не будет работать.

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

Вызовите az account get-access-token

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

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

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

# get access token for a specific subscription
az account get-access-token --subscription "mySubscriptionName"
Используйте AzureCliCredential.

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

Получение доступа к общему кэшу MSAL

Приложения Майкрософт могут использовать SharedTokenCacheCredential из пакета SDK для идентификации Azure с целью осуществления прямого доступа к общему кэшу MSAL.

См. также