Uwierzytelnianie dostarczania zdarzeń do procedur obsługi zdarzeń (Azure Event Grid)

Ten artykuł zawiera informacje na temat uwierzytelniania dostarczania zdarzeń do procedur obsługi zdarzeń.

Omówienie

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

Metoda uwierzytelniania Obsługiwane programy obsługi Opis
Klucz dostępu

Event Hubs

Service Bus

Kolejki usługi Storage

Połączenia hybrydowe przekaźnika

Azure Functions

Storage obiektów blob (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 usługi Storage

Storage obiektów blob (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 Use system-assigned identities for event delivery (Używanie tożsamości przypisanych przez system do dostarczania zdarzeń).
Uwierzytelnianie tokenu elementu nośnego przy użyciu Azure AD chronionego elementu webhook 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 klucza tajnego klienta jako parametru zapytania .

Uwaga

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

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

Można 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 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 Service Bus Nadawca danych) w miejscu docelowym (na przykład w kolejce 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ń z tożsamością zarządzaną.

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 Azure Active Directory (Azure AD)

Punkt końcowy elementu webhook używany do odbierania zdarzeń z usługi Event Grid można zabezpieczyć przy użyciu Azure AD. Musisz utworzyć aplikację Azure AD, utworzyć rolę i jednostkę usługi w aplikacji autoryzującej usługę Event Grid i skonfigurować subskrypcję zdarzeń do korzystania z aplikacji Azure AD. Dowiedz się, jak skonfigurować Azure Active Directory 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 wpis 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 wpis tajny klienta zostanie zaktualizowany, należy również zaktualizować subskrypcję zdarzeń. Aby uniknąć niepowodzeń dostarczania podczas rotacji tego wpisu tajnego, należy zaakceptować zarówno stare, jak i nowe wpisy tajne przez ograniczony czas przed zaktualizowaniem subskrypcji zdarzeń nowym wpisem tajnym.

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

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, być może znasz uzgadnianie poprawności punktu końcowego w celu zapobiegania nadużyciom. Usługa CloudEvents w wersji 1.0 implementuje własne semantyki 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 (Punkty zaczepienia sieci Web HTTP 1.1 na potrzeby dostarczania zdarzeń — wersja 1.0). W przypadku korzystania ze schematu CloudEvents dla danych wyjściowych usługa Event Grid używa ochrony przed nadużyciami usługi 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.