Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As entidades de serviço são contas não vinculadas a nenhum usuário específico, às quais você pode atribuir permissões através de papéis predefinidos. Autenticar com uma entidade de serviço é a melhor maneira de escrever scripts ou programas seguros. Ele permite aplicar restrições de permissões e informações de credencial estática armazenadas localmente. Para saber mais sobre entidades de serviço, confira Trabalhar com entidades de serviço do Azure usando a CLI do Azure.
Para entrar com uma entidade de serviço, você precisa:
- A URL ou o nome associado à entidade 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 ao principal de serviço, como um domínio
.onmicrosoft.comou o ID do locatário no Microsoft Entra.
Observe dois fatos importantes ao trabalhar com entidades de serviço e a CLI do Azure:
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.
Se a entidade de serviço usar um certificado armazenado no Key Vault, a chave privada desse certificado deverá estar disponível sem entrar no Azure. Para recuperar o certificado de
az login, confira Recuperar certificado do Key Vault.
Para fazer logon com um segredo do cliente, use o seguinte comando:
az login --service-principal --username APP_ID --password CLIENT_SECRET --tenant TENANT_ID
Para fazer logon com um certificado, use o seguinte comando:
az login --service-principal --username APP_ID --certificate /path/to/cert.pem --tenant TENANT_ID
Importante
Para evitar exibir sua senha no console ao usar az login interativamente, use o read -s comando em bash.
read -sp "Azure password: " AZ_PASS && echo && az login --service-principal --username <app-id> --password $AZ_PASS --tenant <tenant>
No PowerShell, utilize o cmdlet Get-Credential.
$AzCred = Get-Credential -UserName <app-id>
az login --service-principal --username $AzCred.UserName --password $AzCred.GetNetworkCredential().Password --tenant <tenant>