Mengautentikasi pengiriman kejadian ke pengendali kejadian (Azure Event Grid)

Artikel ini menyediakan informasi tentang autentikasi pengiriman peristiwa ke penangan peristiwa.

Gambaran Umum

Azure Event Grid menggunakan metode autentikasi yang berbeda untuk mengirimkan acara ke pengendali acara. `

Metode autentikasi Pengendali peristiwa yang didukung Deskripsi
Kunci akses
  • Pusat Aktivitas
  • Bus Layanan
  • Antrean Penyimpanan
  • Penyampaian Koneksi Hibrid
  • Azure Functions
  • Blob Penyimpanan (Deadletter)
Kredensial prinsipal layanan Event Grid mengambil kunci akses. Saat Anda mendaftarkan penyedia sumber daya Event Grid di langganan Azure, Anda memberikan izin yang diperlukan untuk Event Grid.
Identitas Sistem Dikelola
&
Kontrol Akses Berbasis Peran
  • Pusat Aktivitas
  • Bus Layanan
  • Antrean Penyimpanan
  • Blob Penyimpanan (Deadletter)
Aktifkan identitas sistem terkelola untuk topik ini dan tambahkan ke peran yang sesuai pada tujuan. Untuk rinciannya, lihat Gunakan identitas sistem yang ditetapkan untuk pengiriman peristiwa.
Autentikasi token pembawa dengan webhook yang dilindungi Microsoft Entra Webhook Lihat bagian Mengautentikasi pengiriman peristiwa ke titik akhir webhook untuk detailnya.
Rahasia klien sebagai parameter kueri Webhook Lihat bagian Gunakan rahasia klien sebagai parameter kueri untuk detailnya.

Catatan

Jika Anda melindungi fungsi Azure dengan aplikasi Microsoft Entra, Anda perlu mengambil pendekatan webhook generik dengan menggunakan pemicu HTTP. Gunakan titik akhir fungsi Azure sebagai URL webhook saat menambahkan langganan.

Menggunakan identitas yang ditetapkan sistem untuk pengiriman kejadian

Anda dapat mengaktifkan identitas terkelola yang ditetapkan sistem untuk topik atau domain dan menggunakan identitas tersebut untuk meneruskan kejadian ke tujuan yang didukung seperti antrean dan topik Bus Layanan, hub kejadian, dan akun penyimpanan.

Ikuti langkah-langkah ini:

  1. Buat topik atau domain dengan identitas yang ditetapkan sistem, atau aktifkan identitas pada topik atau domain yang ada. Untuk informasi selengkapnya, lihat Mengaktifkan identitas terkelola untuk topik sistem atau Mengaktifkan identitas terkelola untuk topik kustom atau domain.
  2. Tambahkan identitas ke peran yang sesuai (misalnya, Service Bus Data Sender) di tujuan (misalnya, antrean Service Bus). Untuk informasi selengkapnya, lihat Memberikan identitas akses ke tujuan Event Grid.
  3. Saat Anda membuat langganan kejadian, aktifkan penggunaan identitas untuk mengirimkan kejadian ke tujuan. Untuk informasi lebih lanjut, lihat Buat langganan acara yang menggunakan identitas.

Untuk petunjuk langkah demi langkah secara terperinci, lihat Pengiriman event dengan identitas terkelola.

Mengautentikasi pengiriman kejadian ke titik akhir webhook

Bagian berikut menjelaskan cara mengautentikasi pengiriman kejadian ke titik akhir webhook. Gunakan mekanisme jabat tangan validasi terlepas dari metode yang Anda gunakan. Lihat Pengiriman acara webhook untuk informasi lebih lanjut.

Menggunakan ID Microsoft Entra

Anda dapat mengamankan titik akhir webhook yang menerima peristiwa dari Event Grid dengan menggunakan ID Microsoft Entra. Buat aplikasi Microsoft Entra, buat peran dan perwakilan layanan di aplikasi Anda yang mengotorisasi Event Grid, dan mengonfigurasi langganan peristiwa untuk menggunakan aplikasi Microsoft Entra. Pelajari cara Mengonfigurasi ID Microsoft Entra dengan Event Grid.

Menggunakan rahasia klien sebagai parameter kueri

Anda juga dapat mengamankan titik akhir webhook dengan menambahkan parameter kueri ke URL tujuan webhook yang ditentukan sebagai bagian dari pembuatan Langganan Peristiwa. Atur salah satu parameter kueri menjadi rahasia klien seperti token akses atau rahasia bersama. Layanan Event Grid mencakup seluruh parameter kueri dalam setiap permintaan pengantaran peristiwa ke webhook. Layanan webhook dapat mengambil dan memvalidasi rahasia. Jika Anda memperbarui rahasia klien, Anda juga perlu memperbarui subskripsi acara. Untuk menghindari kegagalan pengiriman selama rotasi rahasia ini, buat webhook menerima rahasia lama dan baru untuk durasi terbatas sebelum memperbarui langganan kejadian dengan rahasia baru.

Karena parameter kueri dapat berisi rahasia klien, tangani dengan sangat hati-hati. Mereka disimpan sebagai terenkripsi dan tidak dapat diakses oleh operator layanan. Mereka tidak dicatat sebagai bagian dari log atau jejak layanan. Saat Anda mengambil properti langganan peristiwa, parameter kueri tujuan tidak dikembalikan secara default. Misalnya, Anda perlu menggunakan --include-full-endpoint-url parameter di Azure CLI.

Untuk informasi selengkapnya tentang mengirimkan event ke webhook, lihat Pengiriman event Webhook.

Penting

Azure Event Grid hanya mendukung titik akhir webhook HTTPS.

Validasi titik akhir dengan CloudEvents v1.0

Jika Anda sudah terbiasa dengan Event Grid, Anda mungkin mengetahui jabat tangan validasi titik akhir untuk mencegah penyalahgunaan. CloudEvents v1.0 mengimplementasikan semantik perlindungan penyalahgunaannya sendiri dengan menggunakan metode HTTP OPTIONS. Untuk membaca selengkapnya tentang hal itu, lihat HTTP 1.1 Web Hooks untuk pengiriman kejadian - Versi 1.0. Saat Anda menggunakan skema CloudEvents untuk output, Event Grid menggunakan perlindungan penyalahgunaan CloudEvents v1.0 sebagai menggantikan mekanisme peristiwa validasi Event Grid. Untuk informasi selengkapnya, lihat Menggunakan skema CloudEvents v1.0 dengan Event Grid.

Untuk mempelajari tentang mengautentikasi klien yang menerbitkan peristiwa ke topik atau domain, lihat Mengautentikasi klien penerbitan.