Správa předplatných Azure pomocí Azure CLI

Azure CLI vám pomůže se správou předplatného Azure, vytvářením skupin pro správu a uzamčením předplatných. V Rámci Azure můžete mít více předplatných. Můžete být součástí více než jedné organizace nebo může vaše organizace rozdělit přístup k určitým prostředkům napříč seskupeními. Azure CLI podporuje výběr předplatného globálně i pro jednotlivé příkazy.

Podrobné informace o předplatných, fakturaci a správě nákladů najdete v dokumentaci ke správě nákladů a fakturaci.

Terminologie

Tenant je instance ID Microsoft Entra, ve kterém se nacházejí informace o jedné organizaci. Organizace s více tenanty je organizace , která má více než jednu instanci ID Microsoft Entra. Tenant má jedno nebo více předplatných a uživatelů.

Uživatelé jsou ty účty, které se přihlašují k Azure a vytvářejí, zřizují a používají prostředky. Uživatel může mít přístup k více tenantům a předplatným.

Předplatná jsou smlouvami s Microsoftem k používání cloudových služeb, včetně Azure. Každý prostředek je přidružený k předplatnému. Předplatná obsahují skupiny prostředků.

Skupina prostředků Azure je kontejner, který obsahuje související prostředky pro řešení Azure. Informace o správě skupin prostředků v rámci předplatného najdete v tématu Správa skupin prostředků Azure pomocí Azure CLI.

Získání aktivního tenanta

Pomocí příkazu az account tenant list nebo az account show získejte id aktivního tenanta.

az account tenant list

az account show

Změna aktivního tenanta

Pokud chcete přepnout tenanty, máte dvě možnosti.

  • Změňte aktivní předplatné.

  • Přihlaste se jako uživatel v požadovaném tenantovi. Pomocí příkazu az login můžete změnit aktivního tenanta a aktualizovat seznam předplatných, do kterého patříte.

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

    Pokud vaše organizace vyžaduje vícefaktorové ověřování, může se při použití az login --userzobrazit tato chyba:

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

    Pomocí alternativního az login --tenant příkazového řádku otevřete stránku HTTPS a zadejte zadaný kód. Pak můžete použít vícefaktorové ověřování a úspěšně se přihlásit. Další informace o možnostech přihlášení pomocí Azure CLI najdete v tématu Přihlášení pomocí Azure CLI.

Získání informací o předplatném

Většina příkazů Azure CLI funguje v rámci předplatného. Pomocí parametru --subscription v příkazu můžete určit, ve kterém předplatném se má pracovat. Pokud nezadáte předplatné, použije příkaz aktuální aktivní předplatné.

Pokud chcete zobrazit předplatné, které aktuálně používáte nebo chcete získat seznam dostupných předplatných, spusťte příkaz az account show nebo az account list . Další příklady použití těchto příkazů najdete v tématu Naučte se používat Bash s Azure CLI .

Tady jsou příklady, jak získat informace o předplatném:

# 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

Informace o předplatném můžete také uložit do proměnné pro použití ve skriptu.

# 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

Tip

Parametr --output je globální parametr dostupný pro všechny příkazy. Hodnota tabulky představuje výstup v popisné podobě. Další informace najdete v tématu Formáty výstupu pro příkazy Azure CLI.

Změna aktivního předplatného

Předplatná Azure mají název i ID. Pomocí příkazu az account set můžete přepnout na jiné předplatné a zadat POŽADOVANÉ ID nebo název předplatného.

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

Předplatné můžete také změnit pomocí proměnné. Zde je příklad:

# 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

Pokud změníte předplatné, které je v jiném tenantovi, změníte také aktivního tenanta. Informace o přidání nového předplatného do tenanta Microsoft Entra najdete v tématu Přidružení nebo přidání předplatného Azure do tenanta Microsoft Entra.

Pokud jste obdrželi "Předplatné ... neexistuje..." naleznete v tématu Řešení potíží s možnými řešeními.

Vytvoření skupin pro správu Azure

Skupiny pro správu Azure obsahují předplatná. Skupiny pro správu poskytují způsob správy přístupu, zásad a dodržování předpisů pro tato předplatná. Další informace najdete v tématu Co jsou skupiny pro správu Azure.

Pomocí příkazů az account management-group můžete vytvářet a spravovat skupiny pro správu Azure.

Skupinu pro správu pro několik předplatných můžete vytvořit pomocí příkazu az account management-group create :

az account management-group create --name Contoso01

Pokud chcete zobrazit všechny skupiny pro správu, použijte příkaz az account management-group list :

az account management-group list

Přidání předplatných do nové skupiny pomocí příkazu 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"

Pokud chcete předplatné odebrat, použijte příkaz az account management-group subscription remove :

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

Pokud chcete odebrat skupinu pro správu, spusťte příkaz az account management-group delete :

az account management-group delete --name Contoso01

Odebrání předplatného nebo odstranění skupiny pro správu neodstraní ani neaktivuje předplatné.

Nastavení zámku předplatného Azure

Jako správce možná budete muset uzamknout předplatné, abyste uživatelům zabránili v jeho odstranění nebo úpravě. Další informace najdete v článku Zabránění neočekávaným změnám zamknutím prostředků.

V Azure CLI použijte příkazy az account lock . Například příkaz az account lock create může uživatelům zabránit v odstranění předplatného:

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

Poznámka:

Abyste mohli vytvářet nebo měnit zámky, musíte mít contributor oprávnění k předplatnému.

Pokud chcete zobrazit aktuální zámky ve vašem předplatném, použijte příkaz az account lock list :

az account lock list --output table

Pokud vytvoříte účet jen pro čtení, bude výsledek vypadat podobně jako přiřazování oprávnění role Čtenář všem uživatelům. Další informace o nastavení oprávnění pro jednotlivé uživatele a role najdete v tématu Přidání nebo odebrání přiřazení rolí Azure pomocí Azure CLI.

Pokud chcete zobrazit podrobnosti o zámku, použijte příkaz az account lock show :

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

Zámek můžete odebrat pomocí příkazu az account lock delete :

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

Řešení problému

Předplatné neexistuje.

Kromě typografické chyby se tato chyba může zobrazit, když dojde k problému s časováním oprávnění. Pokud jste například při otevření aktuálního okna terminálu dostali oprávnění k novým předplatným, může k této chybě dojít. Řešením je buď zavřít a znovu otevřít okno terminálu, nebo pak az logout az login aktualizovat seznam dostupných předplatných.

Tady je skript, který vám pomůže najít a změnit předplatné.

# 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

Viz také