Condividi tramite


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 costi, vedere la documentazione relativa alla fatturazione e alla gestione dei costi .

Terminologia

Un tenant di è un'istanza dell'ID Entra Di Microsoft in cui si trovano le informazioni su una singola organizzazione. Un'organizzazione multi-tenant è un'organizzazione che dispone di 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 l'uso dei 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 locatario attivo

Usare az account tenant list o az account show per ottenere l'ID del 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 abbonamenti a cui appartieni.

    # sign in as a different user
    az login --user <[email protected]> --password <myPassword>
    
    # sign in with a different tenant
    az login --tenant <myTenantID>
    

    Se l'organizzazione richiede l'autenticazione a più fattori, è possibile che questo errore venga visualizzato 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...
    

    Utilizzando il comando alternativo az login --tenant, si viene richiesti di aprire una pagina HTTPS e inserire 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 della CLI di Azure agisce all'interno di una sottoscrizione. È possibile specificare la sottoscrizione in cui lavorare usando il parametro --subscription 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 Informazioni sull'uso di 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 intuitivo. Per altre informazioni, vedere Formati di output per i comandi dell'interfaccia della riga di comando di Azure.

Modificare 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 o il nome della sottoscrizione 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, anche il tenant attivo verrà modificato. 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 errore "La sottoscrizione di ... non esiste...", vedere Risoluzione dei Problemi per le possibili soluzioni.

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, tra cui az account set, fino a quando non si esegue di nuovo l'accesso.

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 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 seguente comando az account management-group list:

az account management-group list

Aggiungere abbonamenti al tuo nuovo gruppo di gestione 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, utilizzare 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, usa 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

Annotazioni

È necessario avere autorizzazioni contributor su una sottoscrizione per creare o modificare i blocchi.

Per visualizzare i blocchi attuali della sottoscrizione, usa 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 usando l'interfaccia della riga di comando di Azure.

Per visualizzare i dettagli relativi a un blocco, utilizzare 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 quindi az login per 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

# You can also clear your cache to refresh the
#    available subscription list
az account clear
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

Vedere anche