Entrar com a CLI do Azure

Há vários tipos de autenticação para a CLI (interface de linha de comando) do Azure, portanto, como fazer logon? A maneira mais fácil de começar é com o Azure Cloud Shell que conecta você automaticamente. Localmente, você pode entrar no modo interativo pelo navegador com o comando az login. Ao escrever scripts, a abordagem recomendada é usar entidades de serviço. Ao conceder apenas as permissões apropriadas necessárias para uma entidade de serviço, você mantém sua automação segura.

Nenhuma das suas informações logon é armazenada pela CLI do Azure. Em vez disso, um token de atualização de autenticação é gerado pelo Azure e depois é armazenado. A partir de agosto de 2018, esse token será revogado após 90 dias de inatividade, mas esse valor poderá ser alterado pela Microsoft ou seu administrador de locatários. Depois que o token for revogado, você receberá uma mensagem da CLI dizendo que você precisa entrar novamente.

Após a conexão, os comandos da CLI são executados em sua assinatura padrão. Caso tenha várias assinaturas, é possível alterar sua assinatura padrão.

Observação

Dependendo do método de entrada, seu locatário pode ter políticas de Acesso Condicional que restringem seu acesso a determinados recursos.

Entrar no modo interativo

O método de autenticação padrão da CLI do Azure para logons usa um navegador da Web e token de acesso para entrar.

  1. Execute o comando login.

    az login
    

    Se a CLI puder abrir seu navegador padrão, ela iniciará o fluxo do 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 informará a você para abrir uma página do navegador em https://aka.ms/devicelogin e inserir o código exibido em seu 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.

Observação

Essa abordagem não funciona com contas da Microsoft ou contas que tenham a autenticação de dois fatores habilitada.

az login -u <username> -p <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 uma entidade de serviço

Entidades de serviço são contas que não estão associadas a nenhum usuário específico, as quais podem ter permissões atribuídas por meio de funções predefinidas. Autenticar com uma entidade de serviço é a melhor maneira de gravar scripts seguros ou programas, permitindo a aplicação de restrições de permissões e informações de credenciais estáticas armazenadas localmente. Para saber mais sobre entidades de serviço, consulte Criar uma entidade de serviço do Azure com a CLI do Azure.

Para entrar com uma entidade de serviço, você precisa:

  • Da URL ou nome associado à entidade de serviço
  • A senha da entidade de serviço ou o certificado X509 usado para criar a entidade de serviço em formato PEM
  • O locatário associado à entidade de serviço, como um domínio .onmicrosoft.com ou ID de objeto do Azure

Observação

Um CERTIFICADO precisa ser anexado à CHAVE PRIVADA dentro de um arquivo PEM. Para obter um exemplo de um formato de arquivo PEM, confira Autenticação baseada em certificado.

Importante

Se a entidade de serviço usa um certificado que é armazenado no cofre de chaves, a chave privada do certificado deve estar disponível sem entrar no Azure. Para recuperar o certificado de az login, confira Recuperar certificado do Key Vault.

az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>

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 --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>

No PowerShell, use o cmdlet Get-Credential.

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>

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 dois métodos de entrada, interativo e com linha de comando, funcionam com --tenant.

az login --tenant <tenant>

Entrar com uma identidade gerenciada

Nos recursos configurados para identidades gerenciadas em recursos do Azure, você pode entrar usando a identidade gerenciada. A entrada com a identidade do recurso é feito por meio do sinalizador --identity.

az login --identity

Se o recurso tiver várias identidades gerenciadas atribuídas ao usuário e nenhuma identidade atribuída ao sistema, você precisará especificar a ID do cliente, a ID do objeto ou a ID do recurso da identidade gerenciada atribuída ao usuário com --username para logon.

az login --identity --username <client_id|object_id|resource_id>

Para saber mais sobre identidades gerenciadas em recursos do Azure, confira Configurar identidades gerenciadas em recursos do Azure e Usar identidades gerenciadas em recursos do Azure para fazer logon.

Confira também