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.
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).
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.
Untuk menambahkan identitas terkelola yang ditetapkan sistem ke instans Azure SignalR Service Anda:
Di portal Azure, telusuri ke instans Azure SignalR Service Anda.
Pilih Identitas.
Pada tab Sistem yang ditetapkan, alihkan Status ke Aktif.
Pilih Simpan.
Pilih Ya untuk mengonfirmasi perubahan.
Untuk menambahkan identitas yang ditetapkan pengguna ke instans Azure SignalR Service, Anda perlu membuat identitas lalu menambahkannya ke layanan.
Buat sumber daya identitas terkelola yang ditetapkan pengguna sesuai dengan petunjuk ini.
Di portal Azure, telusuri ke instans Azure SignalR Service Anda.
Pilih Identitas.
Pada tab Ditetapkan pengguna, pilih Tambahkan.
Pada menu dropdown Identitas Terkelola yang Ditugaskan Pengguna, pilih identitas.
Pilih Tambahkan.
Azure SignalR Service adalah layanan yang dikelola sepenuhnya. Ini menggunakan identitas terkelola untuk mendapatkan token akses. Dalam skenario tanpa server, layanan menambahkan akses token ke header Authorization
dalam permintaan upstream.
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:
Di portal Azure, telusuri ke instans Azure SignalR Service Anda.
Pilih Pengaturan dari menu.
Pilih mode layanan Tanpa Server.
Dalam kotak teks Tambahkan pola URL upstream, masukkan pola URL titik akhir upstream. Lihat Pengaturan URL templat.
Pilih Tambahkan satu Pengaturan Upstream, lalu pilih asterisk mana saja.
Di Pengaturan Upstream, konfigurasikan pengaturan titik akhir upstream Anda.
Di pengaturan autentikasi identitas terkelola, untuk Audiens dalam token yang dikeluarkan, Anda dapat menentukan target sumber daya. 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.
Saat menggunakan ID Aplikasi (klien), aplikasi harus berada di penyewa yang sama dengan tempat sumber daya Azure SignalR berada. Jika aplikasi Anda berada di penyewa yang berbeda, ikuti langkah-langkah berikut:
- Mengonversi aplikasi penyewa tunggal ke multipenyewa di MICROSOFT Entra ID untuk mengonversi aplikasi Anda ke aplikasi multipenyewa.
- Buat aplikasi perusahaan dari aplikasi multi-penyewa di Microsoft Entra ID untuk memprovisikan aplikasi Anda di penyewa saat ini.
Kemudian Anda akan dapat menemukan aplikasi perusahaan dengan mengklik "Atau pilih dari aplikasi yang ada".
URI ID aplikasi dari prinsipal layanan.
Penting
Memanfaatkan sumber daya kosong untuk benar-benar mendapatkan 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 prinsipal layanan untuk mewakili sasaran upstream Anda. Dan tetapkan ID Aplikasi atau URI ID Aplikasi dari perwakilan layanan yang telah Anda buat.
Anda dapat dengan mudah mengatur validasi akses untuk aplikasi fungsi tanpa perubahan kode dengan menggunakan portal Azure:
Di portal Azure, buka aplikasi fungsi.
Pilih Autentikasi dari menu.
Pilih Tambahkan penyedia identitas .
Pada tab Dasar, di daftar dropdown Penyedia identitas, pilih Microsoft.
Dalam Tindakan yang harus diambil saat permintaan tidak diautentikasi, pilih Masuk dengan ID Microsoft Entra.
Opsi untuk membuat pendaftaran baru dipilih secara default. Anda dapat mengubah nama pendaftaran. Untuk informasi selengkapnya tentang penyedia Microsoft Entra, lihat Mengonfigurasi App Service atau aplikasi Azure Functions Anda untuk menggunakan Microsoft Entra ID untuk masuk.
Buka Azure SignalR Service dan ikuti langkah-langkah untuk menambahkan identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna.
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.
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 yang tidak bergantung pada 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 pustaka autentikasi platform identitas Microsoft.
Azure SignalR Service dapat mengakses Key Vault untuk mendapatkan rahasia dengan menggunakan identitas terkelola.
- Tambahkan identitas yang ditetapkan sistem atau identitas yang ditetapkan pengguna ke instans Azure SignalR Service Anda.
- 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.