Partilhar via


Como gerenciar assinaturas do Azure com a CLI do Azure

A CLI do Azure ajuda você a gerenciar sua assinatura do Azure, criar grupos de gerenciamento e bloquear assinaturas. Você pode ter várias assinaturas no Azure. Você pode fazer parte de mais de uma organização ou pode dividir o acesso a recursos específicos entre agrupamentos. A CLI do Azure dá suporte à seleção de uma assinatura globalmente e por comando.

Para obter informações detalhadas sobre subscrições, faturação e gestão de custos, veja a documentação sobre a gestão da faturação e dos custos.

Terminologia

Um tenant do Microsoft Entra ID é uma instância na qual residem informações sobre uma única organização. Uma organização multicliente é uma organização que tem pelo menos uma instância do Microsoft Entra ID. Um locatário tem uma ou mais assinaturas e usuários.

Os utilizadores são as contas que iniciam sessão no Azure para criar, gerir e utilizar recursos. Um usuário pode ter acesso a vários locatários e assinaturas.

As subscrições são contratos com a Microsoft para utilizar serviços na nuvem, incluindo o Azure. Cada recurso está associado a uma subscrição. As assinaturas contêm grupos de recursos.

Um grupo de recursos do Azure é um contêiner que contém recursos relacionados para uma solução do Azure. Para saber como gerenciar grupos de recursos em sua assinatura, consulte Como gerenciar grupos de recursos do Azure com a CLI do Azure

Obter o inquilino ativo

Usar az account tenant list ou az account show para obter o ID de inquilino ativo.

az account tenant list

az account show

Alterar o locatário ativo

Para mudar de inquilino, tem duas opções.

  • Altere a assinatura ativa.

  • Entre como um usuário dentro do locatário desejado. Use az login para alterar o locatário ativo e atualizar a lista de assinaturas à qual você pertence.

    # 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 a sua organização exigir autenticação multifator, poderá receber este erro ao utilizar 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 o comando alternativo az login --tenant solicita que você abra uma página HTTPS e insira o código fornecido. Em seguida, você pode usar a autenticação multifator e entrar com êxito. Para saber mais sobre as opções de entrada com a CLI do Azure, consulte Entrar com a CLI do Azure.

Obter informações de subscrição

A maioria dos comandos da CLI do Azure atua dentro de uma assinatura. Você pode especificar em que assinatura trabalhar usando o parâmetro --subscription em seu comando. Se você não especificar uma assinatura, o comando usará sua assinatura ativa atual.

Para ver a subscrição que está a utilizar atualmente ou para obter uma lista de subscrições disponíveis, execute o comando az account show ou az account list . Para obter mais exemplos de maneiras de usar esses comandos, consulte Aprenda a usar o Bash com a CLI do Azure.

Eis alguns exemplos que mostram como obter informações de subscrição:

# 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

Você também pode armazenar informações de assinatura em uma variável para uso em um 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

Sugestão

O --output parâmetro é um parâmetro global, disponível para todos os comandos. O table valor apresenta a saída em um formato amigável. Para obter mais informações, consulte Formatos de saída para comandos da CLI do Azure.

Alterar a subscrição ativa

As assinaturas do Azure têm um nome e uma ID. Você pode mudar para uma assinatura diferente usando az account set, especificando o ID ou nome da assinatura desejada.

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

Você também pode alterar sua assinatura usando uma variável. Aqui está um exemplo:

# 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 você alterar para uma assinatura que esteja em um locatário diferente, também alterará o locatário ativo. Para saber como adicionar uma nova subscrição ao seu inquilino do Microsoft Entra, consulte Associar ou adicionar uma subscrição do Azure ao seu inquilino do Microsoft Entra.

Se receber um erro de "A subscrição de ... não existe...", consulte Resolução de problemas para possíveis soluções.

Limpar a cache da subscrição

Para atualizar sua lista de assinaturas, use o comando az account clear . Tem de iniciar sessão novamente para ver a lista atualizada.

az account clear

az login

Limpar o cache da sua subscrição não é tecnicamente o mesmo processo que terminar sessão no Azure. No entanto, quando você limpa o cache de assinatura, não pode executar comandos da CLI do Azure, incluindo az account set, até entrar novamente.

Criar grupos de gerenciamento do Azure

Os grupos de gerenciamento do Azure contêm assinaturas. Os grupos de gerenciamento fornecem uma maneira de gerenciar o acesso, as políticas e a conformidade dessas assinaturas. Para obter mais informações, consulte O que são grupos de gerenciamento do Azure.

Use os comandos az account management-group para criar e gerenciar Grupos de Gerenciamento do Azure.

Você pode criar um grupo de gerenciamento para várias de suas assinaturas usando o comando az account management-group create :

az account management-group create --name Contoso01

Para ver todos os seus grupos de gerenciamento, use o comando az account management-group list :

az account management-group list

Adicione assinaturas ao seu novo grupo usando o 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"

Para remover uma assinatura, use o comando az account management-group subscription remover :

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

Para remover um grupo de gerenciamento, execute o comando az account management-group delete :

az account management-group delete --name Contoso01

Remover uma assinatura ou excluir um grupo de gerenciamento não exclui nem desativa uma assinatura.

Definir um bloqueio de assinatura do Azure

Como administrador, talvez seja necessário bloquear uma assinatura para impedir que os usuários a excluam ou modifiquem.

Na CLI do Azure, use os comandos az account lock . Por exemplo, o comando az account lock create pode impedir que os usuários excluam uma assinatura:

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

Observação

Você precisa ter contributor permissões em uma assinatura para criar ou alterar bloqueios.

Para ver os bloqueios atuais em sua assinatura, use o comando az account lock list :

az account lock list --output table

Se você tornar uma conta somente leitura, o resultado será semelhante à atribuição de permissões da função Leitor a todos os usuários. Para saber mais sobre como definir permissões para usuários e funções individuais, consulte Adicionar ou remover atribuições de função do Azure usando a CLI do Azure.

Para ver os detalhes de um bloqueio, use o comando az account lock show :

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

Você pode remover um bloqueio usando o comando az account lock delete :

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

Para obter mais informações, consulte Bloquear recursos para evitar alterações inesperadas.

Solução de problemas

A subscrição não existe

Além de um erro tipográfico, você pode receber esse erro quando há um problema de tempo de permissões. Por exemplo, se lhe forem concedidas permissões para uma nova subscrição enquanto a janela atual do terminal estiver aberta, este erro poderá ocorrer. A solução é fechar e reabrir a janela do terminal ou usar az logout e, em seguida, az login atualizar a lista de assinaturas disponíveis.

Aqui está um script para ajudá-lo a encontrar e alterar uma assinatura.

# 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

Ver também