Bagikan melalui


Mengautentikasi aplikasi Node.js ke layanan Azure selama pengembangan lokal menggunakan akun pengembang

Selama pengembangan lokal, aplikasi perlu mengautentikasi ke Azure untuk mengakses berbagai layanan Azure. Dua pendekatan umum untuk autentikasi lokal adalah menggunakan perwakilan layanan atau menggunakan akun pengembang. Artikel ini menjelaskan cara menggunakan akun pengembang. Di bagian depan, Anda mempelajari:

  • Cara menggunakan grup Microsoft Entra untuk mengelola izin secara efisien untuk beberapa akun pengembang
  • Cara menetapkan peran ke akun pengembang untuk menetapkan cakupan izin
  • Cara masuk ke alat pengembangan lokal yang didukung
  • Cara mengautentikasi menggunakan akun pengembang dari kode aplikasi Anda

Agar aplikasi dapat mengautentikasi ke Azure selama pengembangan lokal menggunakan kredensial Azure pengembang, pengembang harus masuk ke Azure dari salah satu alat pengembang berikut:

  • Azure CLI (antarmuka baris perintah Azure)
  • Azure Developer CLI
  • Azure PowerShell

Pustaka Azure Identity dapat mendeteksi bahwa pengembang masuk dari salah satu alat ini. Pustaka kemudian dapat memperoleh token akses Microsoft Entra melalui alat untuk mengautentikasi aplikasi ke 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 oleh aplikasi, sehingga melebihi izin yang dimiliki aplikasi saat dijalankan dalam 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 principal 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.
  1. Navigasi ke halaman gambaran umum ID Microsoft Entra di portal Microsoft Azure.

  2. Pilih Semua grup dari menu sebelah kiri.

  3. Pada halaman Grup , pilih Grup baru.

  4. 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 memperlihatkan cara membuat grup di portal Microsoft Azure.

  5. Pilih link Tidak ada anggota yang dipilih di bawah Anggota untuk menambahkan anggota ke grup.

  6. Di panel flyout yang terbuka, cari prinsipal layanan yang Anda buat sebelumnya dan pilih dari hasil yang telah difilter. Pilih tombol Pilih di bagian bawah panel untuk mengonfirmasi pilihan Anda.

  7. 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 peran di cakupan 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.

  1. Di portal Microsoft Azure, buka halaman Gambaran Umum grup sumber daya yang berisi aplikasi Anda.

  2. Pilih kontrol akses (IAM) dari navigasi kiri.

  3. 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.

  4. Pada tab Peran , gunakan kotak pencarian untuk menemukan peran yang ingin Anda tetapkan. Pilih peran, lalu pilih Berikutnya.

  5. Pada tab Anggota :

    • Untuk Tetapkan 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 memperlihatkan cara menetapkan peran ke grup Microsoft Entra.

  6. Di tab Tinjau & Tetapkan, pilih Tinjau & Tetapkan di bagian bawah halaman.

Masuk ke Azure menggunakan alat pengembang

Selanjutnya, masuk ke Azure menggunakan salah satu dari beberapa alat pengembang yang dapat digunakan untuk melakukan autentikasi di lingkungan pengembangan Anda. Akun yang Anda autentikasi juga harus ada di grup Microsoft Entra yang Anda buat dan konfigurasikan sebelumnya.

Pengembang dapat menggunakan Azure CLI untuk mengautentikasi ke ID Microsoft Entra. Aplikasi yang menggunakan DefaultAzureCredential atau AzureCliCredential kemudian dapat menggunakan akun ini untuk mengautentikasi permintaan aplikasi saat berjalan secara lokal.

Untuk mengautentikasi dengan Azure CLI, jalankan az login perintah . Pada sistem dengan browser web default, Azure CLI meluncurkan browser untuk mengautentikasi pengguna.

az login

Untuk sistem tanpa browser web default, perintah az login menggunakan alur autentikasi kode perangkat. Pengguna juga dapat memaksa Azure CLI untuk menggunakan alur kode perangkat daripada meluncurkan browser dengan menentukan argumen --use-device-code.

az login --use-device-code

Mengautentikasi ke layanan Azure dari aplikasi Anda

Pustaka Azure Identity menyediakan berbagai kredensial—implementasi TokenCredential yang disesuaikan untuk mendukung skenario yang berbeda dan alur autentikasi Microsoft Entra. Langkah-langkah di depan menunjukkan cara menggunakan DefaultAzureCredential saat bekerja dengan akun pengguna secara lokal.

Menerapkan kode

DefaultAzureCredential adalah urutan mekanisme yang diurutkan untuk mengautentikasi ke Microsoft Entra ID. Setiap mekanisme autentikasi adalah kelas yang berasal dari kelas TokenCredential dan dikenal sebagai kredensial. DefaultAzureCredential berupaya untuk mengautentikasi menggunakan kredensial pertama pada runtime. Jika kredensial tersebut gagal memperoleh token akses, kredensial berikutnya dalam urutan dicoba, dan sebagainya, hingga token akses berhasil diperoleh. Dengan cara ini, aplikasi Anda dapat menggunakan kredensial yang berbeda di lingkungan yang berbeda tanpa menulis kode khusus lingkungan.

Untuk menggunakan DefaultAzureCredential, tambahkan paket @azure/identitas ke aplikasi Anda. Di terminal pilihan Anda, navigasikan ke direktori proyek aplikasi dan jalankan perintah berikut:

npm install @azure/identity

Layanan Azure diakses menggunakan kelas klien khusus dari berbagai pustaka klien Azure SDK. Kelas ini dan layanan kustom Anda sendiri harus didaftarkan sehingga dapat diakses di seluruh aplikasi Anda. Selesaikan langkah-langkah terprogram berikut untuk membuat kelas klien dan DefaultAzureCredential:

  1. @azure/identity Impor paket.
  2. Buat klien layanan Azure dan berikan instans baru dari DefaultAzureCredential kepada klien tersebut.
import { DefaultAzureCredential } from "@azure/identity";
import { SomeAzureServiceClient } from "@azure/arm-some-service";

const client = new SomeAzureServiceClient(new DefaultAzureCredential());