Gebeurtenislevering verifiëren voor gebeurtenis-handlers (Azure Event Grid)
Dit artikel bevat informatie over het authenticeren van de levering van gebeurtenissen aan gebeurtenis-handlers.
Overzicht
Azure Event Grid verschillende verificatiemethoden gebruikt om gebeurtenissen te leveren aan gebeurtenis-handlers. `
| Verificatiemethode | Ondersteunde handlers | Beschrijving |
|---|---|---|
| Toegangssleutel | Event Hubs Service Bus Opslagwachtrijen Hybride verbindingen doorgeven Azure Functions Storage Blobs (Deadletter) |
Toegangssleutels worden opgehaald met Event Grid referenties van de service-principal. De machtigingen worden verleend aan Event Grid wanneer u de Event Grid resourceprovider in hun Azure-abonnement registreert. |
| Beheerde systeemidentiteit & Op rollen gebaseerd toegangsbeheer |
Event Hubs Service Bus Opslagwachtrijen Storage Blobs (Deadletter) |
Schakel beheerde systeemidentiteit in voor het onderwerp en voeg deze toe aan de juiste rol op het doel. Zie Door het systeem toegewezen identiteiten gebruiken voor gebeurtenislevering voor meer informatie. |
| Bearer-tokenverificatie met met Azure AD beveiligde webhook | Webhook | Zie de sectie Gebeurtenislevering aan webhook-eindpunten verifiëren voor meer informatie. |
| Clientgeheim als queryparameter | Webhook | Zie de sectie Clientgeheim gebruiken als queryparameter voor meer informatie. |
Door het systeem toegewezen identiteiten gebruiken voor levering van gebeurtenissen
U kunt een door het systeem toegewezen beheerde identiteit inschakelen voor een onderwerp of domein en de identiteit gebruiken om gebeurtenissen door testuren naar ondersteunde bestemmingen, zoals Service Bus wachtrijen en onderwerpen, Event Hubs en opslagaccounts.
Dit zijn de stappen:
- Maak een onderwerp of domein met een door het systeem toegewezen identiteit, of werk een bestaand onderwerp of domein bij om identiteit in te stellen. Zie Beheerde identiteit inschakelen voor een systeemonderwerp of Beheerde identiteit inschakelen voor een aangepast onderwerp of een domein voor meer informatie.
- Voeg de identiteit toe aan een geschikte rol (bijvoorbeeld Service Bus Data Sender) op de bestemming (bijvoorbeeld een Service Bus wachtrij). Zie Grand identity the access to Event Grid destination (Eindidentiteit voor toegang tot Event Grid doel) voor meer informatie
- Wanneer u gebeurtenisabonnementen maakt, moet u het gebruik van de identiteit inschakelen om gebeurtenissen aan de bestemming te leveren. Zie Een gebeurtenisabonnement maken dat gebruikmaakt van de identiteit voor meer informatie.
Zie Levering van gebeurtenissen met een beheerde identiteit voor gedetailleerde stapsgewijse instructies.
Gebeurtenislevering aan webhook-eindpunten verifiëren
In de volgende secties wordt beschreven hoe u gebeurtenislevering bij webhook-eindpunten verifieert. Gebruik een validatiehandhakemechanisme, ongeacht de methode die u gebruikt. Zie Levering van webhookgebeurtenissen voor meer informatie.
Met Azure Active Directory (Azure AD)
U kunt het webhook-eindpunt dat wordt gebruikt voor het ontvangen van gebeurtenissen van Event Grid met behulp van Azure AD beveiligen. U moet een Azure AD-toepassing maken, een rol en service-principal maken in uw toepassing die Event Grid autoriseert, en het gebeurtenisabonnement configureren voor het gebruik van de Azure AD-toepassing. Meer informatie over het configureren Azure Active Directory met Event Grid.
Clientgeheim gebruiken als queryparameter
U kunt uw webhook-eindpunt ook beveiligen door queryparameters toe te voegen aan de doel-URL van de webhook die is opgegeven als onderdeel van het maken van een gebeurtenisabonnement. Stel een van de queryparameters in op een clientgeheim, zoals een toegangs token of een gedeeld geheim. Event Grid-service bevat alle queryparameters in elke gebeurtenisleveringsaanvraag voor de webhook. De webhookservice kan het geheim ophalen en valideren. Als het clientgeheim wordt bijgewerkt, moet ook het gebeurtenisabonnement worden bijgewerkt. Om leveringsfouten tijdens deze geheimrotatie te voorkomen, moet u ervoor zorgen dat de webhook zowel oude als nieuwe geheimen voor een beperkte duur accepteert voordat u het gebeurtenisabonnement bij het nieuwe geheim bij te werken.
Omdat queryparameters clientgeheimen kunnen bevatten, worden deze met extra zorgvuldigheid afgehandeld. Ze worden opgeslagen als versleuteld en zijn niet toegankelijk voor serviceoperators. Ze worden niet geregistreerd als onderdeel van de servicelogboeken/traceringen. Bij het ophalen van de eigenschappen van het gebeurtenisabonnement worden doelqueryparameters niet standaard geretourneerd. Bijvoorbeeld: de parameter --include-full-endpoint-url moet worden gebruikt in Azure CLI.
Zie Levering van webhookgebeurtenissen voor meer informatie over het leveren van gebeurtenissen aan webhooks
Belangrijk
Azure Event Grid ondersteunt alleen HTTPS-webhook-eindpunten.
Eindpuntvalidatie met CloudEvents v1.0
Als u al bekend bent met Event Grid, bent u mogelijk op de hoogte van de handshake voor eindpuntvalidatie om misbruik te voorkomen. CloudEvents v1.0 implementeert zijn eigen semantiek voor beveiliging tegen misbruik met behulp van de HTTP OPTIONS-methode. Zie HTTP 1.1 Web Hooks for event delivery - Version 1.0 (HTTP 1.1-web hooks voor gebeurtenislevering - versie 1.0) voor meer informatie. Wanneer u het CloudEvents-schema voor uitvoer gebruikt, gebruikt Event Grid de cloudgebeurtenisbeveiliging CloudEvents v1.0 in plaats van het mechanisme voor Event Grid validatiegebeurtenis. Zie Use CloudEvents v1.0 schema with Event Grid (CloudEvents v1.0-schemagebruiken met Event Grid).
Volgende stappen
Zie Publishing clients verifiëren voor meer informatie over het verifiëren van clients die gebeurtenissen publiceren naar onderwerpen of domeinen.