Hantera Azure-prenumerationer med Azure CLI

Azure CLI hjälper dig att hantera din Azure-prenumeration, skapa hanteringsgrupper och låsa prenumerationer. Du kan ha flera prenumerationer i Azure. Du kan vara en del av mer än en organisation eller så kan din organisation dela upp åtkomsten till vissa resurser mellan grupper. Azure CLI stöder val av en prenumeration både globalt och per kommando.

Detaljerad information om prenumerationer, fakturering och kostnadshantering finns i dokumentationen om fakturering och kostnadshantering.

Terminologi

En klientorganisation är en instans av Microsoft Entra-ID där information om en enskild organisation finns. En organisation för flera innehavare är en organisation som har mer än en instans av Microsoft Entra-ID. En klientorganisation har en eller flera prenumerationer och användare.

Användare är de konton som loggar in på Azure för att skapa, hantera och använda resurser. En användare kan ha åtkomst till flera klienter och prenumerationer.

Prenumerationer är avtal med Microsoft om att använda molntjänster, inklusive Azure. Varje resurs är associerad med en prenumeration. Prenumerationer innehåller resursgrupper.

En Azure-resursgrupp är en container som innehåller relaterade resurser för en Azure-lösning. Information om hur du hanterar resursgrupper i din prenumeration finns i Hantera Azure-resursgrupper med Azure CLI

Hämta den aktiva klientorganisationen

Använd listan az account tenant eller az account show för att hämta det aktiva klientorganisations-ID:t.

az account tenant list

az account show

Ändra den aktiva klientorganisationen

Om du vill byta klientorganisation har du två alternativ.

  • Ändra den aktiva prenumerationen.

  • Logga in som användare i önskad klientorganisation. Använd az login för att ändra den aktiva klientorganisationen och uppdatera prenumerationslistan som du tillhör.

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

    Om din organisation kräver multifaktorautentisering kan du få det här felet när du använder 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...
    

    Med hjälp av det alternativa az login --tenant kommandot uppmanas du att öppna en HTTPS-sida och ange den angivna koden. Du kan sedan använda multifaktorautentisering och logga in. Mer information om inloggningsalternativ med azure CLI finns i Logga in med Azure CLI.

Hämta prenumerationsinformation

De flesta Azure CLI-kommandon fungerar inom en prenumeration. Du kan ange vilken prenumeration du vill arbeta i med hjälp av parametern --subscription i kommandot . Om du inte anger en prenumeration använder kommandot din aktuella aktiva prenumeration.

Om du vill se den prenumeration som du använder eller för att hämta en lista över tillgängliga prenumerationer kör du kommandot az account show eller az account list . Gå till Lär dig hur du använder Bash med Azure CLI för att se fler exempel på hur du använder dessa kommandon.

Här är exempel som visar hur du hämtar prenumerationsinformation:

# 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

Du kan också lagra prenumerationsinformation i en variabel för användning i ett skript.

# 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

Dricks

Parametern --output är en global parameter som är tillgänglig för alla kommandon. Tabellvärdet visar utdata i ett eget format. Mer information finns i Utdataformat för Azure CLI-kommandon.

Ändra den aktiva prenumerationen

Azure-prenumerationer har både ett namn och ett ID. Du kan växla till en annan prenumeration med az account set som anger önskat prenumerations-ID eller namn.

# 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"

Du kan också ändra din prenumeration med hjälp av en variabel. Här är ett exempel:

# 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

Om du ändrar till en prenumeration som finns i en annan klientorganisation kommer du också att ändra den aktiva klientorganisationen. Information om hur du lägger till en ny prenumeration i din Microsoft Entra-klientorganisation finns i Associera eller lägga till en Azure-prenumeration i din Microsoft Entra-klientorganisation.

Om du fick en "Prenumerationen på ... finns inte..." fel finns i Felsökning för möjliga lösningar.

Skapa Azure-hanteringsgrupper

Azure-hanteringsgrupper innehåller prenumerationer. Hanteringsgrupper är ett sätt att hantera åtkomst, principer och efterlevnad för dessa prenumerationer. Mer information finns i Vad är Azure-hanteringsgrupper.

Använd kommandona az account management-group för att skapa och hantera Azure-hanteringsgrupper.

Du kan skapa en hanteringsgrupp för flera av dina prenumerationer med kommandot az account management-group create :

az account management-group create --name Contoso01

Om du vill se alla dina hanteringsgrupper använder du kommandot az account management-group list :

az account management-group list

Lägg till prenumerationer i den nya gruppen med hjälp av kommandot 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"

Om du vill ta bort en prenumeration använder du kommandot az account management-group subscription remove :

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

Om du vill ta bort en hanteringsgrupp kör du kommandot az account management-group delete :

az account management-group delete --name Contoso01

Om du tar bort en prenumeration eller tar bort en hanteringsgrupp tas inte en prenumeration bort eller inaktiveras.

Ange ett Azure-prenumerationslås

Som administratör kan du behöva låsa en prenumeration för att förhindra att användare tar bort eller ändrar den. Mer information finns i Låsa resurser för att förhindra oväntade ändringar.

I Azure CLI använder du az account lock-kommandona . Kommandot az account lock create kan till exempel hindra användare från att ta bort en prenumeration:

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

Kommentar

Du måste ha contributor behörighet för en prenumeration för att skapa eller ändra lås.

Om du vill se de aktuella låsen för din prenumeration använder du kommandot az account lock list :

az account lock list --output table

Om du gör ett konto skrivskyddat liknar resultatet att tilldela behörigheter för rollen Läsare till alla användare. Mer information om hur du anger behörigheter för enskilda användare och roller finns i Lägga till eller ta bort Azure-rolltilldelningar med Hjälp av Azure CLI.

Om du vill se information om ett lås använder du kommandot az account lock show :

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

Du kan ta bort ett lås med kommandot az account lock delete :

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

Felsökning

Prenumerationen finns inte

Förutom ett typografiskt fel kan du få det här felet när det finns ett problem med tidsinställningen för behörigheter. Om du till exempel har fått behörighet till en ny prenumeration medan det aktuella terminalfönstret är öppet kan det här felet inträffa. Lösningen är att antingen stänga och öppna terminalfönstret igen eller använda az logout för az login att uppdatera listan över tillgängliga prenumerationer.

Här är ett skript som hjälper dig att hitta och ändra en prenumeration.

# 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

Se även