Share via


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

Il metodo di autenticazione predefinito dell'interfaccia della riga di comando di Azure per gli account di accesso usa un Web browser e un token di accesso per accedere.

  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 del codice del dispositivo e indica di aprire una pagina del browser in https://aka.ms/devicelogin. 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. Usare questo metodo di autenticazione solo per apprendere i comandi dell'interfaccia della riga di comando di Azure. Le applicazioni a livello di produzione devono usare un'entità servizio o un'identità gestita.

Questo approccio non funziona con gli account Microsoft o gli account in cui è abilitata l'autenticazione a due fattori. Viene visualizzato un messaggio di autenticazione interattiva.

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

Importante

Se si vuole evitare che la password venga visualizzata nella console e si usa az login in modo interattivo, usare il comando read -s 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 tenant per l'accesso con l'argomento --tenant. Il valore di questo argomento può essere un dominio .onmicrosoft.com oppure l'ID oggetto di Azure per il tenant. I metodi di accesso interattivi e della riga di comando funzionano con --tenant.

az login --tenant 00000000-0000-0000-0000-000000000000

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

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 altre informazioni sulla "piega", vedere 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

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.

Vedi anche