Condividi tramite


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

Gli accessi interattivi ad Azure offrono un'esperienza utente più intuitiva e flessibile. L'accesso interattivo con l'interfaccia della riga di comando di Azure consente agli utenti di eseguire l'autenticazione in Azure direttamente tramite il comando az login , utile per le attività di gestione ad hoc e per gli ambienti che richiedono l'accesso manuale, ad esempio quelli con multi-factor authentication (MFA). Questo metodo semplifica l'accesso per il test, l'apprendimento e la gestione on-the-fly senza dover preconfigurare le entità servizio o altri metodi di autenticazione non interattivo.

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 Gestione account Web (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 problem, please 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. In questo modo è possibile premere INVIO per selezionare la sottoscrizione predefinita.

I comandi vengono eseguiti sulla sottoscrizione selezionata per impostazione predefinita. È comunque possibile 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) è ora il metodo di autenticazione predefinito in Windows. WAM è un componente windows 10+ che funge da broker di autenticazione. Un gestore di autenticazione è un'applicazione eseguita nel computer di un utente che 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 sul 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, l'interfaccia della riga di comando di Azure è un metodo di autenticazione basato su browser quando si verifica una delle condizioni seguenti:

  • Il sistema operativo è Mac o Linux 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.

Seguire questa procedura per accedere con un browser:

  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.

In selezionare gli ambienti e a partire dall'interfaccia della riga di comando di Azure versione 2.61.0, è prima necessario disabilitare 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

Disconnessione

Per rimuovere l'accesso ad 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 . Sarà 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 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

Bordo. Aggiungere localhost in "Elimina criteri di sicurezza del dominio" e selezionare Elimina.

Vedi anche