Partilhar via


Entre no Azure com uma entidade de serviço usando a CLI do Azure

As entidades de serviço são contas não vinculadas a nenhum usuário em particular, que podem ter permissões sobre elas atribuídas por meio 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 saber mais sobre entidades de serviço, consulte Trabalhar com entidades de serviço do Azure usando 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
  • O segredo do cliente da entidade de serviço ou o certificado X509 usado para criar a entidade de serviço no formato PEM
  • O locatário associado à entidade de serviço, como um domínio ou ID de .onmicrosoft.com locatário do Microsoft Entra

Observe dois fatos importantes ao trabalhar com entidades de serviço e a CLI do Azure:

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

  • Se a entidade de serviço usar um certificado armazenado no Cofre da Chave, a chave privada desse certificado deverá estar disponível sem entrar no Azure. Para recuperar o certificado do az login, consulte Recuperar certificado do Cofre da Chave.

Faça login com o segredo do cliente:

az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID

Faça login com certificado:

az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID

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 --username <app-id> --password $AZ_PASS --tenant <tenant>

Em PowerShell, use o Get-Credential cmdlet.

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

Consulte também