Compartilhar via


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:

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

Siga estas etapas para entrar com um navegador:

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

  2. 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 a expires_on propriedade ao lado da expiresOn 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 a expiresOn 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