Steuern des Zugriffs auf Ereignisse
Azure Event Hubs unterstützt sowohl Microsoft Entra ID als auch Shared Access Signatures (SAS), um sowohl Authentifizierung als auch Autorisierung zu verarbeiten. Azure stellt die folgenden integrierten Azure-Rollen zum Autorisieren des Zugriffs auf Event Hubs-Daten mithilfe von Microsoft Entra ID und OAuth bereit:
- Azure Event Hubs-Datenbesitzer: Verwenden Sie diese Rolle, um Vollzugriff auf Event Hub-Ressourcen zu erteilen.
- Azure Event Hubs-Datensender: Verwenden Sie diese Rolle, um Sendezugriff für Event Hub-Ressourcen zu erteilen.
- Azure Event Hubs-Datenempfänger: Verwenden Sie diese Rolle, um Empfangszugriff für Event Hub-Ressourcen zu erteilen.
Autorisieren des Zugriffs mit verwalteten Identitäten
Zum Autorisieren einer Anforderung an den Event Hubs Dienst von einer verwalteten Identität in Ihrer Anwendung müssen Sie die Einstellungen für rollenbasierte Zugriffssteuerung in Azure für diese verwaltete Identität konfigurieren. Für Azure Event Hubs werden Azure-Rollen definiert, die Berechtigungen zum Senden an und Lesen aus Event Hubs umfassen. Wenn die Azure-Rolle einer verwalteten Identität zugewiesen wird, wird der verwalteten Identität der Zugriff auf Event Hubs-Daten im entsprechenden Bereich erteilt.
Autorisieren des Zugriffs mit Microsoft Identity Platform
Ein wesentlicher Vorteil der Verwendung von Microsoft Entra ID mit Event Hubs besteht darin, dass Ihre Anmeldeinformationen nicht mehr im Code gespeichert werden müssen. Stattdessen können Sie ein OAuth 2.0-Zugriffstoken von Microsoft Identity Platform anfordern. Microsoft Entra übernimmt die Authentifizierung des Sicherheitsprinzipals (Benutzer, Gruppe oder Dienstprinzipal), der die Anwendung ausführt. Wenn die Authentifizierung erfolgreich ist, gibt Microsoft Entra ID das Zugriffstoken an die Anwendung zurück, und die Anwendung kann dann das Zugriffstoken zum Autorisieren von Anforderungen an Azure Event Hubs verwenden.
Autorisieren des Zugriffs auf Event Hubs-Verleger mit SAS (Shared Access Signatures)
Ein Ereignisherausgeber definiert einen virtuellen Endpunkt für einen Event Hub. Der Herausgeber kann nur zum Senden von Nachrichten an einen Event Hub verwendet werden, nicht zum Empfangen von Nachrichten. In der Regel setzt ein Event Hub einen Herausgeber pro Client ein. Alle Nachrichten, die an einen der Herausgeber eines Event Hubs gesendet werden, werden in die Warteschlange innerhalb dieses Event Hubs eingereiht. Herausgeber ermöglichen eine präzise Zugriffssteuerung.
Jedem Event Hubs Client wird ein eindeutiges Token zugewiesen, das auf den Client hochgeladen wird. Ein Client, der über ein Token verfügt, kann nur an einen Herausgeber Daten senden und an keinen anderen. Wenn mehrere Clients dasselbe Token gemeinsam nutzen, verwendet jeder von ihnen denselben Herausgeber.
Alle Token werden mit SAS-Schlüsseln (Shared Access Signature) zugewiesen. Alle Token werden in der Regel mit demselben Schlüssel signiert. Clients kennen den Schlüssel nicht. Clients können daher keine Token generieren. Clients verwenden die gleichen Token, bis diese ablaufen.
Autorisieren des Zugriffs auf Event Hubs mit SAS (Shared Access Signatures)
Zum Authentifizieren von Back-End-Anwendungen, die von Event Hubs-Producern generierte Daten nutzen, erfordert die Event Hubs-Tokenauthentifizierung, dass den Clients entweder Rechte zum Verwalten oder die Berechtigung Lauschen für den Event Hubs-Namespace, die Event Hub-Instanz oder das Thema zugewiesen sind. Daten werden von Event Hubs mithilfe von Consumergruppen genutzt. Mit einer SAS-Richtlinie können Sie zwar einen präzisen Bereich festlegen, dieser Bereich wird aber nur auf der Entitätsebene definiert und nicht auf der Consumerebene. Die auf der Ebene des Namespaces, der Event Hub-Instanz oder des Themas definierten Berechtigungen werden folglich auf die Consumergruppen dieser Entität angewendet.