Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo explora como a biblioteca de Identidade do Azure dá suporte à autenticação de token do Microsoft Entra por meio do principal de serviço. Este artigo aborda os seguintes temas:
- Criar uma entidade de serviço com a CLI do Azure
- Credencial secreta do cliente
- Credencial de certificado de cliente
Para obter mais informações, consulte Objetos principais de aplicativo e serviço no Microsoft Entra ID. Para solucionar problemas de autenticação da entidade de serviço, consulte Solucionar problemas de autenticação da entidade de serviço.
Utilize os seguintes exemplos da CLI do Azure para criar ou obter segredos de cliente.
Use o seguinte comando para criar uma entidade de serviço e configurar seu acesso aos recursos do Azure:
az ad sp create-for-rbac \
--name <your application name> \
--role Contributor \
--scopes /subscriptions/mySubscriptionID
Este comando retorna um valor semelhante à seguinte saída:
{
"appId": "generated-app-ID",
"displayName": "dummy-app-name",
"name": "http://dummy-app-name",
"password": "random-password",
"tenant": "tenant-ID"
}
Use o comando a seguir para criar uma entidade de serviço junto com um certificado. Anote o caminho/local deste certificado.
az ad sp create-for-rbac \
--name <your application name> \
--role Contributor \
--cert <certificate name> \
--create-cert
Verifique as credenciais devolvidas e anote as seguintes informações:
AZURE\_CLIENT\_ID
para o identificador da aplicação.AZURE\_CLIENT\_SECRET
para a senha.AZURE\_TENANT\_ID
para o inquilino.
Essa credencial autentica a entidade de serviço criada por meio de seu segredo de cliente (senha). Este exemplo demonstra a autenticação do SecretClient
usando a biblioteca de cliente "azure-security-keyvault-secrets" através do ClientSecretCredential
.
/**
* Authenticate with client secret.
*/
ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder()
.clientId("<your client ID>")
.clientSecret("<your client secret>")
.tenantId("<your tenant ID>")
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(clientSecretCredential)
.buildClient();
Essa credencial autentica a entidade de serviço criada por meio de seu certificado de cliente. Este exemplo demonstra a autenticação da SecretClient
biblioteca de cliente azure-security-keyvault-secrets usando o ClientSecretCredential
.
/**
* Authenticate with a client certificate.
*/
ClientCertificateCredential clientCertificateCredential = new ClientCertificateCredentialBuilder()
.clientId("<your client ID>")
.pemCertificate("<path to PEM certificate>")
// Choose between either a PEM certificate or a PFX certificate.
//.pfxCertificate("<path to PFX certificate>")
//.clientCertificatePassword("PFX CERTIFICATE PASSWORD")
.tenantId("<your tenant ID>")
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(clientCertificateCredential)
.buildClient();
Este artigo abordou a autenticação via entidade de serviço. Essa forma de autenticação é uma das várias maneiras de autenticar no SDK do Azure para Java. Os artigos a seguir descrevem outras maneiras:
- Autenticação do Azure em ambientes de desenvolvimento
- Autenticando aplicativos hospedados no Azure
- Autenticação com credenciais de utilizador
Se tiver problemas relacionados à autenticação da entidade de serviço, consulte Resolver problemas de autenticação da entidade de serviço.
Depois de dominar a autenticação, consulte Configurar o registo no SDK do Azure para Java para obter informações sobre a funcionalidade de registo fornecida pelo SDK.