Mengautentikasi aplikasi dengan ID Microsoft Entra untuk mengakses sumber daya 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 Anda dalam kode lagi. Sebagai gantinya, Anda dapat meminta 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 (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 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 dicakup ke tingkat langganan, grup sumber daya, namespace layanan Event Hubs, atau sumber daya apa pun di bawahnya. Keamanan Microsoft Entra dapat menetapkan peran kepada pengguna, grup, perwakilan layanan aplikasi, atau identitas terkelola untuk sumber daya Azure.

Catatan

Definisi peran adalah kumpulan izin. Kontrol akses berbasis peran Azure (Azure RBAC) mengontrol bagaimana izin ini diberlakukan melalui penetapan peran. Penetapan peran terdiri dari 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 Azure berikut untuk mengotorisasi akses ke data Azure Event Hubs menggunakan MICROSOFT Entra ID 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: Gunakan peran ini untuk memberikan akses ke sumber daya Azure Event Hubs.
  • Penerima Data Azure Event Hubs: Gunakan peran ini untuk memberikan akses penerimaan ke sumber daya Azure Event Hubs.

Untuk peran bawaan Schema Registry, lihat Peran Schema Registry.

Penting

Rilis pratinjau mendukung penambahan izin akses data Azure Event Hubs ke peran Pemilik atau Kontributor. Namun, izin akses data untuk peran Pemilik dan Kontributor tidak lagi diperhitungkan. Jika Anda menggunakan peran Pemilik atau Kontributor, beralihlah menggunakan peran Pemilik Data Azure Event Hubs.

Mengautentikasi dari aplikasi

Keuntungan utama menggunakan ID Microsoft Entra dengan Azure Event Hubs adalah kredensial Anda tidak perlu lagi disimpan dalam kode Anda. Sebagai gantinya, Anda dapat meminta 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 menunjukkan kepada Anda cara mengonfigurasikan aplikasi native 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 penyewa Microsoft Entra

Langkah pertama dalam menggunakan ID Microsoft Entra untuk mengotorisasi sumber daya Azure Event Hubs adalah mendaftarkan aplikasi klien Anda dengan penyewa Microsoft Entra dari portal 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.

Ketika Anda mendaftarkan aplikasi klien, Anda menyediakan informasi tentang aplikasi ke AD. MICROSOFT Entra ID kemudian menyediakan ID klien (juga disebut ID aplikasi) yang dapat Anda gunakan untuk mengaitkan aplikasi Anda dengan runtime Microsoft Entra. Untuk mempelajari selengkapnya tentang ID klien, lihat Objek perwakilan aplikasi dan layanan di ID Microsoft Entra.

Catatan

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

Setelah mendaftarkan aplikasi, Anda akan melihat ID Aplikasi (klien) pada bagian Pengaturan:

Screenshot showing the app registration page with application ID highlighted.

Membuat rahasia klien

Aplikasi ini membutuhkan 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 ke layanan utama aplikasi pada cakupan yang diinginkan (namespace Event Hubs, grup sumber daya, langganan). Untuk langkah-langkah mendetail, lihat Menetapkan peran Azure menggunakan portal Azure.

Setelah Anda menentukan peran dan ruang lingkupnya, Anda dapat menguji perilaku ini dengan sampel di lokasi GitHub ini. Untuk mempelajari selengkapnya tentang mengelola akses ke sumber daya Azure menggunakan Azure RBAC dan portal Microsoft Azure, lihat artikel ini.

Pustaka klien untuk akuisisi token

Setelah mendaftarkan aplikasi dan memberinya izin untuk mengirim/menerima data di Azure Event Hubs, Anda dapat menambahkan kode ke aplikasi untuk mengautentikasi prinsip keamanan dan memperoleh token OAuth 2.0. Untuk mengautentikasi dan memperoleh token, Anda dapat menggunakan salah satu pustaka autentikasi platform identitas Microsoft atau pustaka sumber terbuka lain yang mendukung OpenID atau 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.

Sampel

  • Sampel RBAC menggunakan paket .NET Microsoft.Azure.EventHubs warisan. Kami sedang berupaya membuat versi baru sampel ini menggunakan paket Azure.Messaging.EventHubs terbaru. Lihat Identitas Terkelola yang sudah dikonversi.
  • Sampel RBAC menggunakan paket Java com.microsoft.azure.eventhubs warisan. Anda dapat menggunakan panduan migrasi untuk memigrasikan sampel ini untuk menggunakan paket baru (com.azure.messaging.eventhubs). Untuk mempelajari selengkapnya tentang menggunakan paket baru secara umum, lihat sampel di sini.

Langkah berikutnya

Lihat artikel terkait berikut ini: