CLI do Azure baseada em MSAL
A partir da versão 2.30.0, a CLI do Azure usa a Biblioteca de Autenticação da Microsoft (MSAL) como a biblioteca de autenticação subjacente. A MSAL usa o fluxo de autenticação do Azure Active Directory v2.0 para fornecer mais funcionalidade e aumenta a segurança do cache de token.
Aviso
ALTERAÇÕES INTERRUPTIVAS foram apresentadas na CLI do Azure 2.30.0. Leia atentamente o documento antes da instalação.
Substituição da accessTokens.json
As versões anteriores da CLI do Azure salvavam os tokens da Biblioteca de Autenticação do Azure AD (ADAL) e as entradas de entidade de serviço em ~/.azure/accessToken.json
. As versões mais recentes da CLI do Azure usam a MSAL e não geram mais accessTokens.json
. Qualquer fluxo de trabalho existente que depende de accessTokens.json
não funciona mais.
O cache de token MSAL e as entradas principais de serviço são salvos como arquivos criptografados no Windows e como arquivos de texto simples no Linux e no macOS.
Importante
Ao usar a CLI do Azure em um pipeline, como o Azure DevOps, verifique se todas as tarefas/fases estão usando versões da CLI do Azure acima da v2.30.0 para a CLI do Azure baseada em MSAL. A CLI do Azure 2.30.0 não é compatível com versões anteriores e gera um erro ao trabalhar com versões anteriores à 2.30.0.
Alternativas a serem consideradas
Alternativas que você pode considerar para estabilidade:
Chamar az account get-access-token
Você pode chamar az account get-access-token
manualmente um terminal ou usar um subprocesso para chamá-lo de outra linguagem de programação. Por padrão, o token de acesso retornado é do ARM (Azure Resource Manager) e a assinatura/locatário padrão é mostrada em 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>"
Para saber mais sobre os tokens de acesso, consulte Entrar com a CLI do Azure.
Usando AzureCliCredential
AzureCliCredential
é um tipo de credencial em todos os SDKs de linguagem existentes. Ele usa o subprocesso para chamar az account get-access-token
para obter um token de acesso da conta conectada no momento.