Identitas terkelola untuk Layanan Azure Web PubSub

Artikel ini menunjukkan cara membuat identitas terkelola untuk Layanan Azure Web PubSub dan cara menggunakannya.

Penting

Layanan Azure Web PubSub hanya dapat mendukung satu identitas terkelola. Artinya, Anda dapat menambahkan identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna.

Tambahkan identitas yang ditetapkan sistem

Untuk menyiapkan identitas terkelola di portal Microsoft Azure, Anda harus membuat instans Layanan Azure Web PubSub terlebih dahulu, lalu mengaktifkan fitur tersebut.

  1. Buat instans Layanan Azure Web PubSub di portal seperti biasa. Telusuri instans tersebut di portal.

  2. Pilih Identitas.

  3. Pada tab Sistem yang ditetapkan, alihkan Status ke Aktif. Pilih Simpan.

    Add a system-assigned identity in the portal

Menambahkan identitas yang ditetapkan pengguna

Membuat instans Layanan Azure Web PubSub dengan identitas yang ditetapkan pengguna mengharuskan Anda membuat identitas dan kemudian menambahkan pengidentifikasi sumber dayanya ke layanan.

  1. Buat sumber daya identitas terkelola yang ditetapkan pengguna sesuai dengan petunjuk ini.

  2. Buat instans Layanan Azure Web PubSub di portal seperti biasa. Telusuri instans tersebut di portal.

  3. Pilih Identitas.

  4. Pada tab Ditetapkan pengguna, pilih Tambahkan.

  5. Cari dan pilih identitas yang Anda buat sebelumnya. Pilih Tambahkan.

    Add a user-assigned identity in the portal

Gunakan identitas terkelola dalam skenario peristiwa klien

Layanan Azure Web PubSub adalah layanan yang dikelola penuh, jadi Anda tidak dapat menggunakan identitas terkelola untuk mendapatkan token secara manual. Sebagai gantinya, ketika Layanan Azure Web PubSub mengirim peristiwa ke penanganan aktivitas, Azure Web PubSub akan menggunakan identitas terkelola untuk mendapatkan token akses. Layanan kemudian mengatur token akses ke dalam header Authorization dalam permintaan http.

Aktifkan autentikasi identitas terkelola di pengaturan penanganan aktivitas

  1. Pilih identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna.

  2. Navigasi ke Konfigurasikan Pengaturan Hub dan tambahkan atau edit penanganan aktivitas di hulu.

    msi-setting

  3. Di bagian Autentikasi , pilih Gunakan Autentikasi dan centang Tentukan audiens token yang dikeluarkan. Audiens akan menjadi aud klaim dalam token akses yang diperoleh, yang dapat digunakan sebagai bagian dari validasi di penanganan aktivitas Anda. Anda dapat memilih salah satu dari berikut ini:

    • Pilih dari aplikasi Microsoft Entra yang ada. ID aplikasi yang Anda pilih akan digunakan.
    • URI ID Aplikasi dari perwakilan layanan.

    Penting

    Menggunakan sumber daya kosong secara actully memperoleh target token ke Microsoft Graph. Seperti hari ini, Microsoft Graph mengaktifkan enkripsi token sehingga tidak tersedia bagi aplikasi untuk mengautentikasi token selain Microsoft Graph. Dalam praktik umum, Anda harus selalu membuat perwakilan layanan untuk mewakili target hulu Anda. Dan atur ID Aplikasi atau URI ID Aplikasi dari perwakilan layanan yang telah Anda buat.

Autentikasi dalam aplikasi fungsi

Anda dapat dengan mudah mengatur validasi akses untuk aplikasi fungsi tanpa perubahan kode dengan menggunakan portal Azure:

  1. Di portal Azure, buka aplikasi fungsi.

  2. Pilih Autentikasi dari menu.

  3. Pilih Tambahkan penyedia identitas .

  4. Pada tab Dasar, di daftar dropdown Penyedia identitas, pilih Microsoft.

  5. Dalam Tindakan yang harus diambil saat permintaan tidak diautentikasi, pilih Masuk dengan ID Microsoft Entra.

  6. Opsi untuk membuat pendaftaran baru dipilih secara default. Anda dapat mengubah nama pendaftaran. Untuk informasi selengkapnya tentang mengaktifkan penyedia Microsoft Entra, lihat Mengonfigurasi App Service atau aplikasi Azure Functions Anda untuk menggunakan rincian masuk ID Microsoft Entra.

    Screenshot that shows basic information for adding an identity provider.

  7. Buka Azure SignalR Service dan ikuti langkah-langkah untuk menambahkan identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna.

  8. Di Azure SignalR Service, buka Pengaturan upstream, lalu pilih Gunakan Identitas Terkelola dan Pilih dari Aplikasi yang sudah ada. Pilih aplikasi yang Anda buat sebelumnya.

Setelah Anda mengonfigurasi pengaturan ini, aplikasi fungsi akan menolak permintaan tanpa token akses di header.

Memvalidasi token akses

Jika Anda tidak menggunakan WebApp atau Azure Function, Anda juga dapat memvalidasi token.

Token di header Authorization adalah token akses platform identitas Microsoft.

Untuk memvalidasi token akses, aplikasi Anda juga harus memvalidasi token audiens dan penandatanganan. Token ini perlu divalidasi terhadap nilai dalam dokumen penemuan OpenID. Misalnya, lihat versi independen penyewa dari dokumen.

Middleware Microsoft Entra memiliki kemampuan bawaan untuk memvalidasi token akses. Anda dapat menelusuri sampel kami untuk menemukan token dalam bahasa pilihan Anda.

Kami menyediakan pustaka dan sampel kode yang menunjukkan cara menangani validasi token. Ada juga beberapa pustaka mitra sumber terbuka yang tersedia untuk validasi JSON Web Token (JWT). Setidaknya ada satu opsi untuk hampir setiap platform dan bahasanya. Untuk informasi selengkapnya tentang pustaka otorisasi Microsoft Entra dan sampel kode, lihat pustaka autentikasi platform identitas Microsoft.

Khususnya, jika penanganan aktivitas menghosting di Azure Function atau Web Apps, cara mudahnya adalah dengan Mengonfigurasi login Microsoft Entra.

Menggunakan identitas terkelola untuk referensi Key Vault

Layanan Web PubSub dapat mengakses Key Vault untuk mendapatkan rahasia menggunakan identitas terkelola.

  1. Tambahkan identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna untuk Layanan Azure Web PubSub.

  2. Berikan izin baca rahasia untuk identitas terkelola dalam kebijakan Akses dalam Key Vault. Lihat Menetapkan kebijakan akses Key Vault menggunakan portal Azure

Saat ini, fitur ini dapat digunakan dalam skenario berikut:

  • Gunakan sintaks {@Microsoft.KeyVault(SecretUri=<secret-identity>)} untuk mendapatkan rahasia dari KeyVault di pengaturan templat url penanganan aktivitas.

Langkah berikutnya