Mengautentikasi aplikasi JavaScript ke layanan Azure selama pengembangan lokal menggunakan akun pengembang
Saat Anda membuat aplikasi cloud, pengembang perlu men-debug dan menguji aplikasi di stasiun kerja lokal mereka. Saat aplikasi dijalankan di stasiun kerja pengembang selama pengembangan lokal, aplikasi masih harus mengautentikasi ke setiap layanan Azure yang digunakan oleh aplikasi. Artikel ini membahas cara menggunakan kredensial Azure pengembang untuk mengautentikasi aplikasi ke Azure selama pengembangan lokal.
Agar aplikasi dapat mengautentikasi ke Azure selama pengembangan lokal menggunakan kredensial Azure pengembang, pengembang harus masuk ke Azure dari ekstensi Visual Studio Code Azure Tools, Azure CLI, atau Azure PowerShell. Azure SDK untuk JavaScript dapat mendeteksi bahwa pengembang masuk dari salah satu alat ini lalu mendapatkan kredensial yang diperlukan dari cache kredensial untuk mengautentikasi aplikasi ke Azure sebagai pengguna yang masuk.
Pendekatan ini paling mudah disiapkan untuk tim pengembangan karena memanfaatkan akun Azure pengembang yang ada. Namun, akun pengembang kemungkinan akan memiliki lebih banyak izin daripada yang diperlukan oleh aplikasi, oleh karena itu melebihi izin yang dijalankan aplikasi dalam produksi. Sebagai alternatif, Anda dapat membuat perwakilan layanan aplikasi untuk digunakan selama pengembangan lokal, yang dapat dilingkupkan agar hanya memiliki akses yang diperlukan oleh aplikasi.
1 - Membuat grup Microsoft Entra untuk pengembangan lokal
Karena hampir selalu ada beberapa pengembang yang mengerjakan aplikasi, disarankan untuk terlebih dahulu membuat grup Microsoft Entra untuk merangkum peran (izin) yang dibutuhkan aplikasi dalam pengembangan lokal. Ini menawarkan keuntungan berikut.
- Setiap pengembang diyakinkan untuk memiliki peran yang sama yang ditetapkan karena peran ditetapkan di tingkat grup.
- Jika peran baru diperlukan untuk aplikasi, peran tersebut hanya perlu ditambahkan ke grup Microsoft Entra untuk aplikasi tersebut.
- Jika pengembang baru bergabung dengan tim, mereka hanya harus ditambahkan ke grup Microsoft Entra yang benar untuk mendapatkan izin yang benar untuk bekerja di aplikasi.
Jika Anda memiliki grup Microsoft Entra yang sudah ada untuk tim pengembangan, Anda dapat menggunakan grup tersebut. Jika tidak, selesaikan langkah-langkah berikut untuk membuat grup Microsoft Entra.
2 - Menetapkan peran ke grup Microsoft Entra
Selanjutnya, Anda perlu menentukan peran (izin) apa yang dibutuhkan aplikasi Anda pada sumber daya apa dan menetapkan peran tersebut ke aplikasi Anda. Dalam contoh ini, peran ditetapkan ke grup Microsoft Entra yang dibuat di langkah 1. Peran dapat diberi peran di sumber daya, grup sumber daya, atau cakupan 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.
3 - Masuk ke Azure menggunakan Visual Studio Code, Azure CLI, atau Azure PowerShell
Buka terminal di stasiun kerja pengembang Anda dan masuk ke Azure dari Azure PowerShell.
Connect-AzAccount
4 - Menerapkan DefaultAzureCredential di aplikasi Anda
Untuk mengautentikasi objek klien Azure SDK ke Azure, aplikasi Anda harus menggunakan DefaultAzureCredential
kelas dari @azure/identity
paket. Dalam skenario ini, DefaultAzureCredential
secara berurutan akan memeriksa untuk melihat apakah pengembang telah masuk ke Azure menggunakan ekstensi alat Azure Visual Studio Code, Azure CLI, atau Azure PowerShell. Jika pengembang masuk ke Azure menggunakan salah satu alat ini, kredensial yang digunakan untuk masuk ke alat akan digunakan oleh aplikasi untuk mengautentikasi ke Azure.
Mulailah dengan menambahkan paket @azure/identitas ke aplikasi Anda.
npm install @azure/identity
Selanjutnya, untuk kode JavaScript apa pun yang membuat objek klien Azure SDK di aplikasi, Anda harus:
DefaultAzureCredential
Impor kelas dari@azure/identity
modul.- Buat objek
DefaultAzureCredential
. - Teruskan
DefaultAzureCredential
objek ke konstruktor objek klien Azure SDK.
Contoh ini ditampilkan di segmen kode berikut.
import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';
// Acquire a credential object
const tokenCredential = DefaultAzureCredential();
const blobServiceClient = BlobServiceClient(
`https://${accountName}.blob.core.windows.net`,
tokenCredential
);
DefaultAzureCredential
akan secara otomatis mendeteksi mekanisme autentikasi yang dikonfigurasi untuk aplikasi dan mendapatkan token yang diperlukan untuk mengautentikasi aplikasi ke Azure. Jika aplikasi menggunakan lebih dari satu klien SDK, objek kredensial yang sama dapat digunakan dengan setiap objek klien SDK.