Autorisieren des Zugriffs auf Event Hubs-Ressourcen mithilfe von Microsoft Entra ID
Azure Event Hubs unterstützt die Verwendung von Microsoft Entra ID zum Autorisieren von Anforderungen an Event Hubs-Ressourcen. Mit Microsoft Entra ID können Sie die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) von Azure zum Erteilen von Berechtigungen für einen Sicherheitsprinzipal verwenden. Bei diesem kann es sich um einen Benutzer oder um einen Anwendungsdienstprinzipal handeln. Weitere Informationen zu Rollen und Rollenzuweisungen finden Sie unter Grundlegendes zu den verschiedenen Rollen.
Übersicht
Wenn ein Sicherheitsprinzipal (ein Benutzer oder eine Anwendung) versucht, auf eine Event Hubs-Ressource zuzugreifen, muss die Anforderung autorisiert werden. Mit Microsoft Entra ID ist der Zugriff auf eine Ressource ein zweistufiger Prozess.
- Zunächst wird die Identität des Sicherheitsprinzipals authentifiziert, und ein OAuth 2.0-Token wird zurückgegeben. Der Ressourcenname für die Anforderung eines Tokens ist
https://eventhubs.azure.net/
, der für alle Clouds/Mandanten gleich ist. Für Kafka-Clients ist die Ressource zum Anfordern eines Tokenshttps://<namespace>.servicebus.windows.net
. - Anschließend wird das Token als Teil einer Anforderung an den Event Hubs-Dienst übergeben, um den Zugriff auf die angegebene Ressource zu autorisieren.
Für den Authentifizierungsschritt ist es erforderlich, dass eine Anwendungsanforderung zur Laufzeit ein OAuth 2.0-Zugriffstoken enthält. Wenn eine Anwendung in einer Azure-Entität, z.B. einem virtuellen Azure-Computer, einer VM-Skalierungsgruppe oder einer Azure Functions-App, ausgeführt wird, kann der Zugriff auf die Ressourcen über eine verwaltete Identität erfolgen. Informationen dazu, wie Sie Anforderungen einer verwalteten Identität an den Event Hubs-Dienst authentifizieren können, finden Sie im Artikel zum Authentifizieren des Zugriffs auf Azure Event Hubs-Ressourcen mit Microsoft Entra ID und verwalteten Identitäten für Azure-Ressourcen.
Der Autorisierungsschritt erfordert, dass dem Sicherheitsprinzipal mindestens eine Azure-Rolle zugewiesen wird. Azure Event Hubs stellt Azure-Rollen bereit, die Berechtigungen für Event Hubs-Ressourcen enthalten. Die möglichen Berechtigungen eines Sicherheitsprinzipals sind durch die Rollen vorgegeben, die dem Prinzipal zugewiesen sind. Weitere Informationen zu Azure-Rollen finden Sie unter In Azure integrierte Rollen für Azure Event Hubs.
Native Anwendungen und Webanwendungen, die Anforderungen an Event Hubs senden, können die Autorisierung ebenfalls mit Microsoft Entra ID durchführen. Informationen zum Anfordern eines Zugriffstokens und seiner Verwendung zum Autorisieren von Anforderungen für Event Hubs-Ressourcen finden Sie im Artikel zum Authentifizieren des Zugriffs auf Azure Event Hubs mit Microsoft Entra ID über eine Anwendung.
Zuweisen von Azure-Rollen für Zugriffsrechte
Microsoft Entra autorisiert Zugriffsrechte für geschützte Ressourcen über die rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC). Azure Event Hubs definiert eine Reihe von integrierten Azure-Rollen, die allgemeine Berechtigungssätze für den Zugriff auf Event Hub-Daten umfassen. Sie können auch benutzerdefinierte Rollen für den Zugriff auf die Daten definieren.
Wenn einem Microsoft Entra-Sicherheitsprinzipal eine Azure-Rolle zugewiesen wird, gewährt Azure diesem Sicherheitsprinzipal Zugriff auf diese Ressourcen. Der Zugriff kann sich auf den Bereich des Abonnements, der Ressourcengruppe, des Event Hubs-Namespace oder jeder darin vorhandenen Ressource beziehen. Bei einem Microsoft Entra-Sicherheitsprinzipal kann es sich um einen Benutzer bzw. eine Benutzerin, eine Gruppe, einen Anwendungsdienstprinzipal oder eine verwaltete Identität für Azure-Ressourcen handeln.
In Azure integrierte Rollen für Azure Event Hubs
Azure stellt die folgenden integrierten Azure-Rollen zum Autorisieren des Zugriffs auf Event Hubs-Daten mithilfe von Microsoft Entra ID und OAuth bereit:
Rolle | BESCHREIBUNG |
---|---|
Azure Event Hubs-Datenbesitzer | Mit dieser Rolle gewähren Sie Vollzugriff auf Event Hubs-Ressourcen. |
Azure Event Hubs-Datensender | Mit dieser Rolle gewähren Sie Sendezugriff auf Event Hubs-Ressourcen. |
Azure Event Hubs-Datenempfänger | Mit dieser Rolle gewähren Sie Verbrauchs-/Sendezugriff auf Event Hubs-Ressourcen. |
Informationen zu den integrierten Rollen für die Schemaregistrierung finden Sie unter Schemaregistrierungsrollen.
Ressourcenumfang
Bevor Sie einem Sicherheitsprinzipal eine Azure-Rolle zuweisen, legen Sie den Zugriffsbereich fest, den der Sicherheitsprinzipal haben soll. Es hat sich als am besten bewährt, stets nur den kleinstmöglichen Umfang an Zugriffsrechten zu gewähren.
In der folgenden Liste werden die Ebenen beschrieben, auf denen Sie den Zugriff auf Event Hubs-Ressourcen einschränken können, beginnend mit dem kleinstmöglichen Bereich:
- Consumergruppe: Bei diesem Umfang gilt die Rollenzuweisung nur für diese Entität. Derzeit unterstützt das Azure-Portal keine Zuweisung einer Azure-Rolle zu einem Sicherheitsprinzipal auf dieser Ebene.
- Event Hub: Die Rollenzuweisung gilt für Event Hubs und deren Consumergruppen.
- Namespace: Die Rollenzuweisung umfasst die gesamte Topologie von Event Hubs unter dem Namespace sowie die ihm zugeordnete Consumergruppe.
- Ressourcengruppe: Die Rollenzuweisung gilt für alle Event Hubs-Ressourcen unter der Ressourcengruppe.
- Abonnement: Die Rollenzuweisung gilt für alle Event Hubs-Ressourcen in allen Ressourcengruppen im Abonnement.
Hinweis
- Denken Sie daran, dass die Weitergabe von Azure-Rollenzuweisungen bis zu fünf Minuten in Anspruch nehmen kann.
- Dieser Inhalt gilt für Event Hubs und Event Hubs für Apache Kafka. Weitere Informationen zur Unterstützung für Event Hubs für Kafka finden Sie unter Verwenden von Azure Event Hubs aus Apache Kafka-Anwendungen – Sicherheit und Authentifizierung.
Weitere Informationen dazu, wie integrierte Rollen definiert sind, finden Sie unter Grundlegendes zu Rollendefinitionen. Informationen zum Erstellen von benutzerdefinierten Azure-Rollen finden Sie unter Benutzerdefinierte Azure-Rollen.
Beispiele
Microsoft.Azure.EventHubs-Beispiele.
In diesen Beispielen wird die Microsoft.Azure.EventHubs-Legacybibliothek verwendet, aber Sie können sie problemlos so aktualisieren, dass die neueste Azure.Messaging.EventHubs-Bibliothek verwendet wird. Informationen dazu, wie Sie das Beispiel nicht mit der Legacybibliothek, sondern mit der neuen Bibliothek verwenden, finden Sie in der Anleitung für die Migration von Microsoft.Azure.EventHubs zu Azure.Messaging.EventHubs.
Azure.Messaging.EventHubs-Beispiele
Dieses Beispiel wurde so aktualisiert, dass die aktuelle Azure.Messaging.EventHubs-Bibliothek verwendet wird.
Zugehöriger Inhalt
- Informationen dazu, wie Sie einem Sicherheitsprinzipal eine integrierte Azure-Rolle zuweisen, finden Sie im Artikel zum Authentifizieren des Zugriffs auf Event Hubs-Ressourcen mithilfe von Microsoft Entra ID.
- Informationen zum Erstellen benutzerdefinierter Rollen mit Azure RBAC
- Erfahren Sie mehr über die Verwendung von Microsoft Entra ID mit Event Hubs.
Weitere Informationen finden Sie in den folgenden verwandten Artikeln:
- Authentifizieren von Anforderungen an Azure Event Hubs über eine Anwendung mithilfe von Microsoft Entra ID
- Authentifizieren einer verwalteten Identität mit Microsoft Entra ID für den Zugriff auf Event Hubs-Ressourcen
- Authentifizieren von Anforderungen an Azure Event Hubs mithilfe von Shared Access Signature
- Autorisieren des Zugriffs auf Event Hubs-Ressourcen mit Shared Access Signature