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.

Confira também