Mengautentikasi ke sumber daya Azure dari aplikasi JavaScript lokal
Aplikasi yang berjalan di luar Azure (misalnya lokal atau di pusat data pihak ketiga) harus menggunakan perwakilan layanan aplikasi untuk mengautentikasi ke Azure saat mengakses sumber daya Azure. Objek perwakilan layanan aplikasi dibuat menggunakan proses pendaftaran aplikasi di Azure. Saat perwakilan layanan aplikasi dibuat, ID klien dan rahasia klien dibuat untuk aplikasi Anda. Anda menyimpan ID klien, rahasia klien, dan ID penyewa Anda dalam variabel lingkungan sehingga Azure SDK untuk JavaScript menggunakan variabel lingkungan untuk mengautentikasi aplikasi Anda ke Azure saat runtime.
Pendaftaran aplikasi yang berbeda harus dibuat untuk setiap lingkungan (seperti pengujian, tahap, produksi) tempat aplikasi berjalan. Hal ini memungkinkan izin sumber daya khusus lingkungan dikonfigurasi untuk setiap perwakilan layanan dan memastikan aplikasi yang disebarkan ke satu lingkungan tidak berbicara dengan sumber daya Azure yang merupakan bagian dari lingkungan lain.
1 - Mendaftarkan aplikasi di Azure
Aplikasi dapat didaftarkan dengan Azure menggunakan portal Microsoft Azure atau Azure CLI.
Masuk ke portal Azure dan ikuti langkah-langkah berikut.
2 - Menetapkan peran ke perwakilan layanan aplikasi
Selanjutnya, Anda perlu menentukan peran (izin) apa yang dibutuhkan aplikasi Anda pada sumber daya apa dan menetapkan peran tersebut ke aplikasi Anda. Peran dapat diberi peran di sumber daya, grup sumber daya, atau cakupan langganan. Contoh ini akan 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 - Mengonfigurasi variabel lingkungan untuk aplikasi
Anda harus mengatur AZURE_CLIENT_ID
variabel lingkungan , AZURE_TENANT_ID
, dan AZURE_CLIENT_SECRET
untuk proses yang menjalankan aplikasi JavaScript Anda untuk membuat kredensial perwakilan layanan aplikasi tersedia untuk aplikasi Anda saat runtime. Objek DefaultAzureCredential
mencari informasi perwakilan layanan dalam variabel lingkungan ini.
AZURE_CLIENT_ID=<value>
AZURE_TENANT_ID=<value>
AZURE_CLIENT_SECRET=<value>
4 - Menerapkan DefaultAzureCredential di aplikasi Anda
Untuk mengautentikasi objek klien Azure SDK ke Azure, aplikasi Anda harus menggunakan DefaultAzureCredential
kelas dari paket @azure/identitas .
Pertama, tambahkan 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.
// connect-with-default-azure-credential.js
import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';
import 'dotenv/config'
const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
if (!accountName) throw Error('Azure Storage accountName not found');
const blobServiceClient = new BlobServiceClient(
`https://${accountName}.blob.core.windows.net`,
new DefaultAzureCredential()
);
Ketika kode di atas membuat instans DefaultAzureCredential
AZURE_SUBSCRIPTION_ID
objek, DefaultAzureCredential
membaca variabel lingkungan , , AZURE_CLIENT_ID
AZURE_TENANT_ID
, dan AZURE_CLIENT_SECRET
untuk informasi utama layanan aplikasi untuk terhubung ke Azure.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk