Mengautentikasi dan mengotorisasi Microsoft Azure Service Bus

Terdapat dua cara untuk mengautentikasi dan mengotorisasi akses ke sumber daya Azure Service Bus:

  • Microsoft Entra ID
  • Tanda Tangan Akses Bersama (SAS).

Artikel ini memberi Anda detail tentang menggunakan dua jenis mekanisme keamanan ini.

Microsoft Entra ID

Integrasi Microsoft Entra dengan Bus Layanan menyediakan kontrol akses berbasis peran (RBAC) untuk Bus Layanan sumber daya. Anda dapat menggunakan Azure RBAC untuk memberikan izin kepada prinsip keamanan, yang dapat berupa pengguna, grup, perwakilan layanan aplikasi, atau identitas terkelola. Microsoft Entra mengautentikasi prinsip keamanan dan mengembalikan token OAuth 2.0. Token ini dapat digunakan untuk mengotorisasi permintaan untuk mengakses sumber daya Bus Layanan (antrean, topik, dan sebagainya).

Untuk informasi selengkapnya tentang mengautentikasi dengan MICROSOFT Entra ID, lihat artikel berikut ini:

Catatan

Bus Layanan REST API mendukung autentikasi OAuth dengan ID Microsoft Entra.

Penting

Mengotorisasi pengguna atau aplikasi menggunakan token OAuth 2.0 yang dikembalikan oleh MICROSOFT Entra ID memberikan keamanan yang unggul dan kemudahan penggunaan melalui tanda tangan akses bersama (SAS). Dengan ID Microsoft Entra, Anda tidak perlu menyimpan token dalam kode Anda dan berisiko potensi kerentanan keamanan. Kami menyarankan agar Anda menggunakan ID Microsoft Entra dengan aplikasi Azure Bus Layanan Jika memungkinkan.

Anda dapat menonaktifkan autentikasi kunci lokal atau SAS untuk namespace Bus Layanan dan hanya mengizinkan autentikasi Microsoft Entra. Untuk instruksi langkah demi langkah, lihat Menonaktifkan autentikasi lokal.

Tanda tangan akses bersama

Otentikasi SAS memungkinkan Anda memberikan akses pengguna ke sumber daya Microsoft Azure Service Bus, dengan hak-hak tertentu. Autentikasi SAS dalam Service Bus melibatkan konfigurasi kunci kriptografi dengan hak terkait pada sumber daya Microsoft Azure Service Bus. Klien kemudian dapat memperoleh akses ke sumber daya tersebut dengan menyajikan token SAS, yang terdiri dari URI sumber daya yang diakses dan kedaluwarsa yang ditandatangani dengan kunci yang dikonfigurasi.

Anda dapat mengonfigurasi kunci untuk SAS di namespace Microsoft Azure Service Bus. Kunci ini berlaku untuk semua entitas olah pesan dalam namespace tersebut. Anda juga dapat mengonfigurasi kunci pada antrean dan topik Microsoft Azure Service Bus. Untuk menggunakan SAS, Anda dapat mengonfigurasi aturan otorisasi akses bersama pada namespace, antrean, atau topik. Peraturan terdiri dari elemen-elemen berikut:

  • KeyName: mengidentifikasi aturan.
  • PrimaryKey: kunci kriptografi yang digunakan untuk menandatangani/memvalidasi token SAS.
  • SecondaryKey: kunci kriptografi yang digunakan untuk menandatangani/memvalidasi token SAS.
  • Hak: mewakili kumpulan hak Dengar, Kirim, atau Kelola yang diberikan.

Aturan otorisasi yang dikonfigurasi pada tingkat namespace dapat memberikan akses ke semua entitas di namespace untuk klien dengan token yang ditandatangani menggunakan kunci yang sesuai. Anda dapat mengonfigurasi hingga 12 aturan otorisasi tersebut pada namespace, antrean, atau topik Microsoft Azure Service Bus. Secara default, aturan otorisasi akses bersama dengan semua hak dikonfigurasi untuk setiap namespace saat pertama kali disediakan.

Untuk mengakses entitas, klien memerlukan token SAS yang dihasilkan menggunakan aturan otorisasi akses bersama tertentu. Token SAS dihasilkan menggunakan HMAC-SHA256 dari string sumber daya yang terdiri dari URI sumber daya yang aksesnya diklaim, dan kedaluwarsa dengan kunci kriptografi yang terkait dengan aturan otorisasi.

Dukungan autentikasi SAS untuk Service Bus disertakan dalam Azure .NET SDK versi 2.0 dan yang lebih baru. SAS menyertakan dukungan untuk aturan otorisasi akses bersama. Semua API yang menerima string koneksi sebagai parameter mencakup dukungan untuk string koneksi SAS.

Langkah berikutnya

Untuk informasi selengkapnya tentang mengautentikasi dengan MICROSOFT Entra ID, lihat artikel berikut ini:

Untuk informasi selengkapnya tentang mengautentikasi dengan SAS, lihat artikel berikut ini: