Partilhar via


Entrar interativamente com a CLI do Azure

Os inícios de sessão interativos no Azure oferecem uma experiência de utilizador 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 instantâneo sem a necessidade de pré-configurar entidades de serviço ou outros métodos de autenticação não interativos.

Pré-requisitos

Login 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 Gerenciador de Contas da Web (WAM) no Windows e um logon baseado em navegador no Linux e macOS por padrão.

az login

Seletor de subscrição

A partir da CLI do Azure versão 2.61.0, se você tiver acesso a várias assinaturas, será solicitado que selecione uma assinatura do Azure no momento do login, 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

Da próxima vez que iniciar sessão, o inquilino e a subscrição previamente selecionados serão marcados como predefinidos com um asterisco (*) junto ao respetivo 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 a partir 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 em 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

Iniciar sessão com o Gestor de Conta 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+ que atua como um agente de autenticação. (Um agente de autenticação é um aplicativo executado na máquina de um usuário que gerencia os handshakes de autenticação e a manutenção de token para contas conectadas.)

Usar o WAM tem 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.

Iniciar sessão com um browser

A CLI do Azure assume 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 configuration é definida como false.

Siga estes passos para iniciar sessão com um browser:

  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, ele inicia o fluxo de código do dispositivo e instrui você a abrir uma página do navegador em https://aka.ms/devicelogin. Em seguida, insira o código exibido no seu terminal.

    Se nenhum navegador da Web estiver disponível ou o navegador da Web não abrir, você pode forçar o fluxo de código do dispositivo com az login --use-device-code.

  2. Inicie sessão com as credenciais da sua conta no browser.

Iniciar sessão com credenciais na linha de comandos

Forneça as suas credenciais de utilizador do Azure na linha de comandos. Use apenas esse 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 identidade gerenciada.

Esta abordagem não funciona em contas Microsoft nem em contas que tenham a autenticação multifator ativada. Você recebe uma mensagem de autenticação interativa é necessária .

az login --user <username> --password <password>

Importante

Se quiser evitar mostrar a sua palavra-passe na consola e estiver a utilizar az login de forma interativa, utilize o comando read -s em bash.

read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS

Em PowerShell, use o Get-Credential cmdlet.

$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password

Iniciar sessão com um inquilino diferente

Pode selecionar um inquilino para o início de sessão com o argumento --tenant. O valor deste argumento pode ser um domínio .onmicrosoft.com ou o ID do objeto do Azure para o inquilino. Os métodos de entrada interativos e de linha de comando funcionam com --tenanto .

Em ambientes selecionados e começando na CLI do Azure versão 2.61.0, 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 iniciar sessão, se pretender alterar o inquilino ativo, consulte Como alterar o inquilino ativo.

Entrar usando --scope

az login --scope https://management.core.windows.net//.default

Fim de Sessão

Para remover o acesso ao Azure, use o comando az logout .

az logout

Limpar a cache da subscrição

Para atualizar sua lista de assinaturas, use o comando az account clear . Terá de iniciar sessão novamente para ver uma 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.

Atualizar tokens

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 então 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 na 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 as datas de expiração do token de acesso:

  • As datas de expiração são atualizadas em um formato suportado pela CLI do Azure baseada em MSAL.
  • A partir da CLI do Azure 2.54.0, 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 um datetime 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 "dobrar", consulte PEP 495 – Desambiguação da hora local.
  • Recomendamos que os aplicativos downstream usem a expires_on propriedade, pois ela usa o Código de Tempo Universal (UTC).

Saída de exemplo:

{
  "accessToken": "...",
  "expiresOn": "2023-10-31 21:59:10.000000",
  "expires_on": 1698760750,
  "subscription": "...",
  "tenant": "...",
  "tokenType": "Bearer"
}

Resoluçã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.

Consulte também