Entrar com a CLI do AzureSign in with Azure CLI

Há vários tipos de autenticação para a CLI do Azure.There are several authentication types for the Azure CLI. A maneira mais fácil de começar é com o Azure Cloud Shell que conecta você automaticamente.The easiest way to get started is with Azure Cloud Shell, which automatically logs you in. Localmente, você pode entrar no modo interativo pelo navegador com o comando az login.Locally, you can sign in interactively through your browser with the az login command. Ao escrever scripts, a abordagem recomendada é usar entidades de serviço.When writing scripts, the recommended approach is to use service principals. Ao conceder apenas as permissões apropriadas necessárias para uma entidade de serviço, você mantém sua automação segura.By granting just the appropriate permissions needed to a service principal, you can keep your automation secure.

Nenhuma das suas informações de entrada é armazenada pela CLI.None of your sign-in information is stored by the CLI. Em vez disso, um token de atualização de autenticação é gerado pelo Azure e depois é armazenado.Instead, an authentication refresh token is generated by Azure and stored. 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.As of August 2018 this token is revoked after 90 days of inactivity, but this value can be changed by Microsoft or your tenant administrator. Depois que o token for revogado, você receberá uma mensagem da CLI dizendo que você precisa entrar novamente.Once the token is revoked you get a message from the CLI saying you need to sign in again.

Após a conexão, os comandos da CLI são executados em sua assinatura padrão.After signing in, CLI commands are run against your default subscription. Caso tenha várias assinaturas, é possível alterar sua assinatura padrão.If you have multiple subscriptions, you can change your default subscription.

Entrar no modo interativoSign in interactively

O método de autenticação padrão da CLI do Azure usa um navegador da Web e token de acesso para entrar.The Azure CLI's default authentication method uses a web browser and access token to sign in.

  1. Execute o comando login.Run the login command.

    az login
    

    Se a CLI puder abrir o navegador padrão, ela o fará e carregará uma página de entrada do Azure.If the CLI can open your default browser, it will do so and load an Azure sign-in page.

    Caso contrário, abra uma página de navegador em https://aka.ms/devicelogin e insira o código de autorização exibido no terminal.Otherwise, open a browser page at https://aka.ms/devicelogin and enter the authorization code displayed in your terminal.

    Se nenhum navegador da Web estiver disponível ou se não for possível abrir o navegador da Web, use o fluxo de código do dispositivo com az login --use-device-code.If no web browser is available or the web browser fails to open, use device code flow with az login --use-device-code.

  2. Entre com suas credenciais de conta no navegador.Sign in with your account credentials in the browser.

Entrar com credenciais na linha de comandoSign in with credentials on the command line

Forneça suas credenciais de usuário do Azure na linha de comando.Provide your Azure user credentials on the command line.

Observação

Essa abordagem não funciona com contas da Microsoft ou contas que tenham a autenticação de dois fatores habilitada.This approach doesn't work with Microsoft accounts or accounts that have two-factor authentication enabled.

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.If you want to avoid displaying your password on console and are using az login interactively, use the read -s command under bash.

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

No PowerShell, use o cmdlet Get-Credential.Under PowerShell, use the Get-Credential cmdlet.

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

Entrar com uma entidade de serviçoSign in with a service principal

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.Service principals are accounts not tied to any particular user, which can have permissions on them assigned through pre-defined roles. 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.Authenticating with a service principal is the best way to write secure scripts or programs, allowing you to apply both permissions restrictions and locally stored static credential information. Para saber mais sobre entidades de serviço, consulte Criar uma entidade de serviço do Azure com a CLI do Azure.To learn more about service principals, see Create an Azure service principal with the Azure CLI.

Para entrar com uma entidade de serviço, você precisa:To sign in with a service principal, you need:

  • Da URL ou nome associado à entidade de serviçoThe URL or name associated with the service principal
  • A senha da entidade de serviço ou o certificado X509 usado para criar a entidade de serviço em formato PEMThe service principal password, or the X509 certificate used to create the service principal in PEM format
  • O locatário associado à entidade de serviço, como um domínio .onmicrosoft.com ou ID de objeto do AzureThe tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID

Observação

Um CERTIFICADO precisa ser anexado à CHAVE PRIVADA dentro de um arquivo PEM.A CERTIFICATE must be appended to the PRIVATE KEY within a PEM file. Para obter um exemplo do formato de arquivo PEM, confira Criar uma entidade de serviço do Azure com a CLI do Azure.For an example of a PEM file format, see Create an Azure service principal with the Azure CLI.

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.If your service principal uses a certificate that is stored in Key Vault, that certificate's private key must be available without signing in to Azure. Para recuperar uma chave privada para uso offline, use az keyvault secret show.To retrieve a private key for use offline, use az keyvault secret show.

az login --service-principal -u <app-url> -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.If you want to avoid displaying your password on console and are using az login interactively, use the read -s command under bash.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-url> -p $AZ_PASS --tenant <tenant>

No PowerShell, use o cmdlet Get-Credential.Under PowerShell, use the Get-Credential cmdlet.

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

Entrar com um locatário diferenteSign in with a different tenant

Você pode selecionar um locatário para entrar com o argumento --tenant.You can select a tenant to sign in under with the --tenant argument. O valor desse argumento pode tanto ser um domínio .onmicrosoft.com como a ID de objeto do Azure para o locatário.The value of this argument can either be an .onmicrosoft.com domain or the Azure object ID for the tenant. Os dois métodos de entrada, interativo e com linha de comando, funcionam com --tenant.Both interactive and command-line sign in methods work with --tenant.

az login --tenant <tenant>

Entrar com uma identidade gerenciadaSign in with a managed identity

Nos recursos configurados para identidades gerenciadas em recursos do Azure, você pode entrar usando a identidade gerenciada.On resources configured for managed identities for Azure resources, you can sign in using the managed identity. A entrada com a identidade do recurso é feito por meio do sinalizador --identity.Signing in with the resource's identity is done through the --identity flag.

az login --identity

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.To learn more about managed identities for Azure resources, see Configure managed identities for Azure resources and Use managed identities for Azure resources for sign in.