Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menyediakan gambaran umum pustaka Azure Identity untuk Java, yang menyediakan dukungan autentikasi token Microsoft Entra di seluruh Azure SDK untuk Java. Pustaka ini menyediakan serangkaian TokenCredential
implementasi yang dapat Anda gunakan untuk membangun klien Azure SDK yang mendukung autentikasi token Microsoft Entra.
Pustaka Azure Identity saat ini mendukung:
-
Autentikasi Azure di lingkungan pengembangan Java, yang memungkinkan:
- Autentikasi IDEA IntelliJ, dengan informasi masuk yang diperoleh dari Azure Toolkit untuk IntelliJ.
- Autentikasi Azure CLI, dengan informasi masuk yang disimpan di Azure CLI
- Autentikasi Azure Developer CLI, dengan informasi masuk yang disimpan di Azure Developer CLI
- Autentikasi Azure PowerShell, dengan informasi masuk yang disimpan di Azure PowerShell
-
Mengautentikasi aplikasi yang dihosting di Azure, yang memungkinkan:
-
DefaultAzureCredential
autentikasi - Autentikasi Identitas yang Dikelola
-
-
Autentikasi dengan prinsipal layanan, yang memungkinkan:
- Autentikasi Rahasia Klien
- Mengautentikasi sertifikat klien
-
Autentikasi dengan kredensial pengguna, yang memungkinkan:
- Autentikasi browser interaktif
- Autentikasi kode perangkat
- Autentikasi nama pengguna/kata sandi
Ikuti tautan ini untuk mempelajari selengkapnya tentang spesifikasi masing-masing pendekatan autentikasi ini. Dalam sisa artikel ini, kami memperkenalkan DefaultAzureCredential
yang umum digunakan dan subjek terkait.
Tambahkan dependensi Maven
Sertakan azure-sdk-bom
dalam proyek Anda untuk mengambil dependensi pada versi pustaka yang stabil. Dalam cuplikan berikut, ganti tempat {bom_version_to_target}
dengan nomor versi. Untuk mempelajari selengkapnya tentang BOM, lihat bagian Menambahkan Azure SDK for Java ke proyek yang sudah ada di Mulai menggunakan Azure SDK dan Apache Maven.
<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>
Kemudian sertakan dependensi langsung di bagian dependencies
tanpa tag versi:
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
</dependencies>
Konsep kunci
Ada dua konsep utama dalam memahami pustaka Azure Identity: konsep kredensial, dan implementasi paling umum dari kredensial tersebut, DefaultAzureCredential
.
Kredensial adalah kelas yang berisi atau dapat memperoleh data yang diperlukan untuk klien layanan untuk mengautentikasi permintaan. Klien layanan di seluruh Azure SDK menerima kredensial saat dibangun, dan klien layanan menggunakan kredensial tersebut untuk mengautentikasi permintaan ke layanan.
Pustaka Azure Identity berfokus pada autentikasi OAuth dengan ID Microsoft Entra, dan menawarkan berbagai kelas kredensial yang dapat memperoleh token Microsoft Entra guna melakukan autentikasi permintaan layanan. Semua kelas kredensial di pustaka ini adalah implementasi dari TokenCredential
kelas abstrak di azure-core, dan Anda dapat menggunakan salah satunya untuk membangun klien layanan yang dapat mengautentikasi dengan satu TokenCredential
.
DefaultAzureCredential
sesuai untuk sebagian besar skenario di mana aplikasi dimaksudkan untuk pada akhirnya berjalan di Azure Cloud.
DefaultAzureCredential
menggabungkan kredensial yang biasa digunakan untuk mengautentikasi saat disebarkan, dengan kredensial yang digunakan untuk mengautentikasi di lingkungan pengembangan. Untuk informasi selengkapnya, termasuk contoh menggunakan DefaultAzureCredential
, lihat bagian DefaultAzureCredential dari Mengautentikasi aplikasi Java yang dihosting Azure.
Contoh
Seperti disebutkan dalam Gunakan Azure SDK untuk Java, pustaka manajemen sedikit berbeda. Salah satu caranya berbeda adalah ada pustaka untuk menggunakan layanan Azure, yang disebut pustaka klien , dan pustaka untuk mengelola layanan Azure, yang disebut pustaka manajemen . Di bagian berikut, ada gambaran sekilas tentang pengautentikasian pada pustaka klien dan manajemen.
Mengautentikasi pustaka klien Azure
Contoh berikut menunjukkan autentikasi SecretClient
dari pustaka klien azure-security-keyvault-secrets menggunakan DefaultAzureCredential
.
// 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();
Mengutentikasi pustaka manajemen Azure
Pustaka manajemen Azure menggunakan API kredensial yang sama dengan pustaka klien Azure, tetapi juga memerlukan ID langganan Azure untuk mengelola sumber daya Azure pada langganan tersebut.
Anda dapat menemukan ID langganan Azure di halaman Langganan di portal Azure. Atau, gunakan perintah Azure CLI berikut untuk mendapatkan ID langganan:
az account list --output table
Anda dapat mengatur ID langganan dalam variabel lingkungan AZURE_SUBSCRIPTION_ID
.
AzureProfile
mengambil ID ini sebagai ID langganan default selama pembuatan Manager
instans dalam contoh berikut:
AzureResourceManager azureResourceManager = AzureResourceManager.authenticate(
new DefaultAzureCredentialBuilder().build(),
new AzureProfile(AzureEnvironment.AZURE))
.withDefaultSubscription();
DefaultAzureCredential
digunakan dalam contoh ini mengautentikasi AzureResourceManager
instans menggunakan DefaultAzureCredential
. Anda juga dapat menggunakan implementasi Kredensial Token lain yang ditawarkan di pustaka Azure Identity sebagai pengganti DefaultAzureCredential
.
Pemecahan Masalah
Untuk panduan, lihat Memecahkan masalah autentikasi Azure Identity.
Langkah berikutnya
Artikel ini memperkenalkan fungsionalitas Azure Identity yang tersedia di Azure SDK for Java. Ini dijelaskan DefaultAzureCredential
sebagai umum dan sesuai dalam banyak kasus. Artikel berikut ini menjelaskan cara lain untuk mengautentikasi menggunakan pustaka Azure Identity, dan memberikan informasi selengkapnya tentang DefaultAzureCredential
: