Bagikan melalui


Mengonfigurasi Durable Functions dengan MICROSOFT Entra ID

ID Microsoft Entra (ID Microsoft Entra) adalah layanan manajemen identitas dan akses berbasis cloud. Koneksi berbasis identitas memungkinkan Durable Functions membuat permintaan resmi terhadap sumber daya yang dilindungi Microsoft Entra, seperti akun Azure Storage, tanpa perlu mengelola rahasia secara manual. Menggunakan penyedia penyimpanan Azure default, Durable Functions perlu mengautentikasi terhadap akun penyimpanan Azure. Dalam artikel ini, kami menunjukkan cara mengonfigurasi aplikasi Durable Functions untuk menggunakan dua jenis koneksi berbasis Identitas: kredensial identitas terkelola dan kredensial rahasia klien.

Identitas terkelola memungkinkan aplikasi Anda untuk dengan mudah mengakses sumber daya yang dilindungi Microsoft Entra lainnya seperti Azure Key Vault. Identitas terkelola didukung dalam ekstensi Durable Functions versi 2.7.0 dan yang lebih besar.

Catatan

Secara ketat, identitas terkelola hanya tersedia untuk aplikasi saat dijalankan di Azure. Saat dikonfigurasi untuk menggunakan koneksi berbasis identitas, aplikasi yang dijalankan secara lokal akan menggunakan kredensial pengembang Anda untuk mengautentikasi dengan sumber daya Azure. Kemudian, saat disebarkan di Azure, itu akan menggunakan konfigurasi identitas terkelola Anda sebagai gantinya.

Prasyarat

Langkah-langkah berikut mengasumsikan bahwa Anda memulai dengan aplikasi Durable Functions yang ada dan terbiasa dengan cara mengoperasikannya. Secara khusus, mulai cepat ini mengasumsikan bahwa Anda telah:

  • Membuat proyek Durable Functions di portal Azure atau menyebarkan Durable Functions lokal ke Azure.

Jika tidak demikian, kami sarankan Anda memulai dengan salah satu artikel berikut, yang memberikan instruksi terperinci tentang cara mencapai semua persyaratan di atas:

Aktifkan identitas terkelola

Hanya satu identitas yang diperlukan untuk fungsi Anda, baik identitas terkelola yang ditetapkan sistem atau identitas terkelola yang ditetapkan pengguna. Untuk mengaktifkan identitas terkelola untuk fungsi Anda dan mempelajari selengkapnya tentang perbedaan antara kedua identitas, baca instruksi terperinci di sini.

Menetapkan Kontrol Akses Berbasis Peran (RBAC) ke identitas terkelola

Navigasikan ke sumber daya penyimpanan aplikasi Anda di portal Azure. Ikuti instruksi ini untuk menetapkan peran berikut ke sumber daya identitas terkelola Anda.

  • Kontributor Data Antrean Penyimpanan
  • Kontributor Data Blob Penyimpanan
  • Kontributor Data Tabel Penyimpanan

Menambahkan konfigurasi identitas terkelola di portal Azure

Navigasi ke halaman Konfigurasi aplikasi fungsi Azure Anda dan lakukan perubahan berikut:

  1. Hapus nilai default "AzureWebJobsStorage".

Screenshot of default storage setting.

  1. Tautkan akun penyimpanan Azure Anda dengan menambahkan salah satu pengaturan nilai berikut:

    • AzureWebJobsStorage__accountName: Misalnya:mystorageaccount123

    • AzureWebJobsStorage__blobServiceUri: Contoh:https://mystorageaccount123.blob.core.windows.net/

      AzureWebJobsStorage__queueServiceUri: Contoh:https://mystorageaccount123.queue.core.windows.net/

      AzureWebJobsStorage__tableServiceUri: Contoh:https://mystorageaccount123.table.core.windows.net/

      Catatan

      Jika Anda menggunakan Azure Government atau cloud lain yang terpisah dari Azure global, Maka Anda harus menggunakan opsi kedua ini untuk menyediakan URL layanan tertentu. Nilai untuk pengaturan ini dapat ditemukan di akun penyimpanan di bawah tab Titik Akhir. Untuk informasi selengkapnya tentang menggunakan Azure Storage dengan Azure Government, lihat dokumentasi Kembangkan dengan STORAGE API di Azure Government .

    Screenshot of endpoint sample.

  2. Selesaikan konfigurasi identitas terkelola Anda:

    • Jika identitas yang ditetapkan sistem harus digunakan, tentukan tidak ada yang lain.

    • Jika identitas yang ditetapkan pengguna harus digunakan, tambahkan nilai pengaturan aplikasi berikut di konfigurasi aplikasi Anda:

      • AzureWebJobsStorage__credential: identitas terkelola

      • AzureWebJobsStorage__clientId: (Ini adalah nilai GUID yang Anda peroleh dari pusat admin Microsoft Entra)

      Screenshot of user identity client id.

Mengonfigurasi aplikasi Anda untuk menggunakan kredensial rahasia klien

Mendaftarkan aplikasi klien di ID Microsoft Entra adalah cara lain Anda dapat mengonfigurasi akses ke layanan Azure. Dalam langkah-langkah berikut, Anda akan mempelajari cara menggunakan kredensial rahasia klien untuk autentikasi ke akun Azure Storage Anda. Metode ini dapat digunakan oleh aplikasi fungsi baik secara lokal maupun di Azure. Namun, kredensial rahasia klien kurang direkomendasikan daripada identitas terkelola karena lebih rumit untuk mengonfigurasi dan mengelola dan memerlukan berbagi kredensial rahasia dengan layanan Azure Functions.

Prasyarat

Langkah-langkah berikut mengasumsikan bahwa Anda memulai dengan aplikasi Durable Functions yang ada dan terbiasa dengan cara mengoperasikannya. Secara khusus, mulai cepat ini mengasumsikan bahwa Anda telah:

  • Membuat proyek Durable Functions di komputer lokal Anda atau di portal Azure.

Mendaftarkan aplikasi klien di ID Microsoft Entra

  1. Daftarkan aplikasi klien di bawah ID Microsoft Entra di portal Azure sesuai dengan instruksi ini.

  2. Buat rahasia klien untuk aplikasi klien Anda. Dalam aplikasi terdaftar Anda:

    1. Pilih Sertifikat & Rahasia dan pilih Rahasia klien baru.

    2. Isi Deskripsi dan pilih waktu valid rahasia di bidang Kedaluwarsa.

    3. Salin dan simpan nilai rahasia dengan hati-hati karena tidak akan muncul lagi setelah Anda meninggalkan halaman.

    Screenshot of client secret page.

Menetapkan Kontrol Akses Berbasis Peran (RBAC) ke aplikasi klien

Tetapkan ketiga peran ini ke aplikasi klien Anda dengan langkah-langkah berikut.

  • Kontributor Data Antrean Penyimpanan
  • Kontributor Data Blob Penyimpanan
  • Kontributor Data Tabel Penyimpanan
  1. Navigasi ke halaman Access Control (IAM) akun penyimpanan fungsi Anda dan tambahkan penetapan peran baru.

    Screenshot of access control page.

  2. Pilih peran yang diperlukan, klik berikutnya, lalu cari aplikasi Anda, tinjau dan tambahkan.

    Screenshot of role assignment page.

Menambahkan konfigurasi rahasia klien

Untuk menjalankan dan menguji di Azure, tentukan hal berikut di halaman Konfigurasi aplikasi fungsi Azure Anda di portal Azure. Untuk menjalankan dan menguji secara lokal, tentukan yang berikut ini dalam file local.settings.json fungsi.

  1. Hapus nilai default "AzureWebJobsStorage".

  2. Tautkan akun penyimpanan Azure dengan menambahkan salah satu pengaturan nilai berikut:

    • AzureWebJobsStorage__accountName: Misalnya:mystorageaccount123

    • AzureWebJobsStorage__blobServiceUri: Contoh:https://mystorageaccount123.blob.core.windows.net/

      AzureWebJobsStorage__queueServiceUri: Contoh:https://mystorageaccount123.queue.core.windows.net/

      AzureWebJobsStorage__tableServiceUri: Contoh:https://mystorageaccount123.table.core.windows.net/

    Nilai untuk variabel Uri ini dapat ditemukan di akun penyimpanan di bawah tab Titik akhir.

    Screenshot of endpoint sample.

  3. Tambahkan kredensial rahasia klien dengan menentukan nilai berikut:

    • AzureWebJobsStorage__clientId: (ini adalah nilai GUID yang ditemukan di halaman aplikasi Microsoft Entra)

    • AzureWebJobsStorage__ClientSecret: (ini adalah nilai rahasia yang dihasilkan di pusat admin Microsoft Entra pada langkah sebelumnya)

    • AzureWebJobsStorage__tenantId: (ini adalah ID penyewa tempat aplikasi Microsoft Entra terdaftar)

    Nilai ID klien dan ID penyewa dapat ditemukan di halaman gambaran umum aplikasi klien Anda. Nilai rahasia klien adalah nilai yang disimpan dengan hati-hati pada langkah sebelumnya. Ini tidak akan tersedia setelah halaman disegarkan.

    Screenshot of application's overview page.