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.
Selama pengembangan lokal, aplikasi perlu mengautentikasi ke Azure untuk mengakses berbagai layanan Azure. Anda dapat mengautentikasi secara lokal dengan menggunakan salah satu pendekatan berikut:
- Gunakan akun pengembang dengan salah satu alat pengembang yang didukung oleh pustaka identitas Azure. Untuk informasi selengkapnya, lihat bagaimana mengautentikasi aplikasi Java ke layanan Azure selama pengembangan lokal dengan menggunakan akun pengembang.
- Gunakan prinsipal layanan.
Artikel ini menjelaskan cara menggunakan identitas utama layanan aplikasi. Untuk informasi selengkapnya tentang perwakilan layanan, lihat Aplikasi dan objek perwakilan layanan di Microsoft Entra ID. Dalam artikel ini, Anda belajar tentang:
- Cara mendaftarkan aplikasi dengan Microsoft Entra untuk membuat perwakilan layanan.
- Cara menggunakan grup Microsoft Entra untuk mengelola izin secara efisien.
- Cara menetapkan peran untuk izin cakupan.
- Cara mengautentikasi dengan menggunakan prinsipal layanan dari kode aplikasi Anda.
Menggunakan perwakilan layanan aplikasi khusus memungkinkan Anda untuk mengikuti prinsip hak istimewa paling sedikit saat mengakses sumber daya Azure. Anda dapat membatasi izin ke persyaratan khusus aplikasi selama pengembangan untuk mencegah akses yang tidak disengaja ke sumber daya Azure yang ditujukan untuk aplikasi atau layanan lain. Pendekatan ini juga membantu Anda menghindari masalah saat memindahkan aplikasi ke produksi dengan memastikannya tidak terlalu istimewa di lingkungan pengembangan.
diagram
Saat Anda mendaftarkan aplikasi di Azure, prinsipal layanan aplikasi dibuat. Untuk pengembangan lokal, Anda harus:
- Buat pendaftaran aplikasi terpisah untuk setiap pengembang yang bekerja di aplikasi sehingga setiap pengembang memiliki perwakilan layanan aplikasi mereka sendiri dan tidak perlu berbagi kredensial.
- Buat pendaftaran aplikasi terpisah untuk setiap aplikasi untuk membatasi izin aplikasi hanya untuk apa yang diperlukan.
Selama pengembangan lokal, atur variabel lingkungan dengan identitas perwakilan layanan aplikasi. Pustaka identitas Azure membaca variabel lingkungan ini untuk mengautentikasi aplikasi ke sumber daya Azure yang diperlukan.
Mendaftarkan aplikasi di Azure
Objek prinsip layanan aplikasi dibuat melalui pendaftaran aplikasi di platform Azure menggunakan portal Azure atau Azure CLI.
Di portal Azure, gunakan bilah pencarian untuk menavigasi ke halaman App registrations.
Pada halaman App registrations, pilih + Pendaftaran baru.
Pada halaman Daftarkan aplikasi:
- Untuk bidang Nama, masukkan nilai deskriptif yang menyertakan nama aplikasi dan lingkungan target.
- Untuk Jenis akun yang didukung, pilih Akun di direktori organisasi ini saja (Hanya Microsoft Customer Led - Penyewa tunggal), atau opsi mana yang paling sesuai dengan kebutuhan Anda.
Pilih Daftarkan untuk mendaftarkan aplikasi Anda dan buat perwakilan layanan.
cuplikan layar
Pada halaman Pendaftaran aplikasi untuk aplikasi Anda, salin ID Aplikasi (klien) dan ID Direktori (penyewa) dan tempelkan di lokasi sementara untuk digunakan nanti dalam konfigurasi kode aplikasi Anda.
Pilih Tambahkan sertifikat atau rahasia untuk menyiapkan kredensial untuk aplikasi Anda.
Pada halaman Sertifikat & rahasia, pilih + Rahasia klien baru.
Pada panel pop-up Tambahkan rahasia klien yang terbuka:
- Untuk Deskripsi, masukkan nilai Saat Ini.
- Untuk nilai Kedaluwarsa , biarkan nilai yang direkomendasikan secara default, yaitu 180 hari.
- Pilih Tambahkan untuk menambahkan rahasia.
Pada halaman Sertifikat & rahasia, salin properti Nilai rahasia klien untuk digunakan dalam langkah selanjutnya.
Nota
Nilai rahasia klien hanya ditampilkan sekali setelah pendaftaran aplikasi dibuat. Anda dapat menambahkan lebih banyak rahasia klien tanpa membatalkan rahasia klien ini, tetapi tidak ada cara untuk menampilkan nilai ini lagi.
Membuat grup Microsoft Entra untuk pengembangan lokal
Buat grup Microsoft Entra untuk merangkum peran (izin) yang dibutuhkan aplikasi dalam pengembangan lokal daripada menetapkan peran ke objek perwakilan layanan individual. Pendekatan ini menawarkan keuntungan berikut:
- Setiap pengembang memiliki peran yang sama yang ditetapkan di tingkat grup.
- Jika peran baru diperlukan untuk aplikasi, peran tersebut hanya perlu ditambahkan ke grup untuk aplikasi.
- Jika pengembang baru bergabung dengan tim, perwakilan layanan aplikasi baru dibuat untuk pengembang dan ditambahkan ke grup, memastikan pengembang memiliki izin yang tepat untuk mengerjakan aplikasi.
Navigasi ke halaman gambaran umum Microsoft Entra ID di portal Azure.
Pilih Semua grup dari menu sebelah kiri.
Pada halaman Grup , pilih Grup baru.
Pada halaman Grup baru , isi bidang formulir berikut ini:
- Jenis grup: Pilih Keamanan.
- Nama grup: Masukkan nama untuk grup yang menyertakan referensi ke aplikasi atau nama lingkungan.
- Deskripsi grup: Masukkan deskripsi yang menjelaskan tujuan grup.
Cuplikan layar menunjukkan cara membuat grup di portal Azure.
Pilih link Tidak ada anggota yang dipilih di bawah Anggota untuk menambahkan anggota ke grup.
Di panel pop-up yang terbuka, cari prinsipal layanan yang Anda buat sebelumnya dan pilih dari hasil yang sudah difilter. Pilih tombol Pilih di bagian bawah panel untuk mengonfirmasi pilihan Anda.
Pilih Buat di bagian bawah halaman Grup baru untuk membuat grup dan kembali ke halaman Semua grup . Jika Anda tidak melihat grup baru tercantum, tunggu sebentar dan refresh halaman.
Menetapkan peran ke grup
Selanjutnya, tentukan peran (izin) apa yang dibutuhkan aplikasi Anda pada sumber daya apa dan tetapkan peran tersebut ke grup Microsoft Entra yang Anda buat. Grup dapat diberi peranan di ruang lingkup sumber daya, grup sumber daya, atau langganan. Contoh ini menunjukkan cara menetapkan peran di cakupan grup sumber daya, karena sebagian besar aplikasi mengelompokkan semua sumber daya Azure mereka ke dalam satu grup sumber daya.
Di portal Azure, navigasikan ke halaman Overview grup sumber daya yang berisi aplikasi Anda.
Pilih Kontrol akses (IAM) dari navigasi kiri.
Pada halaman Kontrol akses (IAM), pilih + Tambahkan lalu pilih Tambahkan penetapan peran dari menu drop-down. Halaman Tambahkan penetapan peran menyediakan beberapa tab untuk mengonfigurasi dan menetapkan peran.
Pada tab Peran , gunakan kotak pencarian untuk menemukan peran yang ingin Anda tetapkan. Pilih peran, lalu pilih Berikutnya.
Pada tab Anggota :
- Untuk Menetapkan akses ke nilai, pilih Pengguna, grup, atau perwakilan layanan .
- Untuk nilai Anggota , pilih + Pilih anggota untuk membuka panel flyout Pilih anggota .
- Cari grup Microsoft Entra yang Anda buat sebelumnya dan pilih dari hasil yang difilter. Pilih Pilih untuk memilih grup dan menutup panel flyout.
- Pilih Tinjau + tetapkan di bawah tab Anggota.
Cuplikan layar yang menunjukkan cara menetapkan fungsi ke grup Microsoft Entra.
Di tab
Tinjau & Tetapkan , pilihTinjau & Tetapkan di bagian bawah halaman.
Mengatur variabel lingkungan aplikasi
Selama waktu proses, kredensial tertentu dari pustaka Azure Identity
Terlepas dari pendekatan yang Anda pilih, konfigurasikan variabel lingkungan berikut untuk perwakilan layanan:
-
AZURE_CLIENT_ID: Digunakan untuk mengidentifikasi aplikasi terdaftar di Azure. -
AZURE_TENANT_ID: ID penyewa Microsoft Entra. -
AZURE_CLIENT_SECRET: Kredensial rahasia yang dihasilkan untuk aplikasi.
- Bash
- Visual Studio Code
- IntelliJ IDEA
Tambahkan baris berikut ke ~/.bashrcfile Anda~/.zshrc. Ganti nilai tempat penampung dengan nilai aktual dari pendaftaran aplikasi Anda:
export AZURE_CLIENT_ID="<your-client-id>"
export AZURE_TENANT_ID="<your-tenant-id>"
export AZURE_CLIENT_SECRET="<your-client-secret>"
Setelah mengedit file, jalankan source ~/.bashrc atau source ~/.zshrc terapkan perubahan pada sesi Anda saat ini.
Mengautentikasi ke layanan Azure dari aplikasi Anda
Pustaka identitas Azure menyediakan berbagai credentials - implementasi TokenCredential yang mendukung skenario yang berbeda dan alur autentikasi Microsoft Entra. Langkah-langkah berikut menunjukkan kepada Anda cara menggunakan ClientSecretCredential saat Anda bekerja dengan perwakilan layanan secara lokal dan dalam produksi.
Menerapkan kode
Tambahkan azure-identity dependensi ke file pom.xml Anda:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
Anda mengakses layanan Azure dengan menggunakan kelas klien khusus dari berbagai pustaka klien Azure SDK. Untuk kode Java apa pun yang membuat objek klien Azure SDK di aplikasi Anda, ikuti langkah-langkah berikut:
- Impor kelas
ClientSecretCredentialBuilderdari paketcom.azure.identity. - Buat
ClientSecretCredentialobjek dengan menggunakanClientSecretCredentialBuilderdengantenantId, ,clientIddanclientSecret. - Teruskan instans
ClientSecretCredentialke metodecredentialpenyusun objek klien Azure SDK.
Contoh pendekatan ini ditampilkan di segmen kode berikut:
import com.azure.identity.ClientSecretCredential;
import com.azure.identity.ClientSecretCredentialBuilder;
import com.azure.storage.blob.BlobServiceClient;
import com.azure.storage.blob.BlobServiceClientBuilder;
String tenantId = System.getenv("AZURE_TENANT_ID");
String clientId = System.getenv("AZURE_CLIENT_ID");
String clientSecret = System.getenv("AZURE_CLIENT_SECRET");
ClientSecretCredential credential = new ClientSecretCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientSecret(clientSecret)
.build();
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("https://<account-name>.blob.core.windows.net")
.credential(credential)
.buildClient();
Langkah berikutnya
Artikel ini membahas autentikasi melalui perwakilan layanan. Bentuk autentikasi ini adalah salah satu dari banyak cara Anda dapat mengautentikasi di Azure SDK untuk Java. Artikel berikut ini menjelaskan cara lain untuk mengautentikasi:
- Mengautentikasi aplikasi Java ke layanan Azure selama pengembangan lokal dengan menggunakan akun pengembang
- Mengotentikasi aplikasi Java yang dihosting di Azure ke sumber daya Azure dengan menggunakan identitas terkelola yang ditetapkan sistem
- Otentikasi aplikasi Java yang dihosting di Azure ke sumber daya Azure melalui identitas terkelola yang ditetapkan pengguna
Jika Anda mengalami masalah terkait autentikasi perwakilan layanan, lihat Memecahkan masalah autentikasi perwakilan layanan.
Setelah Anda menguasai autentikasi, lihat Konfigurasi pengelogan di Azure SDK untuk Java untuk informasi tentang fungsionalitas pengelogan yang disediakan oleh SDK.