Entrar interativamente com a CLI do Azure
Os logons interativos no Azure oferecem uma experiência de usuário mais intuitiva e flexível. O logon interativo com a CLI do Azure permite que os usuários se autentiquem no Azure diretamente por meio do comando az login , que é útil para tarefas de gerenciamento ad-hoc e para ambientes que exigem entrada manual, como os clientes com autenticação multifator (MFA). Esse método simplifica o acesso para teste de script, aprendizado e gerenciamento de forma dinâmica sem a necessidade de configurar previamente entidades de serviço ou outros métodos de autenticação não-interativos.
Pré-requisitos
Logon interativo
Para entrar interativamente, use o comando az login . A partir da CLI do Azure versão 2.61.0, a CLI do Azure usa o WAM (Gerenciador de Contas da Web) no Windows e um logon baseado em navegador no Linux e macOS por padrão.
az login
Seletor de assinatura
A partir da CLI do Azure versão 2.61.0, se você tiver acesso a várias assinaturas, será solicitado que você selecione uma assinatura do Azure no momento do logon, conforme mostrado no exemplo a seguir.
Retrieving subscriptions for the selection...
[Tenant and subscription selection]
No Subscription name Subscription ID Tenant name
---- ------------------------------------ ---------------------------------------- --------------
[1] Facility Services Subscription 00000000-0000-0000-0000-000000000000 Contoso
[2] Finance Department Subscription 00000000-0000-0000-0000-000000000000 Contoso
[3] Human Resources Subscription 00000000-0000-0000-0000-000000000000 Contoso
[4] * Information Technology Subscription 00000000-0000-0000-0000-000000000000 Contoso
The default is marked with an *; the default tenant is 'Contoso' and subscription is
'Information Technology Subscription' (00000000-0000-0000-0000-000000000000).
Select a subscription and tenant (Type a number or Enter for no changes): 2
Tenant: Contoso
Subscription: Finance Department Subscription (00000000-0000-0000-0000-000000000000)
[Announcements]
With the new Azure CLI login experience, you can select the subscription you want to use more easily.
Learn more about it and its configuration at https://go.microsoft.com/fwlink/?linkid=2271236
If you encounter any problem, please open an issue at https://aka.ms/azclibug
Na próxima vez que você fizer login, o locatário e a assinatura selecionados anteriormente serão marcados como padrão com um asterisco (*
) ao lado de seu número. Isso permite que você pressione Enter para selecionar a assinatura padrão.
Por padrão, os comandos são executados na assinatura selecionada. Você ainda pode usar az account set
para alterar sua assinatura de uma linha de comando a qualquer momento. Para obter mais informações, consulte Como gerenciar assinaturas do Azure com a CLI do Azure.
Aqui estão algumas diretrizes sobre o seletor de assinatura para ter em mente:
- O seletor de assinatura só está disponível no Windows, Linux ou macOS de 64 bits.
- O seletor de assinatura só está disponível ao usar o
az login
comando. - Você não será solicitado a selecionar uma assinatura quando estiver fazendo login com uma entidade de serviço ou identidade gerenciada.
Se quiser desativar o recurso seletor de assinatura, defina a propriedade de configuração core.login_experience_v2 como off
.
az config set core.login_experience_v2=off
az login
Entrar com o Gerenciador de Contas da Web (WAM) no Windows
A partir da CLI do Azure versão 2.61.0, o Gerenciador de Contas da Web (WAM) agora é o método de autenticação padrão no Windows. O WAM é um componente do Windows 10 e superiores que atua como um agente de autenticação. (Um agente de autenticação é um aplicativo executado no computador de um usuário que gerencia os handshakes de autenticação e a manutenção de token das contas conectadas.)
O uso do WAM oferece vários benefícios:
- Segurança aprimorada. Confira Acesso condicional: proteção de token (versão prévia).
- Suporte para o Windows Hello, acesso condicional e chaves FIDO.
- Logon único simplificado.
- Correções de bugs e aprimoramentos fornecidos com o Windows.
Se você encontrar um problema e quiser reverter para o método de autenticação baseado em navegador anterior, defina a propriedade de configuração core.enable_broker_on_windows como false
.
az account clear
az config set core.enable_broker_on_windows=false
az login
O WAM está disponível no Windows 10 e posterior e no Windows Server 2019 e posterior.
Entrar com um navegador
A CLI do Azure usa como padrão um método de autenticação baseado em navegador quando uma das seguintes opções for verdadeira:
- O sistema operacional (SO) é Mac, ou Linux, ou o sistema operacional Windows é anterior ao Windows 10 ou Windows Server 2019.
- A
core.enable_broker_on_windows
propriedade de configuração é definida comofalse
.
Siga estas etapas para entrar com um navegador:
Execute o comando
az login
.az login
Se a CLI do Azure puder abrir seu navegador padrão, ela iniciará o fluxo de código de autorização e abrirá o navegador padrão para carregar uma página de entrada do Azure.
Caso contrário, ela iniciará o fluxo de código do dispositivo e instruirá você a abrir uma página do navegador em https://aka.ms/devicelogin. Em seguida, insira o código exibido no terminal.
Se nenhum navegador da Web estiver disponível ou se houver falha ao abrir o navegador, você poderá forçar o fluxo de código do dispositivo com az login --use-device-code.
Entre com suas credenciais de conta no navegador.
Entrar com credenciais na linha de comando
Forneça suas credenciais de usuário do Azure na linha de comando. Use apenas este método de autenticação para aprender comandos da CLI do Azure. Os aplicativos de nível de produção devem usar uma entidade de serviço ou uma identidade gerenciada.
Essa abordagem não funciona com contas da Microsoft ou contas que tenham a autenticação de dois fatores habilitada. Você recebe uma mensagem de autenticação interativa necessária.
az login --user <username> --password <password>
Importante
Caso deseje evitar a exibição de sua senha no console e esteja usando az login
interativamente, use o comando read -s
em bash
.
read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS
No PowerShell, use o cmdlet Get-Credential
.
$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password
Entrar com um locatário diferente
Você pode selecionar um locatário para entrar com o argumento --tenant
. O valor desse argumento pode tanto ser um domínio .onmicrosoft.com
como a ID de objeto do Azure para o locatário. Os métodos de entrada interativos e de linha de comando funcionam com --tenant
.
Em ambientes selecionados e a partir da versão 2.61.0 da CLI do Azure, você precisa primeiro desabilitar o seletor de assinatura definindo a core.login_experience_v2
propriedade de configuração como off
.
# disable the subscription selector (v. 2.61.0 and up)
az config set core.login_experience_v2=off
# login with a tenant ID
az login --tenant 00000000-0000-0000-0000-000000000000
Para reativar o seletor de assinatura, execute az config set core.login_experience_v2=on
. Para obter mais informações sobre o seletor de assinatura, consulte Login interativo
Depois de entrar, se você quiser alterar seu locatário ativo, confira Como alterar seu locatário ativo.
Entrar usando --scope
az login --scope https://management.core.windows.net//.default
Logout
Para remover o acesso ao Azure, use o comando az logout .
az logout
Limpar o cache de assinatura
Para atualizar sua lista de assinaturas, use o comando az account clear . Você precisará entrar novamente para ver uma lista atualizada.
az account clear
az login
Limpar o cache de assinatura não é tecnicamente o mesmo processo que sair do 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.
Tokens de atualização
Quando você entra com uma conta de usuário, a CLI do Azure gera e armazena um token de atualização de autenticação. Como os tokens de acesso são válidos apenas por um curto período de tempo, um token de atualização é emitido ao mesmo tempo em que o token de acesso é emitido. O aplicativo cliente pode trocar esse token de atualização por um novo token de acesso quando necessário. Para obter mais informações sobre o tempo de vida e a expiração do token, consulte Atualizar tokens no plataforma de identidade da Microsoft.
Use o comando az account get-access-token para recuperar o token de acesso:
# get access token for the active subscription
az account get-access-token
# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"
Aqui estão algumas informações adicionais sobre datas de expiração do token de acesso:
- As datas de expiração são atualizadas em um formato que é suportado pela CLI do Azure baseada em MSAL.
- A partir da CLI 2.54.0 do Azure,
az account get-access-token
retorna aexpires_on
propriedade ao lado daexpiresOn
propriedade para o tempo de expiração do token. - A
expires_on
propriedade representa um carimbo de data/hora POSIX (Portable Operating System Interface), enquanto aexpiresOn
propriedade representa uma data/hora local. - A
expiresOn
propriedade não expressa "dobrar" quando o horário de verão termina. Isso pode causar problemas em países ou regiões onde o horário de verão é adotado. Para obter mais informações sobre "dobra", consulte PEP 495 – Desambiguação de hora local. - Recomendamos que os aplicativos downstream usem a
expires_on
propriedade, pois ela usa o Universal Time Code (UTC).
Exemplo de saída:
{
"accessToken": "...",
"expiresOn": "2023-10-31 21:59:10.000000",
"expires_on": 1698760750,
"subscription": "...",
"tenant": "...",
"tokenType": "Bearer"
}
Solução de problemas
Quando seu navegador padrão é o Microsoft Edge, você pode encontrar o seguinte erro ao tentar entrar no Azure interativamente com az login
: "A conexão para este site não é segura." Para resolver esse problema, visite edge://net-internals/#hsts na Microsoft
Borda. Adicione localhost
em "Excluir política de segurança de domínio" e selecione Excluir.
Confira também
- Folha de referência de Integração da CLI do Azure
- Localizar amostras e documentos publicados da CLI do Azure