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.
- Gunakan prinsipal layanan. Untuk informasi selengkapnya, lihat Mengautentikasi aplikasi Java ke layanan Azure selama pengembangan lokal dengan menggunakan principal layanan.
Artikel ini menjelaskan cara mengautentikasi dengan menggunakan akun pengembang dengan alat yang didukung oleh pustaka identitas Azure. Dalam artikel ini, Anda belajar tentang:
- Cara menggunakan grup Microsoft Entra untuk mengelola izin secara efisien untuk beberapa akun pengembang.
- Cara menetapkan peran untuk akun pengembang guna membatasi izin.
- Cara masuk ke alat pengembangan lokal yang didukung.
- Cara mengautentikasi dengan menggunakan akun pengembang dari kode aplikasi Anda.
Alat pengembang yang didukung untuk autentikasi
Selama pengembangan lokal, aplikasi dapat mengautentikasi ke Azure dengan menggunakan kredensial Azure Anda. Agar autentikasi ini berfungsi, Anda harus masuk ke Azure dari alat pengembang seperti salah satu hal berikut ini:
- Azure CLI
- Azure Developer CLI
- Azure PowerShell
- Visual Studio Code
- IntelliJ IDEA
Pustaka identitas Azure dapat mendeteksi bahwa pengembang masuk dari salah satu alat ini. Pustaka kemudian dapat memperoleh token akses Microsoft Entra melalui alat untuk mengautentikasi aplikasi untuk Azure sebagai pengguna yang masuk.
Pendekatan ini memanfaatkan akun Azure pengembang yang ada untuk menyederhanakan proses autentikasi. Namun, akun pengembang kemungkinan memiliki lebih banyak izin daripada yang diperlukan aplikasi; oleh karena itu, melebihi izin yang digunakan aplikasi dalam lingkungan produksi. Sebagai alternatif, Anda dapat membuat prinsipal layanan aplikasi untuk digunakan selama pengembangan lokal, yang dapat dibatasi agar hanya memiliki akses yang diperlukan oleh aplikasi.
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.
Masuk ke Azure dengan menggunakan alat pengembang
Selanjutnya, masuk ke Azure dengan menggunakan salah satu alat pengembang yang dapat Anda gunakan untuk melakukan autentikasi di lingkungan pengembangan Anda. Akun yang Anda autentikasi juga harus ada di grup Microsoft Entra yang Anda buat dan konfigurasikan sebelumnya.
- Visual Studio Code
- IntelliJ IDEA
- Azure CLI
- Azure Developer CLI
- Azure PowerShell
Pengembang yang menggunakan Visual Studio Code dapat mengautentikasi dengan akun pengembang mereka langsung melalui editor melalui broker. Aplikasi yang menggunakan DefaultAzureCredential atau VisualStudioCodeCredential kemudian dapat menggunakan akun ini untuk mengautentikasi permintaan aplikasi melalui pengalaman akses menyeluruh yang mulus.
Di Visual Studio Code, buka panel Extensions dan instal ekstensi Azure Resources. Ekstensi ini memungkinkan Anda melihat dan mengelola sumber daya Azure langsung dari Visual Studio Code. Ini juga menggunakan penyedia autentikasi Microsoft Visual Studio Code bawaan untuk mengautentikasi dengan Azure.
Buka Palet Perintah di Visual Studio Code, lalu cari dan pilih Azure: Masuk.
Petunjuk / Saran
Buka Palet Perintah menggunakan
Ctrl+Shift+Pdi Windows/Linux atauCmd+Shift+Pdi macOS.
Mengautentikasi ke layanan Azure dari aplikasi Anda
Pustaka identitas Azure menyediakan implementasi TokenCredential yang mendukung berbagai skenario dan alur autentikasi Microsoft Entra. Langkah-langkah berikut menunjukkan kepada Anda cara menggunakan DefaultAzureCredential atau kredensial alat pengembangan tertentu saat bekerja dengan akun pengguna secara lokal.
Menerapkan kode
Tambahkan
azure-identitydependensi ke filepom.xmlAnda:<dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> </dependency>Pilih salah satu implementasi kredensial berdasarkan skenario Anda.
- Gunakan kredensial khusus untuk alat pengembangan Anda: opsi ini paling cocok untuk skenario satu orang atau alat tunggal.
- Gunakan kredensial yang tersedia untuk digunakan dalam alat pengembangan apa pun: opsi ini paling cocok untuk proyek sumber terbuka dan tim alat yang beragam.
Menggunakan kredensial khusus untuk alat pengembangan Anda
Berikan instans TokenCredential yang sesuai dengan alat pengembangan tertentu ke konstruktor klien layanan Azure, seperti AzureCliCredential.
import com.azure.identity.AzureCliCredential;
import com.azure.identity.AzureCliCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
AzureCliCredential credential = new AzureCliCredentialBuilder().build();
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your-key-vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
Setiap kredensial alat mengikuti pola yang sama. Ganti jenis kredensial dan pembuat yang sesuai sesuai kebutuhan:
AzureCliCredential/AzureCliCredentialBuilderAzureDeveloperCliCredential/AzureDeveloperCliCredentialBuilderAzurePowerShellCredential/AzurePowerShellCredentialBuilderIntelliJCredential/IntelliJCredentialBuilderVisualStudioCodeCredential/VisualStudioCodeCredentialBuilder
Gunakan kredensial yang tersedia untuk digunakan dalam alat pengembangan apa pun
Gunakan instans yang dioptimalkan DefaultAzureCredential untuk semua alat pengembangan lokal. Contoh ini memerlukan variabel lingkungan AZURE_TOKEN_CREDENTIALS disetel ke dev. Untuk informasi selengkapnya, lihat Mengecualikan kategori jenis kredensial.
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.requireEnvVars(AzureIdentityEnvVars.AZURE_TOKEN_CREDENTIALS)
.build();
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your-key-vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
Langkah berikutnya
Artikel ini membahas autentikasi selama pengembangan dengan menggunakan kredensial yang tersedia di komputer Anda. Bentuk autentikasi ini adalah salah satu dari beberapa cara Anda dapat mengautentikasi di Azure SDK untuk Java. Artikel berikut ini menjelaskan cara lain:
- Mengautentikasi aplikasi Java ke layanan Azure selama pengembangan lokal dengan menggunakan prinsipal layanan
- 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 lingkungan pengembangan, lihat Memecahkan masalah autentikasi lingkungan pengembangan.
Setelah Anda menguasai autentikasi, lihat Konfigurasi pengelogan di Azure SDK untuk Java untuk informasi tentang fungsionalitas pengelogan yang disediakan oleh SDK.