Iniciar sessão com a CLI do Azure

Existem vários tipos de autenticação para a Interface Command-Line Azure (CLI), então como é que faz o login? O Azure Cloud Shell é a forma mais fácil de começar, uma vez que regista automaticamente o utilizador. Localmente, pode iniciar sessão interativa através do seu navegador com o comando de login az . Ao escrever scripts, a abordagem recomendada é utilizar principais de serviço. Ao conceder apenas as permissões adequadas de que um principal de serviço precisa, ajuda a manter a sua automatização segura.

Nenhuma das suas informações de login é armazenada pela Azure CLI. Em vez disso, é gerado um token de atualização de autenticação pelo Azure e armazenado. A partir de agosto de 2018, este token é revogado após 90 dias de inatividade, mas este valor pode ser alterado pela Microsoft ou pelo administrador de inquilinos. Assim que o token for revogado, recebes uma mensagem do CLI a dizer que precisas de fazer login novamente.

Depois de iniciar sessão, os comandos da CLI são executados na sua subscrição predefinida. Se tiver várias subscrições, pode alterar a sua subscrição predefinida.

Nota

Dependendo da sua assinatura no método, o seu inquilino pode ter políticas de Acesso Condicional que restringem o seu acesso a determinados recursos.

Iniciar sessão interativamente

O método de autenticação padrão do Azure CLI para logins utiliza um navegador web e um token de acesso para iniciar sessão.

  1. Execute o comando login.

    az login
    

    Se o CLI conseguir abrir o seu navegador predefinido, iniciará o fluxo de código de autorização e abrirá o navegador predefinido para carregar uma página de início de sposição do Azure.

    Caso contrário, iniciará o fluxo de código do dispositivo e irá dizer-lhe para abrir uma página de https://aka.ms/devicelogin navegador e introduzir o código exibido no seu terminal.

    Se nenhum navegador da Web estiver disponível ou o navegador web não abrir, poderá forçar o fluxo de código do dispositivo com o código de acesso az --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.

Nota

Esta abordagem não funciona em contas Microsoft nem em contas que tenham a autenticação multifator ativada.

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

Os principais de serviço são contas não associadas a qualquer utilizador específico, que podem ter as permissões nelas atribuídas através de funções predefinidas. A autenticação com um principal de serviço é a melhor forma de escrever scripts ou programas seguros, permitindo-lhe aplicar ambas as restrições de permissões e informações de credenciais estáticas armazenadas localmente. Para obter mais informações sobre principais de serviço, consulte Criar um principal de serviço do Azure com a CLI do Azure.

Para iniciar sessão com um principal de serviço, precisa do seguinte:

  • O URL ou o nome associado ao principal de serviço
  • A palavra-passe do principal de serviço ou o certificado X509 utilizado para criar o principal de serviço em formato PEM
  • O inquilino associado ao principal de serviço, como um domínio .onmicrosoft.com ou um ID de objeto do Azure

Nota

Um certificado deve ser anexado à CHAVE PRIVADA dentro de um ficheiro PEM. Para um exemplo de um formato de ficheiro PEM, consulte a autenticação baseada em Certificado.

Importante

Se o seu responsável de serviço utilizar um certificado armazenado em Key Vault, a chave privada desse certificado deve estar disponível sem iniciar sessão no Azure. Para obter o certificado para az login, consulte o certificado De obter Key Vault.

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

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

Em PowerShell, use o Get-Credential cmdlet.

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

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. Tanto o método de início de sessão interativo como através da linha de comandos funcionam com o --tenant.

az login --tenant <tenant>

Iniciar sessão com uma identidade gerida

Nos recursos configurados para identidades geridas para recursos do Azure, pode iniciar sessão com a identidade gerida. O início de sessão com a identidade do recurso é feito com o sinalizador --identity.

az login --identity

Se o recurso tiver várias identidades geridas atribuídas pelo utilizador e nenhuma identidade atribuída ao sistema, deve especificar o id de identificação do cliente ou o id de recurso do utilizador designado identidade gerida com --username para iniciar sessão.

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

Para saber mais sobre as identidades geridas para recursos do Azure, veja Configure managed identities for Azure resources (Configurar identidades geridas para os recursos do Azure) e Use managed identities for Azure resources for sign in (Utilizar identidades geridas para recurso do Azure para iniciar sessão).

Ver também