Bagikan melalui


Mengautentikasi aplikasi dengan ID Microsoft Entra untuk mengakses Azure Event Hubs

Microsoft Azure menyediakan manajemen kontrol akses terintegrasi untuk sumber daya dan aplikasi berdasarkan ID Microsoft Entra. Keuntungan utama menggunakan ID Microsoft Entra dengan Azure Event Hubs adalah Anda tidak perlu menyimpan kredensial dalam kode. Sebagai gantinya, minta token akses OAuth 2.0 dari platform identitas Microsoft. Nama sumber daya untuk meminta token adalah https://eventhubs.azure.net/, dan itu sama untuk semua cloud/penyewa (Untuk klien Kafka, sumber daya untuk meminta token adalah https://<namespace>.servicebus.windows.net). Microsoft Entra mengautentikasi prinsip keamanan, seperti pengguna, grup, perwakilan layanan, atau identitas terkelola, yang menjalankan aplikasi. Jika autentikasi berhasil, ID Microsoft Entra mengembalikan token akses ke aplikasi, yang kemudian dapat menggunakan token untuk mengotorisasi permintaan ke sumber daya Azure Event Hubs.

Saat peran ditetapkan ke perwakilan keamanan Microsoft Entra, Azure memberikan akses ke sumber daya tersebut untuk prinsip keamanan tersebut. Akses dapat dilingkup ke langganan, grup sumber daya, namespace Layanan Pusat Aktivitas, atau sumber daya apa pun di bawahnya. Perwakilan keamanan Microsoft Entra dapat menetapkan peran ke pengguna, grup, perwakilan layanan aplikasi, atau identitas terkelola untuk sumber daya Azure.

Note

Definisi peran adalah kumpulan izin. Kontrol akses berbasis peran Azure (Azure RBAC) memberlakukan izin ini melalui penetapan peran. Penetapan peran mencakup tiga elemen: prinsip keamanan, definisi peran, dan cakupan. Untuk informasi selengkapnya, lihat Memahami berbagai peran.

Peran bawaan untuk Azure Event Hubs

Azure menyediakan peran bawaan ini untuk mengotorisasi akses ke data Azure Event Hubs menggunakan ID Microsoft Entra dan OAuth:

  • Pemilik Data Azure Event Hubs: Gunakan peran ini untuk memberikan akses lengkap ke sumber daya Azure Event Hubs.
  • Pengirim Data Azure Event Hubs: Prinsip keamanan yang ditetapkan untuk peran ini dapat mengirim peristiwa ke pusat aktivitas tertentu atau semua hub peristiwa di namespace layanan.
  • Penerima Data Azure Event Hubs: Prinsip keamanan yang ditetapkan untuk peran ini dapat menerima peristiwa dari hub peristiwa tertentu atau semua hub peristiwa di namespace layanan.

Untuk peran bawaan Schema Registry, lihat Peran Schema Registry.

Important

Rilis pratinjau mendukung penambahan hak istimewa akses data Event Hubs ke peran Pemilik atau Kontributor. Namun, hak istimewa ini tidak lagi dihormati. Jika Anda menggunakan peran Pemilik atau Kontributor, beralihlah ke peran Pemilik Data Azure Event Hubs.

Mengautentikasi dari aplikasi

Keuntungan utama menggunakan MICROSOFT Entra ID dengan Azure Event Hubs adalah Anda tidak perlu menyimpan kredensial dalam kode Anda. Sebagai gantinya, minta token akses OAuth 2.0 dari platform identitas Microsoft. Microsoft Entra mengautentikasi prinsip keamanan (pengguna, grup, atau perwakilan layanan) yang menjalankan aplikasi. Jika autentikasi berhasil, ID Microsoft Entra mengembalikan token akses ke aplikasi, dan aplikasi kemudian dapat menggunakan token akses untuk mengotorisasi permintaan ke Azure Event Hubs.

