Accedere tramite l'interfaccia della riga di comando di Azure

Esistono diversi tipi di autenticazione per l'interfaccia della riga di comando di Azure Command-Line, quindi come si accede? Il modo più semplice per iniziare è con Azure Cloud Shell, che esegue automaticamente l'accesso. A livello locale è possibile accedere in modo interattivo tramite il browser con il comando az login. Quando si scrivono script, l'approccio consigliato è l'uso di entità servizio. Concedendo a un'entità servizio solo le autorizzazioni necessarie, è possibile preservare la sicurezza dell'automazione.

Nessuna delle informazioni di accesso viene archiviata dall'interfaccia della riga di comando di Azure. Azure genera e archivia invece un token di aggiornamento di autenticazione. A partire da agosto 2018, il token viene revocato dopo 90 giorni di inattività, ma questo valore può essere modificato da Microsoft o dall'amministratore del tenant. Una volta revocato il token, viene visualizzato un messaggio dall'interfaccia della riga di comando che informa che è necessario eseguire di nuovo l'accesso.

Dopo l'accesso, i comandi dell'interfaccia della riga di comando vengono eseguiti sulla sottoscrizione predefinita. Se si hanno più sottoscrizioni, è possibile modificare la sottoscrizione predefinita.

Nota

A seconda del metodo di accesso, il tenant potrebbe avere criteri di accesso condizionale che limitano l'accesso a determinate risorse.

Accedere in modo interattivo

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 login.

    az login
    

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

    In caso contrario, avvierà il flusso del codice del dispositivo e indicherà di aprire una pagina del browser all'indirizzo https://aka.ms/devicelogin e immettere il codice visualizzato nel terminale.

    Se non è disponibile alcun Web browser o non è possibile aprire il Web browser, è 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.

Nota

Questo approccio non funziona con gli account Microsoft o gli account in cui è abilitata l'autenticazione a due fattori.

az login -u <username> -p <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'entità servizio

Le entità servizio sono account non associati a un utente specifico e per i quali è possibile assegnare autorizzazioni tramite ruoli predefiniti. L'autenticazione con un'entità servizio rappresenta il modo ottimale per la scrittura di script o programmi sicuri, consentendo di applicare sia limitazioni delle autorizzazioni che informazioni di credenziali statiche archiviate nell'ambiente locale. Per altre informazioni sulle entità servizio, vedere Creare un'entità servizio di Azure con l'interfaccia della riga di comando di Azure.

Per accedere con un'entità servizio è necessario:

  • L'URL o il nome associato all'entità servizio
  • La password dell'entità servizio o il certificato X509 usato per creare l'entità servizio in formato PEM
  • Il tenant associato all'entità servizio, sotto forma di dominio .onmicrosoft.com o di ID oggetto di Azure

Nota

Un CERTIFICATO deve essere aggiunto alla CHIAVE PRIVATA all'interno di un file PEM. Per un esempio di formato di file PEM, vedere Autenticazione basata su certificato.

Importante

Se l'entità servizio usa un certificato archiviato in Key Vault, la chiave privata del certificato deve essere disponibile senza accedere ad Azure. Per recuperare il certificato per az login, vedere Recuperare il certificato da Key Vault.

az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>

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 --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>

In PowerShell usare il cmdlet Get-Credential.

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>

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. Con --tenant è possibile usare sia l'accesso interattivo che l'accesso da riga di comando.

az login --tenant <tenant>

Accedere con un'identità gestita

Per le risorse di Azure configurate per le identità gestite, è possibile effettuare l'accesso usando l'identità gestita. L'accesso con l'identità della risorsa viene eseguito tramite il flag --identity.

az login --identity

Se la risorsa ha più identità gestite assegnate dall'utente e nessuna identità assegnata dal sistema, è necessario specificare l'ID client o l'ID oggetto o l'ID risorsa dell'identità gestita assegnata dall'utente con --username per l'accesso.

az login --identity --username <client_id|object_id|resource_id>

Per altre informazioni sulle identità gestite per le risorse di Azure, vedere Configurare le identità gestite per le risorse di Azure e Usare le identità gestite per le risorse di Azure per l'accesso.

Vedi anche