Come gestire le sottoscrizioni di Azure con l'interfaccia della riga di comando di Azure

L'interfaccia della riga di comando di Azure consente di gestire la sottoscrizione di Azure, creare gruppi di gestione e bloccare le sottoscrizioni. In Azure potrebbero essere presenti più sottoscrizioni. È possibile far parte di più di un'organizzazione o l'organizzazione potrebbe dividere l'accesso a determinate risorse tra gruppi. L'interfaccia della riga di comando di Azure supporta la selezione di una sottoscrizione sia a livello globale che per ogni comando.

Per informazioni dettagliate su sottoscrizioni, fatturazione e gestione dei cosi, vedere la documentazione su fatturazione e gestione dei costi.

Terminologia

Un tenant è un'istanza di Microsoft Entra ID in cui risiedono informazioni su una singola organizzazione. Un'organizzazione multi-tenant è un'organizzazione con più istanze di Microsoft Entra ID. Un tenant ha una o più sottoscrizioni e utenti.

Gli utenti sono gli account che accedono ad Azure per creare, gestire e usare le risorse. Un utente può avere accesso a più tenant e sottoscrizioni.

Le sottoscrizioni sono i contratti con Microsoft per usare i servizi cloud, tra cui Azure. Ogni risorsa è associata a una sottoscrizione. Le sottoscrizioni contengono gruppi di risorse.

Un gruppo di risorse di Azure è un contenitore che contiene risorse correlate per una soluzione di Azure. Per informazioni su come gestire i gruppi di risorse all'interno della sottoscrizione, vedere Come gestire i gruppi di risorse di Azure con l'interfaccia della riga di comando di Azure

Ottenere il tenant attivo

Usare az account tenant list o az account show per ottenere l'ID tenant attivo.

az account tenant list

az account show

Modificare il tenant attivo

Per cambiare tenant, sono disponibili due opzioni.

  • Modificare la sottoscrizione attiva.

  • Accedere come utente all'interno del tenant desiderato. Usare az login per modificare il tenant attivo e aggiornare l'elenco di sottoscrizioni a cui si appartiene.

    # sign in as a different user
    az login --user <myAlias@myCompany.com> --password <myPassword>
    
    # sign in with a different tenant
    az login --tenant <myTenantID>
    

    Se l'organizzazione richiede l'autenticazione a più fattori, è possibile che venga visualizzato questo errore quando si usa az login --user:

    Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access...
    

    Usando i prompt dei comandi alternativi az login --tenant è possibile aprire una pagina HTTPS e immettere il codice fornito. È quindi possibile usare l'autenticazione a più fattori e accedere correttamente. Per altre informazioni sulle opzioni di accesso con l'interfaccia della riga di comando di Azure, vedere Accedere con l'interfaccia della riga di comando di Azure.

Ottenere informazioni sulla sottoscrizione

La maggior parte dei comandi dell'interfaccia della riga di comando di Azure agisce all'interno di una sottoscrizione. È possibile specificare la sottoscrizione in cui lavorare usando il --subscription parametro nel comando. Se non si specifica una sottoscrizione, il comando usa la sottoscrizione attiva corrente.