Bagian berikut menjelaskan cara mengonfigurasi aplikasi asli atau aplikasi web untuk autentikasi dengan platform identitas Microsoft 2.0. Untuk informasi selengkapnya tentang platform identitas Microsoft 2.0, lihat Ringkasan platform identitas Microsoft (v2.0).

Untuk gambaran umum alur pemberian kode OAuth 2.0, lihat Mengotorisasi akses ke aplikasi web Microsoft Entra menggunakan alur pemberian kode OAuth 2.0.

Mendaftarkan aplikasi Anda dengan ID Microsoft Entra

Langkah pertama untuk menggunakan ID Microsoft Entra untuk mengotorisasi sumber daya Azure Event Hubs adalah mendaftarkan aplikasi klien dengan penyewa Microsoft Entra di portal Microsoft Azure. Ikuti langkah-langkah dalam Mulai Cepat: Mendaftarkan aplikasi dengan platform identitas Microsoft untuk mendaftarkan aplikasi di ID Microsoft Entra yang mewakili aplikasi Anda yang mencoba mengakses sumber daya Azure Event Hubs.

Saat mendaftarkan aplikasi klien, Anda menyediakan informasi tentang aplikasi. MICROSOFT Entra ID menyediakan ID klien, juga disebut ID aplikasi, untuk mengaitkan aplikasi dengan runtime Microsoft Entra. Untuk mempelajari selengkapnya tentang ID klien, lihat Objek perwakilan aplikasi dan layanan di ID Microsoft Entra.

Note

Jika Anda mendaftarkan aplikasi sebagai aplikasi asli, tentukan URI yang valid untuk URI Pengalihan. Untuk aplikasi asli, nilai ini tidak perlu menjadi URL nyata. Untuk aplikasi web, URI pengalihan harus URI yang valid karena menentukan URL tempat token disediakan.

Setelah mendaftarkan aplikasi, Anda akan melihat ID Aplikasi (klien) di bawah Pengaturan:

Cuplikan layar halaman pendaftaran aplikasi portal Microsoft Azure dengan ID aplikasi disorot.

Membuat rahasia klien untuk autentikasi

Aplikasi memerlukan rahasia klien untuk membuktikan identitasnya saat meminta token. Ikuti langkah-langkah dari Tambahkan rahasia klien untuk membuat rahasia klien untuk aplikasi Anda di ID Microsoft Entra.

Menetapkan peran Azure menggunakan portal Microsoft Azure

Tetapkan salah satu peran Event Hubs kepada perwakilan layanan aplikasi pada cakupan yang diinginkan, seperti namespace Event Hubs, grup sumber daya, atau langganan. Untuk langkah-langkah mendetail, lihat Menetapkan peran Azure menggunakan portal Azure.

Setelah menentukan peran dan cakupannya, uji perilaku ini dengan sampel yang tersedia di lokasi GitHub ini. Untuk mempelajari selengkapnya tentang mengelola akses ke sumber daya Azure menggunakan kontrol akses berbasis peran Azure (RBAC) dan portal Microsoft Azure, lihat artikel ini.

Menggunakan pustaka klien untuk memperoleh token

Setelah mendaftarkan aplikasi Anda dan memberinya izin untuk mengirim atau menerima data di Azure Event Hubs, tambahkan kode ke aplikasi Anda untuk mengautentikasi prinsip keamanan dan memperoleh token OAuth 2.0. Untuk mengautentikasi dan memperoleh token, gunakan salah satu pustaka autentikasi platform identitas Microsoft atau pustaka sumber terbuka lain yang mendukung OpenID Connect 1.0. Aplikasi Anda kemudian dapat menggunakan token akses untuk mengotorisasi permintaan terhadap Azure Event Hubs.

Untuk skenario di mana memperoleh token didukung, lihat bagian Skenario dari repositori Microsoft Authentication Library (MSAL) untuk .NET GitHub.

Samples

Lihat artikel terkait berikut ini: