Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure Kimlik kitaplığının Azure'da barındırılan uygulamalar için Microsoft Entra belirteci kimlik doğrulamasını nasıl desteklediği açıklanmaktadır. Bu destek, bu makalede ele alınan bir dizi TokenCredential uygulama aracılığıyla mümkün hale getirilir.
Bu makale aşağıdaki konuları kapsar:
Azure tarafından barındırılan uygulamalarla ilgili kimlik doğrulama sorunlarını gidermek için bkz . Azure'da barındırılan uygulama kimlik doğrulaması sorunlarını giderme.
DefaultAzureCredential
DefaultAzureCredential dağıtıldığında kimlik doğrulaması için yaygın olarak kullanılan kimlik bilgilerini bir geliştirme ortamında kimlik doğrulaması için kullanılan kimlik bilgileriyle birleştirir. Daha fazla bilgi için bkz . DefaultAzureCredential'a genel bakış.
DefaultAzureCredential'ı yapılandırma
DefaultAzureCredential veya ortam değişkenlerinde ayarlayıcılar aracılığıyla bir dizi yapılandırmayı DefaultAzureCredentialBuilder destekler.
- Ortam değişkenlerinde tanımlandığı gibi ,
AZURE_CLIENT_IDveAZURE_CLIENT_SECRETortam değişkenleriniAZURE_TENANT_IDayarlamak, değerler tarafından belirtilen hizmet sorumlusu olarak kimlik doğrulaması yapmak için yapılandırılırDefaultAzureCredential. -
.managedIdentityClientId(String)Oluşturucu veya ortam değişkeniAZURE_CLIENT_IDayarı, kullanıcı tarafından atanan yönetilen kimlik olarak kimlik doğrulaması yapmak üzere yapılandırılırkenDefaultAzureCredential, boş bırakıldığında sistem tarafından atanan yönetilen kimlik olarak kimlik doğrulaması için yapılandırılır. -
.tenantId(String)Oluşturucu veya ortam değişkeniAZURE_TENANT_IDayarı, paylaşılan belirteç önbelleği veya IntelliJ IDEA için belirli bir kiracıda kimlik doğrulaması yapmak üzere yapılandırırDefaultAzureCredential. - Ortam değişkeninin
AZURE_USERNAMEayarlanması, paylaşılan belirteç önbelleğinden karşılık gelen önbelleğe alınmış belirteci seçecek şekilde yapılandırırDefaultAzureCredential.
DefaultAzureCredential ile kimlik doğrulaması
Aşağıdaki örnekte kullanarak SecretClientazure-security-keyvault-secrets istemci kitaplığından kimlik doğrulaması DefaultAzureCredential gösterilmektedir:
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<KEY_VAULT_NAME>.vault.azure.net")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
DefaultAzureCredential ile kullanıcı tarafından atanan yönetilen kimliğin kimliğini doğrulama
Aşağıdaki örnek, kullanıcı tarafından atanan yönetilen kimliğin yapılandırıldığı bir Azure kaynağına dağıtılan azure-security-keyvault-secrets istemci kitaplığından SecretClientkimliğini doğrulamayı gösterirDefaultAzureCredential.
/**
* DefaultAzureCredential uses the user-assigned managed identity with the specified client ID.
*/
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.managedIdentityClientId("<CLIENT_ID>")
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<KEY_VAULT_NAME>.vault.azure.net")
.credential(credential)
.buildClient();
ManagedIdentityCredential
ManagedIdentityCredential , bir Azure kaynağının yönetilen kimliğinin (sistem tarafından atanan veya kullanıcı tarafından atanan) kimliğini doğrular. Bu nedenle, uygulama , uç noktaları veya her ikisi aracılığıyla IDENTITY/MSIIMDS yönetilen kimliği destekleyen bir Azure kaynağı içinde çalışıyorsa, bu kimlik bilgisi uygulamanızın kimliğini doğrular ve gizli olmayan bir kimlik doğrulama deneyimi sunar.
Daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler nedir?.
Yönetilen kimlikle Azure'da kimlik doğrulaması
Aşağıdaki örnek, azure-security-keyvault-secrets istemci kitaplığından SecretClientkimlik doğrulamasını ManagedIdentityCredential Azure'da bir Sanal Makine, App Service, İşlevler uygulaması, Cloud Shell, Service Fabric, Arc veya AKS ortamında sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliğin etkinleştirildiği şekilde gösterir.
/**
* Authenticate with a user-assigned managed identity.
*/
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()
.clientId("<CLIENT_ID>") // required only for user-assigned
.build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<KEY_VAULT_NAME>.vault.azure.net")
.credential(credential)
.buildClient();
Ortam değişkenleri
Ve'yi DefaultAzureCredential ortam değişkenleriyle yapılandırabilirsinizEnvironmentCredential. Her kimlik doğrulama türü belirli değişkenler için değerler gerektirir:
Gizli dizili hizmet sorumlusu
| Değişken adı | Değer |
|---|---|
AZURE_CLIENT_ID |
Microsoft Entra uygulamasının kimliği. |
AZURE_TENANT_ID |
Uygulamanın Microsoft Entra kiracısının kimliği. |
AZURE_CLIENT_SECRET |
Uygulamanın istemci gizli dizilerinden biri. |
Sertifika ile hizmet sorumlusu
| Değişken adı | Değer |
|---|---|
AZURE_CLIENT_ID |
Microsoft Entra uygulamasının kimliği. |
AZURE_TENANT_ID |
Uygulamanın Microsoft Entra kiracısının kimliği. |
AZURE_CLIENT_CERTIFICATE_PATH |
Özel anahtar da dahil olmak üzere PEM ile kodlanmış bir sertifika dosyasının yolu (parola koruması olmadan). |
AZURE_CLIENT_CERTIFICATE_PASSWORD |
(isteğe bağlı) Varsa sertifika dosyasının parolası. |
AZURE_CLIENT_SEND_CERTIFICATE_CHAIN |
(isteğe bağlı) Konu adını / veren tabanlı kimlik doğrulamasını desteklemek için x5c üst bilgisinde sertifika zinciri gönderin. |
Kullanıcı adı ve parola
| Değişken adı | Değer |
|---|---|
AZURE_CLIENT_ID |
Microsoft Entra uygulamasının kimliği. |
AZURE_TENANT_ID |
Uygulamanın Microsoft Entra kiracısının kimliği. |
AZURE_USERNAME |
Kullanıcı adı (genellikle bir e-posta adresi). |
AZURE_PASSWORD |
Verilen kullanıcı adı için ilişkili parola. |
Yapılandırma bu sırada denendi. Örneğin, hem istemci gizli dizisi hem de sertifika değerleri varsa, istemci gizli dizisi kullanılır.
Sonraki adımlar
Bu makalede Azure'da barındırılan uygulamalar için 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:
- Geliştirme ortamlarında Azure kimlik doğrulaması
- Hizmet sorumlularıyla kimlik doğrulaması
- Kullanıcı kimlik bilgileriyle kimlik doğrulaması
Azure tarafından barındırılan uygulama kimlik doğrulamasıyla ilgili sorunlarla karşılaşırsanız bkz . Azure'da barındırılan uygulama 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.