Interfaccia della riga di comando di Azure basata su MSAL

A partire dalla versione 2.30.0, l'interfaccia della riga di comando di Azure usa Microsoft Authentication Library (MSAL) come libreria di autenticazione sottostante. MSAL usa il flusso di autenticazione di Azure Active Directory v2.0 per offrire maggiore funzionalità e aumenta la sicurezza per la cache dei token.

Avviso

LE MODIFICHE CHE CAUSANO UN'INTERRUZIONE vengono introdotte nell'interfaccia della riga di comando di Azure 2.30.0. Leggere attentamente il documento prima dell'installazione.

accessTokens.json Disapprovazione

Le versioni precedenti dell'interfaccia della riga di comando di Azure hanno salvato i token di Autenticazione di Azure AD Library (ADAL) e le voci dell'entità servizio in ~/.azure/accessToken.json. Le versioni più recenti dell'interfaccia della riga di comando di Azure usano MSAL e non generano accessTokens.jsonpiù . Qualsiasi flusso di lavoro esistente a seconda accessTokens.json del funzionamento non funziona più.

Le voci della cache dei token MSAL e dell'entità servizio vengono salvate come file crittografati in Windows e file di testo non crittografato in Linux e macOS.

Importante

Quando si usa l'interfaccia della riga di comando di Azure in una pipeline come Azure DevOps, assicurarsi che tutte le attività e le fasi usino versioni dell'interfaccia della riga di comando di Azure precedenti alla versione 2.30.0 per l'interfaccia della riga di comando di Azure basata su MSAL. L'interfaccia della riga di comando di Azure 2.30.0 non è compatibile con le versioni precedenti e genera un errore durante l'uso delle versioni precedenti alla versione 2.30.0.

Alternative da considerare

Alternative che è possibile prendere in considerazione per la stabilità:

Chiamata az account get-access-token

È possibile chiamare az account get-access-token manualmente in un terminale o usare un sottoprocesso per chiamarlo da un altro linguaggio di programmazione. Per impostazione predefinita, il token di accesso restituito è per Azure Resource Manager (ARM) e la sottoscrizione/tenant predefinita visualizzata in 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>"

Per altre informazioni sui token di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.

uso di AzureCliCredential

AzureCliCredential è un tipo di credenziale in tutti gli SDK del linguaggio esistenti. Usa il sottoprocesso per chiamare az account get-access-token per ottenere un token di accesso per l'account connesso corrente.

Vedi anche