Iniciar sessão com a CLI do AzureSign in with Azure CLI

Existem vários tipos de autenticação para a CLI do Azure.There are several authentication types for the Azure CLI. O Azure Cloud Shell é a forma mais fácil de começar, uma vez que regista automaticamente o utilizador.The easiest way to get started is with Azure Cloud Shell, which automatically logs you in. Localmente, pode iniciar sessão interativamente através do seu navegador com o comando de login az.Locally, you can sign in interactively through your browser with the az login command. Ao escrever scripts, a abordagem recomendada é utilizar principais de serviço.When writing scripts, the recommended approach is to use service principals. Ao conceder apenas as permissões adequadas de que um principal de serviço precisa, ajuda a manter a sua automatização segura.By granting just the appropriate permissions needed to a service principal, you can keep your automation secure.

A CLI não armazena nenhuma das suas informações de início de sessão.None of your sign-in information is stored by the CLI. Em vez disso, é gerado um token de atualização de autenticação pelo Azure e armazenado.Instead, an authentication refresh token is generated by Azure and stored. 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.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. Assim que o token é revogado, recebe uma mensagem da CLI a indicar que tem de iniciar sessão novamente.Once the token is revoked you get a message from the CLI saying you need to sign in again.

Depois de iniciar sessão, os comandos da CLI são executados na sua subscrição predefinida.After signing in, CLI commands are run against your default subscription. Se tiver várias subscrições, pode alterar a sua subscrição predefinida.If you have multiple subscriptions, you can change your default subscription.

Iniciar sessão interativamenteSign in interactively

O método de autenticação predefinido da CLI do Azure utiliza um browser e um token de acesso para iniciar sessão.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 o CLI conseguir abrir o seu navegador predefinido, fá-lo-á e carregará uma página de entrada 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 https://aka.ms/devicelogin página do navegador e introduza o código de autorização apresentado no seu terminal.Otherwise, open a browser page at https://aka.ms/devicelogin and enter the authorization code displayed in your terminal.

  2. Inicie sessão com as credenciais da sua conta no browser.Sign in with your account credentials in the browser.

Iniciar sessão com credenciais na linha de comandosSign in with credentials on the command line

Forneça as suas credenciais de utilizador do Azure na linha de comandos.Provide your Azure user credentials on the command line.

Note

Esta abordagem não funciona em contas Microsoft nem em contas que tenham a autenticação multifator ativada.This approach doesn't work with Microsoft accounts or accounts that have two-factor authentication enabled.

az login -u <username> -p <password>

Important

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

Em PowerShell, Get-Credential utilize o cmdlet.Under PowerShell, use the 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çoSign in with a service principal

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.Service principals are accounts not tied to any particular user, which can have permissions on them assigned through pre-defined roles. 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.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 obter mais informações sobre principais de serviço, consulte Criar um principal 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 iniciar sessão com um principal de serviço, precisa do seguinte:To sign in with a service principal, you need:

  • O URL ou o nome associado ao principal de serviçoThe URL or name associated with the service principal
  • A palavra-passe do principal de serviço ou o certificado X509 utilizado para criar o principal de serviço em formato PEMThe service principal password, or the X509 certificate used to create the service principal in PEM format
  • O inquilino associado ao principal de serviço, como um domínio .onmicrosoft.com ou um ID de objeto do AzureThe tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID

Note

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

Important

Se o seu diretor de serviço utilizar um certificado que esteja armazenado no Key Vault, a chave privada desse certificado deve estar disponível sem iniciar sessão 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 utilização offline, use o programa secreto az keyvault.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>

Important

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

Em PowerShell, Get-Credential utilize o cmdlet.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>

Iniciar sessão com um inquilino diferenteSign in with a different tenant

Pode selecionar um inquilino para o início de sessão com o argumento --tenant.You can select a tenant to sign in under with the --tenant argument. O valor deste argumento pode ser um domínio .onmicrosoft.com ou o ID do objeto do Azure para o inquilino.The value of this argument can either be an .onmicrosoft.com domain or the Azure object ID for the tenant. Tanto o método de início de sessão interativo como através da linha de comandos funcionam com o --tenant.Both interactive and command-line sign in methods work with --tenant.

az login --tenant <tenant>

Iniciar sessão com uma identidade geridaSign in with a managed identity

Nos recursos configurados para identidades geridas para recursos do Azure, pode iniciar sessão com a identidade gerida.On resources configured for managed identities for Azure resources, you can sign in using the managed identity. O início de sessão com a identidade do recurso é feito com o sinalizador --identity.Signing in with the resource's identity is done through the --identity flag.

az login --identity

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