Uwierzytelnianie dostarczania zdarzeń do programów obsługi zdarzeń (Azure Event Grid)

Ten artykuł zawiera informacje na temat uwierzytelniania dostarczania zdarzeń do programów obsługi zdarzeń.

Omówienie

Usługa Azure Event Grid używa różnych metod uwierzytelniania do dostarczania zdarzeń do procedur obsługi zdarzeń. `

Metoda uwierzytelniania Obsługiwane programy obsługi zdarzeń opis
Klucz dostępu — Event Hubs
- Service Bus
— Kolejki magazynu
— Połączenie hybrydowe przekaźnika
— Azure Functions
— Obiekty blob usługi Storage (Deadletter)
Klucze dostępu są pobierane przy użyciu poświadczeń jednostki usługi Event Grid. Uprawnienia są przyznawane usłudze Event Grid podczas rejestrowania dostawcy zasobów usługi Event Grid w ramach subskrypcji platformy Azure.
Tożsamość systemu zarządzanego
&
Kontrola dostępu oparta na rolach
— Event Hubs
- Service Bus
— Kolejki magazynu
— Obiekty blob usługi Storage (Deadletter)
Włącz tożsamość systemu zarządzanego dla tematu i dodaj ją do odpowiedniej roli w miejscu docelowym. Aby uzyskać szczegółowe informacje, zobacz Używanie tożsamości przypisanych przez system do dostarczania zdarzeń.
Uwierzytelnianie tokenu elementu nośnego za pomocą chronionego elementu webhook firmy Microsoft Webhook Aby uzyskać szczegółowe informacje, zobacz sekcję Uwierzytelnianie dostarczania zdarzeń do punktów końcowych elementu webhook.
Klucz tajny klienta jako parametr zapytania Webhook Aby uzyskać szczegółowe informacje, zobacz sekcję Używanie wpisu tajnego klienta jako parametru zapytania.

Uwaga

Jeśli chronisz funkcję platformy Azure za pomocą aplikacji Microsoft Entra, musisz użyć ogólnego podejścia elementu webhook przy użyciu wyzwalacza HTTP. Użyj punktu końcowego funkcji platformy Azure jako adresu URL elementu webhook podczas dodawania subskrypcji.

Używanie tożsamości przypisanych przez system do dostarczania zdarzeń

Możesz włączyć tożsamość zarządzaną przypisaną przez system dla tematu lub domeny i użyć tożsamości do przekazywania zdarzeń do obsługiwanych miejsc docelowych, takich jak kolejki i tematy usługi Service Bus, centra zdarzeń i konta magazynu.

Oto konkretne kroki:

  1. Utwórz temat lub domenę z tożsamością przypisaną przez system lub zaktualizuj istniejący temat lub domenę, aby włączyć tożsamość. Aby uzyskać więcej informacji, zobacz Włączanie tożsamości zarządzanej dla tematu systemowego lub Włączanie tożsamości zarządzanej dla tematu niestandardowego lub domeny
  2. Dodaj tożsamość do odpowiedniej roli (na przykład nadawcy danych usługi Service Bus) w miejscu docelowym (na przykład w kolejce usługi Service Bus). Aby uzyskać więcej informacji, zobacz Udzielanie tożsamości dostępu do miejsca docelowego usługi Event Grid
  3. Podczas tworzenia subskrypcji zdarzeń włącz użycie tożsamości w celu dostarczania zdarzeń do miejsca docelowego. Aby uzyskać więcej informacji, zobacz Tworzenie subskrypcji zdarzeń korzystającej z tożsamości.

Aby uzyskać szczegółowe instrukcje krok po kroku, zobacz Dostarczanie zdarzeń przy użyciu tożsamości zarządzanej.

Uwierzytelnianie dostarczania zdarzeń do punktów końcowych elementu webhook

W poniższych sekcjach opisano sposób uwierzytelniania dostarczania zdarzeń do punktów końcowych elementu webhook. Użyj mechanizmu uzgadniania weryfikacji niezależnie od używanej metody. Aby uzyskać szczegółowe informacje, zobacz Dostarczanie zdarzeń elementu webhook.

Korzystanie z identyfikatora Entra firmy Microsoft

Punkt końcowy elementu webhook używany do odbierania zdarzeń z usługi Event Grid można zabezpieczyć przy użyciu identyfikatora Entra firmy Microsoft. Musisz utworzyć aplikację Firmy Microsoft Entra, utworzyć rolę i jednostkę usługi w aplikacji autoryzującej usługę Event Grid i skonfigurować subskrypcję zdarzeń do korzystania z aplikacji Microsoft Entra. Dowiedz się, jak skonfigurować identyfikator entra firmy Microsoft za pomocą usługi Event Grid.

Używanie klucza tajnego klienta jako parametru zapytania

Punkt końcowy elementu webhook można również zabezpieczyć, dodając parametry zapytania do docelowego adresu URL elementu webhook określonego w ramach tworzenia subskrypcji zdarzeń. Ustaw jeden z parametrów zapytania jako klucz tajny klienta, taki jak token dostępu lub wspólny klucz tajny. Usługa Event Grid zawiera wszystkie parametry zapytania w każdym żądaniu dostarczania zdarzeń do elementu webhook. Usługa elementu webhook może pobrać i zweryfikować wpis tajny. Jeśli klucz tajny klienta zostanie zaktualizowany, należy również zaktualizować subskrypcję zdarzeń. Aby uniknąć błędów dostarczania podczas tej rotacji wpisów tajnych, element webhook zaakceptuj zarówno stare, jak i nowe wpisy tajne przez ograniczony czas trwania przed zaktualizowaniem subskrypcji zdarzeń przy użyciu nowego wpisu tajnego.

Ponieważ parametry zapytania mogą zawierać wpisy tajne klienta, są one obsługiwane z dodatkową starannością. Są one przechowywane jako zaszyfrowane i nie są dostępne dla operatorów usług. Nie są one rejestrowane w ramach dzienników/śladów usługi. Podczas pobierania właściwości subskrypcji zdarzeń parametry zapytania docelowego nie są domyślnie zwracane. Na przykład: parametr --include-full-endpoint-url ma być używany w interfejsie wiersza polecenia platformy Azure.

Aby uzyskać więcej informacji na temat dostarczania zdarzeń do elementów webhook, zobacz Dostarczanie zdarzeń elementu webhook

Ważne

Usługa Azure Event Grid obsługuje tylko punkty końcowe elementu webhook HTTPS .

Walidacja punktu końcowego za pomocą rozwiązania CloudEvents w wersji 1.0

Jeśli znasz już usługę Event Grid, możesz pamiętać o uzgadnianiu sprawdzania poprawności punktu końcowego w celu zapobiegania nadużyciom. Rozwiązanie CloudEvents w wersji 1.0 implementuje własną semantyka ochrony przed nadużyciami przy użyciu metody HTTP OPTIONS . Aby dowiedzieć się więcej na ten temat, zobacz Http 1.1 Web Hooks for event delivery - Version 1.0 (Web Hooks for event delivery — Wersja 1.0). W przypadku używania schematu CloudEvents dla danych wyjściowych usługa Event Grid używa ochrony przed nadużyciami cloudEvents w wersji 1.0 zamiast mechanizmu zdarzeń weryfikacji usługi Event Grid. Aby uzyskać więcej informacji, zobacz Use CloudEvents v1.0 schema with Event Grid (Używanie schematu CloudEvents w wersji 1.0 z usługą Event Grid).

Następne kroki

Zobacz Uwierzytelnianie klientów publikowania, aby dowiedzieć się więcej na temat uwierzytelniania klientów publikujących zdarzenia w tematach lub domenach.