Hizmet sorumlusuyla Azure kimlik doğrulaması

Bu makalede Azure Identity kitaplığının hizmet sorumlusu aracılığıyla Microsoft Entra belirteci kimlik doğrulamasını nasıl desteklediğine bakabilirsiniz. Bu makale aşağıdaki konuları kapsar:

Daha fazla bilgi için bkz . Microsoft Entra Id'de uygulama ve hizmet sorumlusu nesneleri. Hizmet sorumlusu kimlik doğrulaması sorunlarını gidermek için bkz . Hizmet sorumlusu kimlik doğrulaması sorunlarını giderme.

Azure CLI ile hizmet sorumlusu oluşturma

İstemci gizli anahtarı kimlik bilgilerini oluşturmak veya almak için aşağıdaki Azure CLI örneklerini kullanın.

Bir hizmet sorumlusu oluşturmak ve Azure kaynaklarına erişimini yapılandırmak için aşağıdaki komutu kullanın:

az ad sp create-for-rbac \
    --name <your application name> \
    --role Contributor \
    --scopes /subscriptions/mySubscriptionID

Bu komut aşağıdaki çıkışa benzer bir değer döndürür:

{
"appId": "generated-app-ID",
"displayName": "dummy-app-name",
"name": "http://dummy-app-name",
"password": "random-password",
"tenant": "tenant-ID"
}

Sertifikayla birlikte hizmet sorumlusu oluşturmak için aşağıdaki komutu kullanın. Bu sertifikanın yolunu/konumunu not edin.

az ad sp create-for-rbac \
    --name <your application name> \
    --role Contributor \
    --cert <certificate name> \
    --create-cert

Döndürülen kimlik bilgilerini denetleyin ve aşağıdaki bilgileri not edin:

  • AZURE\_CLIENT\_ID appId için.
  • AZURE\_CLIENT\_SECRET öğesini seçin.
  • AZURE\_TENANT\_ID kiracısı için.

İstemci gizli anahtarı kimlik bilgileri

Bu kimlik bilgisi, oluşturulan hizmet sorumlusunun kimliğini istemci gizli anahtarı (parola) aracılığıyla doğrular. Bu örnek, kullanarak azure-security-keyvault-secrets istemci kitaplığından kimliğini doğrulamayı SecretClientClientSecretCredentialgösterir.

/**
 *  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();

İstemci sertifikası kimlik bilgileri

Bu kimlik bilgisi, oluşturulan hizmet sorumlusunun kimliğini istemci sertifikası aracılığıyla doğrular. Bu örnek, kullanarak azure-security-keyvault-secrets istemci kitaplığından kimliğini doğrulamayı SecretClientClientCertificateCredentialgösterir.

/**
 *  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>", "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();

Sonraki adımlar

Bu makalede hizmet sorumlusu aracılığıyla kimlik doğrulaması ele alınmıştır. Bu kimlik doğrulama biçimi, Java için Azure SDK'da kimlik doğrulaması yapmanın birden çok yoludur. Aşağıdaki makalelerde diğer yollar açıklanmaktadır:

Hizmet sorumlusu kimlik doğrulamasıyla ilgili sorunlarla karşılaşırsanız bkz . Hizmet sorumlusu kimlik doğrulaması sorunlarını giderme.

Kimlik doğrulamasında ustalaşdıktan sonra, SDK tarafından sağlanan günlük işlevselliği hakkında bilgi için bkz . Java için Azure SDK'da günlüğe kaydetmeyi yapılandırma.