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