Condividi tramite


Accedere ad Azure in modo interattivo usando l'interfaccia della riga di comando di Azure

Gli accessi interattivi ad Azure offrono un'esperienza utente più intuitiva e flessibile. Con l'interfaccia della riga di comando di Azure è possibile eseguire l'autenticazione in Azure direttamente tramite il comando az login . Questo comando è utile per le attività di gestione ad hoc e per gli ambienti che richiedono l'accesso manuale, ad esempio scenari con autenticazione a più fattori (MFA). Questo metodo semplifica l'accesso per il test degli script, l'apprendimento e la gestione "al volo", senza dover preconfigurare le entità servizio o altri metodi di autenticazione non interattivi.

Importante

A partire da settembre 2025, Microsoft richiederà l'autenticazione a più fattori per l'interfaccia della riga di comando di Azure e altri strumenti da riga di comando. Questa modifica si applica solo alle identità utente di Microsoft Entra ID e non influisce sulle identità del carico di lavoro, ad esempio entità servizio o identità gestite.

Se si usa az login con un nome utente e una password per autenticare script o flussi di lavoro automatizzati, è ora possibile eseguire la migrazione a un'identità del carico di lavoro. Per altre informazioni, vedere L'impatto dell'autenticazione a più fattori nell'interfaccia della riga di comando di Azure negli scenari di automazione.

Prerequisiti

Accesso interattivo

Per accedere in modo interattivo, usare il comando az login . A partire dalla versione 2.61.0 dell'interfaccia della riga di comando di Azure, l'interfaccia della riga di comando di Azure usa Web Account Manager (WAM) in Windows e un account di accesso basato su browser in Linux e macOS per impostazione predefinita.

az login

Selettore di sottoscrizione

A partire dalla versione 2.61.0 dell'interfaccia della riga di comando di Azure, se si ha accesso a più sottoscrizioni, viene richiesto di selezionare una sottoscrizione di Azure al momento dell'accesso, come illustrato nell'esempio seguente.

Retrieving subscriptions for the selection...

[Tenant and subscription selection]

No    Subscription name                     Subscription ID                           Tenant name
----  ------------------------------------  ----------------------------------------  --------------
[1]   Facility Services Subscription        00000000-0000-0000-0000-000000000000      Contoso
[2]   Finance Department Subscription       00000000-0000-0000-0000-000000000000      Contoso
[3]   Human Resources Subscription          00000000-0000-0000-0000-000000000000      Contoso
[4] * Information Technology Subscription   00000000-0000-0000-0000-000000000000      Contoso

The default is marked with an *; the default tenant is 'Contoso' and subscription is
'Information Technology Subscription' (00000000-0000-0000-0000-000000000000).

Select a subscription and tenant (Type a number or Enter for no changes): 2

Tenant: Contoso
Subscription: Finance Department Subscription (00000000-0000-0000-0000-000000000000)

[Announcements] With the new Azure CLI login experience, you can select the subscription you want to
use more easily. Learn more about it and its configuration at
https://go.microsoft.com/fwlink/?linkid=2271236

If you encounter any problems, open an issue at https://aka.ms/azclibug

Al successivo accesso, il tenant e la sottoscrizione selezionati in precedenza vengono contrassegnati come predefiniti con un asterisco (*) accanto al relativo numero. Questo contrassegno consente di premere INVIO per selezionare la sottoscrizione predefinita.

Per impostazione predefinita, i comandi vengono eseguiti sulla sottoscrizione selezionata. Usare az account set per modificare la sottoscrizione da una riga di comando in qualsiasi momento. Per altre informazioni, vedere Come gestire le sottoscrizioni di Azure con l'interfaccia della riga di comando di Azure.

