Autorisieren des Zugriffs auf Azure Event Hubs-Ressourcen mithilfe der Microsoft Entra-ID

Azure Event Hubs unterstützt die Verwendung von Microsoft Entra ID zur Autorisierung von Anfragen an Event Hubs-Ressourcen, was eine sichere Authentifizierung und granulare Zugriffskontrolle ermöglicht. Mit Microsoft Entra ID verwenden Sie Azure rollenbasierte Zugriffskontrolle (Azure RBAC), um Sicherheitsprinzipalen wie Benutzern und Anwendungsdienstprinzipalen Berechtigungen zu erteilen. Dieser Ansatz eliminiert den Bedarf an gemeinsamen Zugriffsschlüsseln und verbessert die Sicherheit Ihrer Event Hubs-Lösungen.

Overview

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.

  1. Zunächst wird die Identität des Sicherheitsprinzipals authentifiziert und ein OAuth 2.0-Token zurückgegeben. Der Ressourcenname, um ein Token anzufordern, ist https://eventhubs.azure.net/, und er ist für alle Clouds und Tenants gleich. Für Kafka-Clients ist die Ressource zum Anfordern eines Tokens https://<namespace>.servicebus.windows.net.
  2. 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 innerhalb einer Azure-Entität wie einer Azure-virtuellen Maschine (VM), einem Virtual Machine Scale Set oder einer Azure Functions-App ausgeführt wird, kann sie eine verwaltete Identität verwenden, um auf die Ressourcen zuzugreifen. Informationen zum Authentifizieren von Anforderungen, die von einer verwalteten Identität an den Event Hubs-Dienst übermittelt werden, finden Sie unter 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 Rollen, die einem Sicherheitsprinzipal zugewiesen sind, bestimmen die Berechtigungen, über die der Prinzipal verfügt. Weitere Informationen zu Azure-Rollen finden Sie unter In Azure integrierte Rollen für Azure Event Hubs.

Native Anwendungen und Webanwendungen, die Anfragen an Event Hubs stellen, können ebenfalls über Microsoft Entra ID autorisieren. 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 Azure-integrierten Rollen, die gängige Berechtigungen zum Zugriff auf Event-Hub-Daten umfassen, und Sie können auch benutzerdefinierte Rollen für den Zugriff auf die Daten definieren.

Wenn Sie einem Microsoft Entra-Sicherheitsprinzipal eine Azure-Rolle zuweisen, gewährt Azure diesem Sicherheitsprinzipal Zugriff auf diese Ressourcen. Sie können den Zugriff auf die Ebene des Abonnements, die Ressourcengruppe, den Event Hubs-Namensraum oder jede Ressource darunter beschränken. Ein Microsoft Entra-Sicherheitsprinzip kann ein Benutzer, ein Anwendungsdienstprinzip oder eine verwaltete Identität für Azure-Ressourcen sein.

In Azure integrierte Rollen für Azure Event Hubs

Azure stellt folgende integrierte Rollen zur Autorisierung des Zugriffs auf Event Hubs-Daten mittels Microsoft Entra ID und OAuth bereit:

Role Description
Azure Event Hubs-Datenbesitzer Mit dieser Rolle gewähren Sie Vollzugriff auf Event Hubs-Ressourcen.
Azure Event Hubs-Datensender Verwenden Sie diese Rolle, um dem Sicherheitsprinzipal das Senden von Ereignissen an Event Hubs-Ressourcen zu ermöglichen.
Azure Event Hubs-Datenempfänger Verwenden Sie diese Rolle, um dem Sicherheitsprinzipal das Empfangen von Ereignissen von Event Hubs-Ressourcen zu ermöglichen.

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. Gewähren Sie nur den engstmöglichen Zugriffsbereich.

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.

Note

  • 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 Kafka-Unterstützung in Event Hubs finden Sie unter Event Hubs für Kafka – 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.

Samples