Identitas terkelola untuk Azure SignalR Service

Di Azure SignalR Service, Anda dapat menggunakan identitas terkelola dari ID Microsoft Entra untuk:

  • Mendapatkan token akses.
  • Mengakses rahasia di Azure Key Vault.

Layanan ini hanya mendukung satu identitas terkelola. Anda dapat membuat identitas yang ditetapkan sistem atau yang ditetapkan pengguna. Identitas yang ditetapkan sistem didedikasikan untuk instans Azure SignalR Service Anda dan dihapus saat Anda menghapus instans. Identitas yang ditetapkan pengguna dikelola secara independen dari sumber daya Azure SignalR Service Anda.

Artikel ini menampilkan cara membuat identitas terkelola untuk Azure SignalR Service dan cara menggunakannya dalam skenario tanpa server.

Prasyarat

Untuk menggunakan identitas terkelola, Anda harus memiliki item berikut:

  • Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
  • Sumber daya Azure SignalR Service.
  • Sumber daya upstream yang ingin Anda akses, seperti sumber daya Azure Key Vault.
  • Aplikasi Azure Functions (aplikasi fungsi).

Menambahkan identitas terkelola ke Azure SignalR Service

Anda dapat menambahkan identitas terkelola ke Azure SignalR Service di portal Azure atau Azure CLI. Artikel ini memperlihatkan kepada Anda cara menambahkan identitas terkelola ke Azure SignalR Service di portal Azure.

Tambahkan identitas yang ditetapkan sistem

Untuk menambahkan identitas terkelola yang ditetapkan sistem ke instans Azure SignalR Service Anda:

  1. Di portal Azure, telusuri ke instans Azure SignalR Service Anda.

  2. Pilih Identitas.

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

    Screenshot that shows selections for adding a system-assigned identity in the portal.

  4. Pilih Simpan.

  5. Pilih Ya untuk mengonfirmasi perubahan.

Menambahkan identitas yang ditetapkan pengguna

Untuk menambahkan identitas yang ditetapkan pengguna ke instans Azure SignalR Service, Anda perlu membuat identitas lalu menambahkannya ke layanan.

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

  2. Di portal Azure, telusuri ke instans Azure SignalR Service Anda.

  3. Pilih Identitas.

  4. Pada tab Ditetapkan pengguna, pilih Tambahkan.

  5. Pada menu dropdown Identitas terkelola yang ditetapkan pengguna, pilih identitas.

    Screenshot that shows selections for adding a user-assigned identity in the portal.

  6. Pilih Tambahkan.

Menggunakan identitas terkelola dalam skenario tanpa server

Azure SignalR Service adalah layanan yang dikelola sepenuhnya. Ini menggunakan identitas terkelola untuk mendapatkan token akses. Dalam skenario tanpa server, layanan menambahkan token akses ke Authorization header dalam permintaan upstram.

Aktifkan autentikasi identitas terkelola di pengaturan upstram

Setelah Menambahkan identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna ke instans Azure SignalR Service, Anda dapat mengaktifkan autentikasi identitas terkelola di pengaturan titik akhir upstream:

  1. Di portal Azure, telusuri ke instans Azure SignalR Service Anda.

  2. Pilih Pengaturan dari menu.

  3. Pilih mode layanan Tanpa Server.

  4. Dalam kotak teks Tambahkan pola URL upstream, masukkan pola URL titik akhir upstream. Lihat Pengaturan templat URL.

  5. Pilih Tambahkan satu Pengaturan Upstream, lalu pilih tanda bintang apa pun.

    Screenshot that shows Azure SignalR Service settings for adding an upstream URL pattern.

  6. Di Pengaturan Upstream, konfigurasikan pengaturan titik akhir upstram Anda.

    Screenshot of upstream settings for Azure SignalR Service.

  7. Di pengaturan autentikasi identitas terkelola, untuk Audiens dalam token yang dikeluarkan, Anda dapat menentukan sumber daya target. Sumber daya akan menjadi aud klaim dalam token akses yang diperoleh, yang dapat digunakan sebagai bagian dari validasi di titik akhir upstream Anda. Sumber daya dapat berada dalam salah satu format berikut:

    • ID aplikasi (klien) dari perwakilan layanan.
    • 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 dokumen independen penyewa.

Middleware Microsoft Entra memiliki kemampuan bawaan untuk memvalidasi token akses. Anda dapat menelusuri sampel kode platform identitas Microsoft untuk menemukannya dalam bahasa pilihan Anda.

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

Menggunakan identitas terkelola untuk referensi Key Vault

Azure SignalR Service dapat mengakses Key Vault untuk mendapatkan rahasia dengan menggunakan identitas terkelola.

  1. Tambahkan identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna ke instans Azure SignalR Service Anda.
  2. Berikan izin baca rahasia untuk identitas terkelola dalam kebijakan akses di Key Vault. Lihat Menetapkan kebijakan akses Key Vault dengan menggunakan portal Azure.

Saat ini, Anda dapat menggunakan fitur ini untuk mereferensikan rahasia dalam pola URL upstream.

Langkah berikutnya