Ecco alcune linee guida sul selettore di sottoscrizione da tenere presente:

  • Il selettore di sottoscrizione è disponibile solo in Windows, Linux o macOS a 64 bit.
  • Il selettore di sottoscrizione è disponibile solo quando si usa il az login comando .
  • Non viene richiesto di selezionare una sottoscrizione quando si esegue l'accesso con un'entità servizio o un'identità gestita.

Se si vuole disabilitare la funzionalità del selettore di sottoscrizione, impostare la proprietà di configurazione core.login_experience_v2 su off.

az config set core.login_experience_v2=off
az login

Accedere con Web Account Manager (WAM) in Windows

A partire dalla versione 2.61.0 dell'interfaccia della riga di comando di Azure, Web Account Manager (WAM) è il metodo di autenticazione predefinito in Windows. WAM è un componente windows 10+ che funge da broker di autenticazione. Un broker di autenticazione è un'applicazione eseguita nel computer di un utente. Gestisce gli handshake di autenticazione e la manutenzione dei token per gli account connessi.

L'uso di WAM offre diversi vantaggi:

Se si verifica un problema e si vuole ripristinare il metodo di autenticazione basato su browser precedente, impostare la proprietà di configurazione core.enable_broker_on_windows su false.

az account clear
az config set core.enable_broker_on_windows=false
az login

WAM è disponibile in Windows 10 e versioni successive e in Windows Server 2019 e versioni successive.

Accedere con un browser

Per impostazione predefinita, la CLI di Azure utilizza un metodo di autenticazione basato su browser quando una delle condizioni seguenti è vera:

  • Il sistema operativo (OS) è Linux, macOS o il sistema operativo Windows è precedente a Windows 10 o Windows Server 2019.
  • La core.enable_broker_on_windows proprietà di configurazione è impostata su false.

Per accedere con un browser, seguire questa procedura:

  1. Eseguire il comando az login.

    az login
    

    Se l'interfaccia della riga di comando di Azure può aprire il browser predefinito, avvia il flusso del codice di autorizzazione e apre il browser predefinito per caricare una pagina di accesso di Azure.

    In caso contrario, avvia il flusso di codice del dispositivo e ti istruisce ad aprire una pagina del browser su . Immettere quindi il codice visualizzato nel terminale.

    Se non è disponibile alcun Web browser o l'apertura del Web browser non riesce, è possibile forzare il flusso del codice del dispositivo con az login --use-device-code.

  2. Accedere con le credenziali dell'account nel browser.

Accedere con le credenziali dalla riga di comando

Specificare le credenziali utente di Azure nella riga di comando. È consigliabile usare questo metodo di autenticazione solo quando si usa l'interfaccia della riga di comando di Azure in modo interattivo. Per le applicazioni a livello di produzione, usare un'entità servizio o un'identità gestita.

Questo approccio non funziona con account Microsoft o con account che hanno l'autenticazione a più fattori (MFA) abilitata. Viene visualizzato un messaggio di autenticazione interattiva .

az login --user <username> --password <password>

Importante

Per evitare di visualizzare la password nel terminale quando si usa az login in modo interattivo, usare il read -s comando in Bash.

read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS

In PowerShell usare il cmdlet Get-Credential.

$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password

Accedere con un tenant diverso

È possibile selezionare un locatario per accedere utilizzando l'argomento --tenant. Il valore di questo argomento può essere un .onmicrosoft.com dominio o l'ID oggetto di Azure per il tenant. I metodi di accesso interattivi e della riga di comando funzionano con --tenant.

In ambienti selezionati e a partire dall'interfaccia della riga di comando di Azure versione 2.61.0, è necessario disabilitare prima il selettore di sottoscrizione impostando la core.login_experience_v2 proprietà di configurazione su off.

# disable the subscription selector (v. 2.61.0 and up)
az config set core.login_experience_v2=off

# login with a tenant ID
az login --tenant 00000000-0000-0000-0000-000000000000

Per riabilitare il selettore di sottoscrizione, eseguire az config set core.login_experience_v2=on. Per altre informazioni sul selettore di sottoscrizione, vedere Accesso interattivo.

