Authentifizieren der Ereignisübermittlung an Ereignishandler (Azure Event Grid)
Dieser Artikel enthält Informationen zum Authentifizieren der Ereignisübermittlung an Ereignishandler.
Übersicht
Azure Event Grid verwendet verschiedene Authentifizierungsmethoden, um Ereignisse an Ereignishandler zu übermitteln. `
Authentifizierungsmethode | Unterstützte Ereignishandler | Beschreibung |
---|---|---|
Zugriffsschüssel | – Event Hubs – Service Bus – Speicherwarteschlangen – Relay-Hybridverbindungen – Azure Functions – Storage-Blobs (in die Warteschlange für unzustellbare Nachrichten verschieben) |
Zugriffsschlüssel werden mit den Anmeldeinformationen des Event Grid-Dienstprinzipals abgerufen. Die Berechtigungen werden Event Grid erteilt, wenn Sie den Event Grid-Ressourcenanbieter im jeweiligen Azure-Abonnement registrieren. |
Verwaltete Systemidentität & Rollenbasierte Zugriffssteuerung |
– Event Hubs – Service Bus – Speicherwarteschlangen – Storage-Blobs (in die Warteschlange für unzustellbare Nachrichten verschieben) |
Aktivieren Sie die verwaltete Systemidentität für das Thema, und fügen Sie es der entsprechenden Rolle auf dem Ziel hinzu. Ausführliche Informationen finden Sie unter Verwenden von systemseitig zugewiesenen Identitäten für die Ereignisübermittlung. |
Bearertokenauthentifizierung mit durch Microsoft Entra geschützten Webhook | Webhook | Details finden Sie im Abschnitt Authentifizieren der Ereigniszustellung an Webhook-Endpunkte. |
Geheimer Clientschlüssel als Abfrageparameter | Webhook | Ausführliche Informationen finden Sie im Abschnitt Mit dem geheimen Clientschlüssel als Abfrageparameter. |
Hinweis
Wenn Sie Ihre Azure-Funktion mit einer Microsoft Entra-App schützen, müssen Sie den generischen Webhook-Ansatz mit dem HTTP-Trigger wählen. Verwenden Sie den Azure-Funktionsendpunkt als Webhook-URL, wenn Sie das Abonnement hinzufügen.
Verwenden von systemseitig zugewiesenen Identitäten für die Ereignisübermittlung
Sie können eine vom System zugewiesene verwaltete Identität für ein Thema oder eine Domäne aktivieren und mit dieser Identität Ereignisse an unterstützte Ziele weiterleiten, z. B. Service Bus-Warteschlangen und -Themen, Event Hubs und Speicherkonten.
Im Folgenden werden die Schritte aufgeführt:
- Erstellen Sie ein Thema oder eine Domäne mit einer vom System zugewiesenen Identität, oder aktualisieren Sie ein vorhandenes Thema oder eine Domäne, um die Identität zu aktivieren. Weitere Informationen finden Sie unter Aktivieren einer verwalteten Identität für ein Systemthema oder Aktivieren einer verwalteten Identität für ein benutzerdefiniertes Thema oder eine benutzerdefinierte Domäne.
- Fügen Sie die Identität einer geeigneten Rolle (z. B. Azure Service Bus-Datensender) für das Ziel (z. B. Service Bus-Warteschlange) zu. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf ein Event Grid-Ziel für die Identität.
- Aktivieren Sie beim Erstellen von Ereignisabonnements die Verwendung der Identität, um Ereignisse an das Ziel zu übermitteln. Weitere Informationen finden Sie unter Erstellen eines Ereignisabonnements, von dem die Identität verwendet wird.
Ausführliche Anweisungen finden Sie unter Ereignisübermittlung mit einer verwalteten Identität.
Authentifizieren der Ereignisübermittlung an Webhook-Endpunkte
In den folgenden Abschnitten wird beschrieben, wie die Übermittlung von Ereignissen an Webhook-Endpunkte authentifiziert wird. Verwenden Sie unabhängig von der verwendeten Methode einen Mechanismus für einen Überprüfungshandshake. Weitere Informationen finden Sie unter Webhook-Ereignisbereitstellung.
Verwenden von Microsoft Entra ID
Sie können den Webhook-Endpunkt, der zum Empfangen von Ereignissen von Event Grid verwendet wird, mit Microsoft Entra ID sichern. Sie müssen eine Microsoft Entra-Anwendung erstellen, eine Rolle und einen Dienstprinzipal in Ihrer Anwendung erstellen, die Event Grid autorisieren, und das Ereignisabonnement so konfigurieren, dass die Microsoft Entra-Anwendung verwendet wird. Erfahren Sie mehr über das Konfigurieren von Microsoft Entra ID mit Event Grid.
Mit dem geheimen Clientschlüssel als Abfrageparameter
Sie können auch den Webhook-Endpunkt sichern, indem Sie der Webhook-Ziel-URL, die beim Erstellen eines Ereignisabonnements angegeben wurde, Abfrageparameter hinzufügen. Legen Sie einen der Abfrageparameter als geheimen Clientschlüssel, z. B. ein Zugriffstoken, oder als gemeinsamen geheimem Schlüssel fest. Der Event Grid-Dienst nimmt alle Abfrageparameter in jede Ereignisbereitstellungsanforderung an den Webhook auf. Der Webhookdienst kann das Geheimnis abrufen und überprüfen. Wenn der geheime Clientschlüssel aktualisiert wird, muss das Ereignisabonnement ebenfalls aktualisiert werden. Damit bei dieser Geheimnisrotation keine Übermittlungsfehler auftreten, lassen Sie den Webhook für einen begrenzten Zeitraum sowohl alte als auch neue Geheimnisse akzeptieren, bevor das Ereignisabonnement mit dem neuen Geheimnis aktualisiert wird.
Da Abfrageparameter geheime Clientschlüssel enthalten könnten, werden Sie mit besonderer Sorgfalt behandelt. Sie werden verschlüsselt gespeichert und sind für Dienstoperatoren nicht zugänglich. Sie werden im Rahmen der Dienstprotokollierung/Ablaufverfolgung nicht protokolliert. Beim Abrufen der Ereignisabonnementeigenschaften werden die Zielabfrageparameter standardmäßig nicht zurückgegeben. Beispiel: In der Azure CLI muss der Parameter --include-full-endpoint-url verwendet werden.
Weitere Informationen zum Übermitteln von Ereignissen an Webhooks finden Sie unter Webhook-Ereignisbereitstellung.
Wichtig
Azure Event Grid unterstützt nur HTTPS-Webhook-Endpunkte.
Endpunktüberprüfung mit CloudEvents 1.0
Wenn Sie mit Event Grid bereits vertraut sind, kennen Sie wahrscheinlich auch den Handshake zur Überprüfung von Endpunkten, mit dem Missbrauch verhindert werden soll. CloudEvents v1.0 implementiert eine eigene Semantik für den Schutz vor Missbrauch über die HTTP OPTIONS-Methode. Weitere Informationen dazu finden Sie unter HTTP 1.1-Webhooks für die Ereignisbereitstellung – Version 1.0. Wenn Sie das CloudEvents-Schema für die Ausgabe nutzen, verwendet Event Grid anstelle des Event Grid-Mechanismus für Überprüfungsereignisse den Missbrauchsschutz von CloudEvents v1.0. Weitere Informationen finden Sie unter Verwenden des CloudEvents 1.0-Schemas mit Event Grid.
Nächste Schritte
Weitere Informationen zum Authentifizieren von Clients, die Ereignisse an Themen oder Domänen pushen, finden Sie unter Authentifizieren von Veröffentlichungsclients.