Per visualizzare la sottoscrizione attualmente in uso o per ottenere un elenco delle sottoscrizioni disponibili, eseguire il comando az account show o az account list . Passare a Learn to use Bash with the Azure CLI (Informazioni su come usare Bash con l'interfaccia della riga di comando di Azure) per visualizzare altri esempi di modi per usare questi comandi.

Ecco alcuni esempi che illustrano come ottenere informazioni sulla sottoscrizione:

# get the current default subscription using show
az account show --output table

# get the current default subscription using list
az account list --query "[?isDefault]"

# get a subscription that contains search words or phrases
az account list --query "[?contains(name,'search phrase')].{SubscriptionName:name, SubscriptionID:id, TenantID:tenantId}" --output table

È anche possibile archiviare le informazioni sulla sottoscrizione in una variabile da usare all'interno di uno script.

# store the default subscription in a variable
subscriptionId="$(az account list --query "[?isDefault].id" --output tsv)"
echo $subscriptionId

# store a subscription of certain name in a variable
subscriptionId="$(az account list --query "[?name=='my case sensitive subscription full name'].id" --output tsv)"
echo $subscriptionId

Suggerimento

Il --output parametro è un parametro globale, disponibile per tutti i comandi. Il valore della tabella presenta l'output in un formato descrittivo. Per altre informazioni, vedere Formati di output per i comandi dell'interfaccia della riga di comando di Azure.

Cambiare la sottoscrizione attiva

Le sottoscrizioni di Azure hanno sia un nome che un ID. È possibile passare a una sottoscrizione diversa usando az account set specificando l'ID sottoscrizione o il nome desiderati.

# change the active subscription using the subscription name
az account set --subscription "My Demos"

# change the active subscription using the subscription ID
az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

È anche possibile modificare la sottoscrizione usando una variabile. Ecco un esempio:

# change the active subscription using a variable
subscriptionId="$(az account list --query "[?name=='my case sensitive subscription full name'].id" --output tsv)"
az account set --subscription $subscriptionId

Se si passa a una sottoscrizione che si trova in un tenant diverso, si modificherà anche il tenant attivo. Per informazioni su come aggiungere una nuova sottoscrizione al tenant di Microsoft Entra, vedere Associare o aggiungere una sottoscrizione di Azure al tenant di Microsoft Entra.

Se si riceve un messaggio "La sottoscrizione di ... non esiste..." errore, vedere Risoluzione dei problemi per le possibili soluzioni.

Creare gruppi di gestione di Azure

I gruppi di gestione di Azure contengono sottoscrizioni. I gruppi di gestione consentono di gestire l'accesso, i criteri e la conformità per tali sottoscrizioni. Per altre informazioni, vedere Che cosa sono i gruppi di gestione di Azure.

Usare i comandi az account management-group per creare e gestire i gruppi di gestione di Azure.

È possibile creare un gruppo di gestione per diverse sottoscrizioni usando il comando az account management-group create :

az account management-group create --name Contoso01

Per visualizzare tutti i gruppi di gestione, usare il comando az account management-group list :

az account management-group list

Aggiungere sottoscrizioni al nuovo gruppo usando il comando az account management-group subscription add :

az account management-group subscription add --name Contoso01 --subscription "My Demos"
az account management-group subscription add --name Contoso01 --subscription "My Second Demos"

Per rimuovere una sottoscrizione, usare il comando az account management-group subscription remove :

az account management-group subscription remove --name Contoso01 --subscription "My Demos"

Per rimuovere un gruppo di gestione, eseguire il comando az account management-group delete :

az account management-group delete --name Contoso01

La rimozione di una sottoscrizione o l'eliminazione di un gruppo di gestione non comporta l'eliminazione o la disattivazione di una sottoscrizione.

Impostare un blocco della sottoscrizione di Azure

In qualità di amministratore, potrebbe essere necessario bloccare una sottoscrizione per impedire agli utenti di eliminarla o modificarla. Per altre informazioni, vedere Bloccare le risorse per impedire modifiche impreviste.

Nell'interfaccia della riga di comando di Azure usare i comandi az account lock . Ad esempio, il comando az account lock create può impedire agli utenti di eliminare una sottoscrizione:

az account lock create --name "Cannot delete subscription" --lock-type CanNotDelete

Nota

È necessario disporre contributor delle autorizzazioni per una sottoscrizione per creare o modificare i blocchi.

Per visualizzare i blocchi correnti nella sottoscrizione, usare il comando az account lock list :

az account lock list --output table

Se si imposta un account di sola lettura, il risultato è simile all'assegnazione delle autorizzazioni del ruolo Lettore a tutti gli utenti. Per informazioni sull'impostazione delle autorizzazioni per singoli utenti e ruoli, vedere Aggiungere o rimuovere assegnazioni di ruolo di Azure tramite l'interfaccia della riga di comando di Azure.

Per visualizzare i dettagli per un blocco, usare il comando az account lock show :

az account lock show --name "Cannot delete subscription"

È possibile rimuovere un blocco usando il comando az account lock delete :

az account lock delete --name "Cannot delete subscription"

Risoluzione dei problemi

La sottoscrizione non esiste

Oltre a un errore tipografico, è possibile ricevere questo errore quando si verifica un problema di temporizzazione delle autorizzazioni. Ad esempio, se sono state concesse le autorizzazioni per una nuova sottoscrizione mentre la finestra del terminale corrente è aperta, questo errore può verificarsi. La soluzione consiste nel chiudere e riaprire la finestra del terminale oppure usare az logout per az login aggiornare l'elenco delle sottoscrizioni disponibili.

Ecco uno script che consente di trovare e modificare una sottoscrizione.

# See what subscription you are currently using.
az account show

# Get a list of available subscriptions.
az account list --output table

# If the subscription you are seeking is not in the list
#   close and reopen your terminal window,
#   or logout and then sign in again.
az logout
az login

# Did your available subscription list change?
az account list --output table

# If the subscription you are seeking is still not in the list,
#    contact your system administrator. You cannot change your
#    subscription to an ID that is not in the list.

# If the subscription you are seeking is now in the list,
#   change your subscription.
az account set --subscription 00000000-0000-0000-0000-00000000000

Vedi anche