Dopo l'accesso, se si vuole modificare il tenant attivo, vedere Come modificare il tenant attivo.

Accedere con --scope

az login --scope https://management.core.windows.net//.default

Disconnettersi

Per disconnettersi da Azure, usare il comando az logout .

az logout

Cancellare la cache delle sottoscrizioni

Per aggiornare l'elenco di sottoscrizioni, usare il comando az account clear . È necessario eseguire di nuovo l'accesso per visualizzare un elenco aggiornato.

az account clear

az login

La cancellazione della cache delle sottoscrizioni non è tecnicamente lo stesso processo di disconnessione da Azure. Tuttavia, quando si cancella la cache della sottoscrizione, non è possibile eseguire i comandi dell'interfaccia della riga di comando di Azure, incluso az account set, fino a quando non si esegue di nuovo l'accesso.

Token di aggiornamento

Quando si accede con un account utente, l'interfaccia della riga di comando di Azure genera e archivia un token di aggiornamento dell'autenticazione. Poiché i token di accesso sono validi solo per un breve periodo di tempo, viene emesso un token di aggiornamento contemporaneamente al token di accesso. L'applicazione client può quindi scambiare questo token di aggiornamento con un nuovo token di accesso, se necessario. Per altre informazioni sulla durata e la scadenza dei token, vedere Aggiornare i token in Microsoft Identity Platform.

Usare il comando az account get-access-token per recuperare il token di accesso:

# 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>"

Ecco alcune informazioni aggiuntive sulle date di scadenza del token di accesso:

  • Le date di scadenza vengono aggiornate in un formato supportato dall'interfaccia della riga di comando di Azure basata su MSAL.
  • A partire dall'interfaccia della riga di comando di Azure 2.54.0, az account get-access-token restituisce la expires_on proprietà insieme alla expiresOn proprietà per l'ora di scadenza del token.
  • La expires_on proprietà rappresenta un timestamp POSIX (Portable Operating System Interface) mentre la expiresOn proprietà rappresenta un valore datetime locale.
  • La expiresOn proprietà non esprime "fold" quando termina l'ora legale. Ciò può causare problemi nei paesi o nelle aree geografiche in cui viene adottata l'ora legale. Per ulteriori informazioni su "fold", consultare PEP 495 – Disambiguazione ora locale.
  • È consigliabile che le applicazioni downstream usino la expires_on proprietà , perché usa il codice UTC (Universal Time Code).

Output di esempio:

{
  "accessToken": "...",
  "expiresOn": "2023-10-31 21:59:10.000000",
  "expires_on": 1698760750,
  "subscription": "...",
  "tenant": "...",
  "tokenType": "Bearer"
}

Risoluzione dei problemi

La connessione per questo sito non è sicura

Quando il browser predefinito è Microsoft Edge, è possibile che si verifichi l'errore seguente quando si tenta di accedere ad Azure in modo interattivo con az login: "La connessione per questo sito non è sicura". Per risolvere questo problema, visitare edge://net-internals/#hsts in Microsoft Edge. Aggiungere localhost in "Elimina criteri di sicurezza del dominio" e selezionare Elimina.

È necessaria l'autenticazione interattiva

Questo messaggio viene visualizzato quando si usa un'identità utente per l'autenticazione in Azure ed è necessaria l'autenticazione a più fattori. La soluzione consiste nell'usare un'identità del carico di lavoro come un'entità servizio o un'identità gestita per l'autenticazione in Azure.

Autenticazione non riuscita per il tenant

Questo errore si verifica quando una singola identità utente Entra appartiene a più tenant di Azure. L'Azure CLI scorre tra i tenant a cui si ha accesso e tenta di eseguire l'autenticazione. Per accedere con il tenant preferito, usare il --tenant parametro . Per altre informazioni, vedere Accedere con un tenant diverso.

Passaggi successivi