Mengotorisasi akses dengan ID Microsoft Entra untuk Azure SignalR Service

Azure SignalR Service mendukung ID Microsoft Entra untuk mengotorisasi permintaan ke sumber dayanya. Dengan MICROSOFT Entra ID, Anda dapat menggunakan kontrol akses berbasis peran (RBAC) untuk memberikan izin kepada prinsip keamanan. Prinsip keamanan adalah grup pengguna/sumber daya, aplikasi, atau perwakilan layanan seperti identitas yang ditetapkan sistem dan identitas yang ditetapkan pengguna.

MICROSOFT Entra ID mengautentikasi prinsip keamanan dan mengembalikan token OAuth 2.0. Token kemudian digunakan untuk mengotorisasi permintaan terhadap sumber daya Azure SignalR Service.

Mengotorisasi permintaan terhadap Azure SignalR Service dengan menggunakan MICROSOFT Entra ID memberikan keamanan yang unggul dan kemudahan penggunaan dibandingkan dengan otorisasi kunci akses. Kami sangat menyarankan Anda menggunakan ID Microsoft Entra untuk mengotorisasi jika memungkinkan, karena memastikan akses dengan hak istimewa minimum yang diperlukan.

Penting

Menonaktifkan autentikasi lokal dapat memiliki konsekuensi berikut:

  • Kumpulan kunci akses saat ini dihapus secara permanen.
  • Token yang ditandatangani dengan set kunci akses saat ini menjadi tidak tersedia.

Gambaran umum ID Microsoft Entra

Saat perwakilan keamanan mencoba mengakses sumber daya Azure SignalR Service, permintaan harus diotorisasi. Menggunakan ID Microsoft Entra untuk mendapatkan akses ke sumber daya memerlukan dua langkah:

  1. MICROSOFT Entra ID mengautentikasi prinsip keamanan lalu mengembalikan token OAuth 2.0.
  2. Token diteruskan sebagai bagian dari permintaan ke sumber daya Azure SignalR Service untuk mengotorisasi permintaan.

Autentikasi sisi klien dengan ID Microsoft Entra

Saat Anda menggunakan kunci akses, kunci dibagikan antara server aplikasi Anda (atau aplikasi fungsi) dan sumber daya Azure SignalR Service. Azure SignalR Service mengautentikasi permintaan koneksi klien dengan menggunakan kunci bersama.

Saat Anda menggunakan ID Microsoft Entra, tidak ada kunci bersama. Sebagai gantinya, Azure SignalR Service menggunakan kunci akses sementara untuk menandatangani token yang digunakan dalam koneksi klien. Alur kerja berisi empat langkah:

  1. Perwakilan keamanan memerlukan token OAuth 2.0 dari ID Microsoft Entra untuk mengautentikasi dirinya sendiri.
  2. Perwakilan keamanan memanggil API autentikasi SignalR untuk mendapatkan kunci akses sementara.
  3. Perwakilan keamanan menandatangani token klien dengan kunci akses sementara untuk koneksi klien selama negosiasi.
  4. Klien menggunakan token klien untuk menyambungkan ke sumber daya Azure SignalR Service.

Kunci akses sementara kedaluwarsa dalam 90 menit. Kami menyarankan Agar Anda mendapatkan yang baru dan memutar yang lama sekali satu jam.

Alur kerja dibangun di Azure SignalR Service SDK untuk server aplikasi.

Menetapkan peran Azure untuk hak akses

ID Microsoft Entra mengotorisasi hak akses ke sumber daya aman melalui Azure RBAC. Azure SignalR Service mendefinisikan sekumpulan peran bawaan Azure yang mencakup serangkaian izin umum untuk mengakses sumber daya Azure SignalR Service. Anda juga dapat menentukan peran kustom untuk akses ke sumber daya Azure SignalR Service.

Cakupan sumber daya

Anda mungkin harus menentukan cakupan akses yang harus dimiliki perwakilan keamanan sebelum menetapkan peran Azure RBAC apa pun ke prinsip keamanan. Kami menyarankan agar Anda hanya memberikan cakupan sesempit mungkin. Peran Azure RBAC yang ditentukan pada cakupan yang lebih luas diwariskan oleh sumber daya di bawahnya.

Anda dapat mencakup akses ke sumber daya Azure SignalR Service di tingkat berikut, dimulai dengan cakupan tersempit.

Scope Deskripsi
Sumber daya individual Hanya berlaku untuk sumber daya target.
Grup sumber daya Berlaku untuk semua sumber daya dalam grup sumber daya.
Langganan Berlaku untuk semua sumber daya dalam langganan.
Grup manajemen Berlaku untuk semua sumber daya dalam langganan yang disertakan dalam grup manajemen.

Peran bawaan Azure untuk sumber daya Azure SignalR Service

Peran Deskripsi Gunakan huruf besar
Server Aplikasi SignalR Akses ke API pembuatan koneksi WebSocket dan API autentikasi. Paling umum digunakan untuk server aplikasi.
Pemilik SignalR Service Akses penuh ke semua API data-plane, termasuk REST API, API pembuatan koneksi WebSocket, dan API autentikasi. Gunakan untuk mode tanpa server untuk otorisasi dengan MICROSOFT Entra ID, karena memerlukan izin REST API dan izin API autentikasi.
Pemilik REST API SignalR Akses penuh ke API REST pesawat data. Sering digunakan untuk menulis alat yang mengelola koneksi dan grup, tetapi tidak membuat koneksi atau memanggil API autentikasi.
Pembaca REST API SignalR Akses baca-saja ke API REST pesawat data. Umumnya digunakan untuk menulis alat pemantauan yang hanya memanggil REST API baca-saja sarana data Azure SignalR Service.

Langkah berikutnya