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, Java için Azure SDK'sı genelinde Microsoft Entra belirteci kimlik doğrulaması desteği sağlayan Java için Azure Kimlik kitaplığına genel bir bakış sağlanır. Bu kitaplık, Microsoft Entra belirteci kimlik doğrulamasını destekleyen Azure SDK istemcileri oluşturmak için kullanabileceğiniz bir dizi TokenCredential uygulama sağlar.
Azure Kimlik kitaplığı şu anda aşağıdakileri desteklemektedir:
-
Java geliştirme ortamlarında Azure kimlik doğrulaması şunları sağlar:
- IntelliJ için Azure Toolkit'ten alınan oturum açma bilgileriyle IDEA IntelliJ kimlik doğrulaması.
- Azure CLI kimlik doğrulaması, oturum açma bilgileri Azure CLI'ye kaydedildi
- Azure Geliştirici CLI'sına kaydedilen oturum açma bilgileriyle Azure Geliştirici CLI kimlik doğrulaması
- Azure PowerShell'de kaydedilen oturum açma bilgileriyle Azure PowerShell kimlik doğrulaması
-
Azure'da barındırılan uygulamaların kimliğini doğrulama:
-
DefaultAzureCredentialkimlik doğrulaması - Yönetilen Kimlik ile kimlik doğrulama
-
-
Hizmet sorumlularıyla kimlik doğrulaması, şunları sağlar:
- İstemci Gizli kimlik doğrulaması
- İstemci Sertifikası kimlik doğrulaması
-
Kullanıcı kimlik bilgileriyle kimlik doğrulaması:
- Etkileşimli tarayıcı kimlik doğrulaması
- Cihaz kodu kimlik doğrulaması
- Kullanıcı adı/parola kimlik doğrulaması
Bu kimlik doğrulama yaklaşımlarının her birinin özellikleri hakkında daha fazla bilgi edinmek için bu bağlantıları izleyin. Bu makalenin geri kalanında yaygın olarak kullanılan DefaultAzureCredential ve ilgili konuları tanıtacağız.
Maven bağımlılıklarını ekleme
Kitaplığın kararlı sürümüne bağımlılık oluşturmak için projenize azure-sdk-bom ekleyin. Aşağıdaki kod parçacığında yer tutucuyu {bom_version_to_target} sürüm numarasıyla değiştirin. Azure SDK ve Apache Maven ile çalışmaya başlamabelgesindeki Java için Azure SDK'yı var olan bir projeye ekleme bölümüne bakarak Ürün Reçetesi hakkında daha fazla bilgi edinin.
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Ardından sürüm etiketi olmadan doğrudan bağımlılığı dependencies bölümüne ekleyin:
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
</dependencies>
Temel kavramlar
Azure Kimlik kitaplığını anlamak için iki temel kavram vardır: kimlik bilgisi kavramı ve bu kimlik bilgilerinin en yaygın uygulaması olan DefaultAzureCredential.
Kimlik bilgisi, bir hizmet istemcisinin isteklerin kimliğini doğrulamak için gereken verileri içeren veya alabilen bir sınıftır. Azure SDK'sı genelindeki hizmet istemcileri, oluşturulduğunda kimlik bilgilerini kabul eder ve hizmet istemcileri hizmette isteklerin kimliğini doğrulamak için bu kimlik bilgilerini kullanır.
Azure Kimlik kitaplığı, Microsoft Entra Id ile OAuth kimlik doğrulamasına odaklanır ve hizmet isteklerinin kimliğini doğrulamak için bir Microsoft Entra belirteci alabilen çeşitli kimlik bilgisi sınıfları sunar. Bu kitaplıktaki tüm kimlik bilgisi sınıfları azure-core'daki TokenCredentialsoyut sınıfın uygulamalarıdır ve bunlardan herhangi birini kullanarak ile TokenCredentialkimlik doğrulaması yapabilecek hizmet istemcileri oluşturabilirsiniz.
DefaultAzureCredential , uygulamanın nihai olarak Azure Bulut'ta çalışmasının amaçlandığı çoğu senaryo için uygundur.
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. kullanan DefaultAzureCredentialörnekler de dahil olmak üzere daha fazla bilgi için Azure'da barındırılan Java uygulamalarının kimliğini doğrulama bölümünün DefaultAzureCredential bölümüne bakın.
Örnekler
Java için Azure SDK'yı kullanma bölümünde belirtildiği gibi, yönetim kitaplıkları biraz farklılık gösterir. Azure hizmetlerini kullanmak için istemci kitaplıkları ve Azure hizmetlerini yönetmek için yönetim kitaplıkları olduğundan, farklılıklarından biri budur. Aşağıdaki bölümlerde hem istemci hem de yönetim kitaplıklarında kimlik doğrulamasına hızlı bir genel bakış verilmiştir.
Azure istemci kitaplıklarının kimliğini doğrulama
Aşağıdaki örnek, SecretClient kullanılarak azure-security-keyvault-secrets istemci kitaplığından kimlik doğrulamanın nasıl yapılacağını göstermektedir.
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
Azure yönetim kitaplıklarının kimliğini doğrulama
Azure yönetim kitaplıkları, Azure istemci kitaplıkları ile aynı kimlik bilgisi API'lerini kullanır, ancak bu abonelikteki Azure kaynaklarını yönetmek için bir Azure abonelik kimliği gerektirir.
Abonelik kimliklerini Azure portalındaki Abonelikler sayfasında bulabilirsiniz. Alternatif olarak, abonelik kimliklerini almak için aşağıdaki Azure CLI komutunu kullanın:
az account list --output table
Abonelik kimliğini ortam değişkeninde AZURE_SUBSCRIPTION_ID ayarlayabilirsiniz.
AzureProfile aşağıdaki örnekte örnek Manager oluşturulurken bu kimliği varsayılan abonelik kimliği olarak alır:
AzureResourceManager azureResourceManager = AzureResourceManager.authenticate(
new DefaultAzureCredentialBuilder().build(),
new AzureProfile(AzureEnvironment.AZURE))
.withDefaultSubscription();
DefaultAzureCredential bu örnekte, AzureResourceManager kullanarak bir DefaultAzureCredential örneğinin kimliğini doğrular. Azure Kimlik kitaplığında sunulan diğer Belirteç Kimlik Bilgisi uygulamalarını DefaultAzureCredential yerine de kullanabilirsiniz.
Sorun giderme
Kılavuz için, Azure Kimlik doğrulama sorunlarını giderme konusuna bakın.
Sonraki adımlar
Bu makalede, Java için Azure SDK'da sağlanan Azure Kimliği işlevselliği tanıtıldı.
DefaultAzureCredential çoğunlukla yaygın ve uygun olarak tanımlanmıştır. Aşağıdaki makalelerde, Azure Kimlik kitaplığını kullanarak kimlik doğrulaması yapmanın diğer yolları açıklanır ve hakkında DefaultAzureCredentialdaha fazla bilgi sağlanır: