Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Microsoft Azure bietet eine integrierte Verwaltung der Zugriffssteuerung für Ressourcen und Anwendungen, basierend auf Microsoft Entra ID. Ein wichtiger Vorteil der Verwendung der Microsoft Entra-ID mit Azure Event Hubs besteht darin, dass Sie keine Anmeldeinformationen im Code speichern müssen. Fordern Sie stattdessen ein OAuth 2.0-Zugriffstoken von der Microsoft Identity Platform an. 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. Microsoft Entra authentifiziert den Sicherheitsprinzipal, der die Anwendung ausführt. Dabei kann es sich um einen Benutzer, um eine Gruppe, um einen Dienstprinzipal oder um eine verwaltete Identität handeln. Wenn die Authentifizierung erfolgreich ist, gibt die Microsoft Entra-ID ein Zugriffstoken an die Anwendung zurück, das dann das Token zum Autorisieren von Anforderungen an Azure Event Hubs-Ressourcen verwenden kann.
Wenn Sie einem Microsoft Entra-Sicherheitsprinzipal eine Rolle zuweisen, gewährt Azure diesem Sicherheitsprinzipal Zugriff auf diese Ressourcen. Du kannst auf das Abonnement, die Ressourcengruppe, den Event Hubs-Namensraum oder jede Ressource darunter limitieren. Ein Microsoft Entra-Sicherheitsprinzipal kann einem Benutzer, einer Gruppe, einem Anwendungsdienstprinzipal oder einer verwalteten Identität für Azure-Ressourcen Rollen zuweisen.
Note
Eine Rollendefinition ist eine Sammlung von Berechtigungen. Die rollenbasierte Zugriffssteuerung (Azure RBAC) erzwingt diese Berechtigungen durch Rollenzuweisung. Eine Rollenzuweisung umfasst drei Elemente: Sicherheitsprinzipal, Rollendefinition und Bereich. Weitere Informationen finden Sie unter Grundlegendes zu den verschiedenen Rollen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie kein Konto haben, erstellen Sie ein kostenloses Konto.
- Ein Event Hubs-Namensraum und ein Event Hub. Um sie zu erstellen, siehe Quickstart: Erstellen Sie einen Event Hub mit Azure Portal.
- Berechtigung, eine Anwendung in Ihrem Microsoft Entra-Tenant zu registrieren. Zumindest die Rolle des Anwendungsentwicklers .
- Berechtigung zur Zuweisung von Azure-Rollen im Zielumfang. Die Rolle Eigentümer oder Benutzerzugriffsadministrator enthält diese Berechtigung.
Integrierte Rollen für Azure Event Hubs
Azure bietet diese integrierten Rollen, um den Zugriff auf Event Hubs-Daten mithilfe der Microsoft Entra-ID und OAuth zu autorisieren:
- Azure Event Hubs Dateneigentümer: Verwenden Sie diese Rolle, um vollständigen Zugriff auf Event Hubs-Ressourcen zu erhalten.
- Azure Event Hubs-Datensender: Ein Sicherheitsprinzipal, der dieser Rolle zugewiesen ist, kann Ereignisse an einen bestimmten Event Hub oder an alle Event Hubs in einem Namespace senden.
- Azure Event Hubs-Datenempfänger: Ein Sicherheitsprinzipal, der dieser Rolle zugewiesen ist, kann Ereignisse von einen bestimmten Event Hub oder von allen Event Hubs in einem Namespace empfangen.
Informationen zu den integrierten Rollen für die Schemaregistrierung finden Sie unter Schemaregistrierungsrollen.
Important
Die Vorschauversion unterstützt das Hinzufügen von Event Hubs-Datenzugriffsberechtigungen zur Rolle "Besitzer" oder "Mitwirkender". Diese Berechtigungen werden jedoch nicht mehr berücksichtigt. Wenn Sie die Rolle "Besitzer" oder "Mitwirkender" verwenden, wechseln Sie zur Rolle "Azure Event Hubs-Datenbesitzer".
Authentifizieren über eine Anwendung
Ein wichtiger Vorteil der Verwendung von Microsoft Entra ID mit Event Hubs besteht darin, dass Sie Ihre Anmeldeinformationen nicht in Ihrem Code speichern müssen. Fordern Sie stattdessen ein OAuth 2.0-Zugriffstoken von der Microsoft Identity Platform an. 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.
In den folgenden Abschnitten wird erläutert, wie Sie eine systemeigene Anwendung oder Webanwendung für die Authentifizierung mit Microsoft Identity Platform 2.0 konfigurieren. Weitere Informationen zu Microsoft Identity Platform 2.0 finden Sie unter Übersicht über Microsoft Identity Platform (v2.0).
Eine Übersicht über den Datenfluss für OAuth 2.0-Codeberechtigungen finden Sie unter Autorisieren des Zugriffs auf Microsoft Entra-Webanwendungen mit dem Flow zum Erteilen des OAuth 2.0-Codes.
Registrieren Ihrer Anwendung mit Microsoft Entra ID
Der erste Schritt zur Verwendung von Microsoft Entra ID zur Autorisierung von Event Hubs-Ressourcen besteht darin, eine Client-Anwendung bei einem Microsoft Entra-Tenant im Microsoft Entra Admin Center zu registrieren. Führen Sie die Schritte unter Schnellstart: Registrieren einer Anwendung bei Microsoft Identity Platform aus, um eine Anwendung in Microsoft Entra ID zu registrieren, die Ihre Anwendung darstellt, die versucht, auf Event Hubs-Ressourcen zuzugreifen.
Wenn Sie Ihre Clientanwendung registrieren, stellen Sie Informationen zu Ihrer Anwendung bereit. Microsoft Entra-ID stellt eine Client-ID bereit, die auch als Anwendungs-ID bezeichnet wird, um die Anwendung der Microsoft Entra-Runtime zuzuordnen. Weitere Informationen zur Client-ID finden Sie unter Anwendungs- und Dienstprinzipalobjekte in Microsoft Entra ID.
Note
Wenn Sie die Anwendung als native Anwendung registrieren, können Sie jeden gültigen URI als Umleitungs-URI angeben. Bei systemeigenen Anwendungen muss dieser Wert keine echte URL sein. Bei Webanwendungen muss der Umleitungs-URI ein gültiger URI sein, da er die URL angibt, in der Token bereitgestellt werden.
Nachdem Sie Ihre Anwendung registriert haben, wird die Anwendungs-ID (Client-ID) unter Einstellungen angezeigt:
Erstellen eines geheimen Clientschlüssels für die Authentifizierung
Die Anwendung erfordert einen geheimen Clientschlüssel, um seine Identität beim Anfordern eines Tokens zu beweisen. Führen Sie die Schritte unter Geheimen Clientschlüssel hinzufügen aus, um einen geheimen Clientschlüssel für Ihre App in Microsoft Entra ID zu erstellen.
Azure-Rollen über das Azure-Portal zuweisen
Weisen Sie dem Dienstprinzipal der Anwendung im gewünschten Bereich eine der Event Hubs-Rollen zu, z. B. den Event Hubs-Namespace, die Ressourcengruppe oder das Abonnement. Ausführliche Schritte finden Sie unter Zuweisen von Azure-Rollen mithilfe des Azure-Portals.
Nachdem Sie die Rolle und ihren Umfang definiert haben, testen Sie dieses Verhalten mit Proben, die in diesem GitHub-Standort verfügbar sind. Um mehr über die Verwaltung des Zugriffs auf Azure-Ressourcen durch Azure Role-Based Access Control (RBAC) und das Azure-Portal zu erfahren, siehe diesen Artikel.
Verwenden von Clientbibliotheken zum Abrufen von Token
Nachdem Sie Ihre Anwendung registriert und ihr die Berechtigung gegeben haben, Daten in Azure Event Hubs zu senden oder zu empfangen, fügen Sie Ihrer Anwendung Code hinzu, um einen Sicherheitsprinzip zu authentifizieren, und erhalten ein OAuth 2.0-Token. Um das Token zu authentifizieren und abzurufen, verwenden Sie eine der Authentifizierungsbibliotheken der Microsoft Identity Platform oder eine andere Open Source-Bibliothek, die OpenID Connect 1.0 unterstützt. Ihre Anwendung kann dann mit dem Zugriffstoken eine Anforderung an Azure Event Hubs autorisieren.
Szenarien, für die das Abrufen von Token unterstützt wird, finden Sie im GitHub-Repository Microsoft Authentication Library (MSAL) (MSAL) für .NET im Abschnitt Szenarien.
Samples
- RBAC-Beispiele mit dem .NET-Legacypaket „Microsoft.Azure.EventHubs“ Wir arbeiten daran, eine neue Version dieses Beispiels unter Verwendung des neuesten Azure.Messaging.EventHubs-Pakets zu erstellen. Weitere Informationen dazu finden Sie in der bereits konvertierten verwalteten Identität.
-
RBAC-Beispiel mit dem Java-Legacypaket „com.microsoft.azure.eventhubs“ Verwenden Sie das Migrationshandbuch, um dieses Beispiel für die Nutzung des neuen Pakets (
com.azure.messaging.eventhubs) zu migrieren. Um mehr über die Nutzung des neuen Pakets zu erfahren, siehe die Event Hubs Java-Beispiele.
Verwandte Inhalte
Weitere Informationen zu Azure RBAC finden Sie unter "Was ist die rollenbasierte Azure-Zugriffssteuerung (Azure RBAC)".
Um zu erfahren, wie man Azure-Rollenzuweisungen mit Azure PowerShell, Azure CLI oder der REST API zuweist und verwaltet, siehe diese Artikel:
- Hinzufügen oder Entfernen von Azure-Rollenzuweisungen mithilfe von Azure PowerShell
- Hinzufügen oder Entfernen von Azure-Rollenzuweisungen mithilfe der Azure-Befehlszeilenschnittstelle
- Hinzufügen oder Entfernen von Azure-Rollenzuweisungen mithilfe der REST-API
- Hinzufügen von Azure-Rollenzuweisungen mithilfe von Azure Resource Manager-Vorlagen
Weitere Informationen finden Sie in den folgenden verwandten Artikeln:
- 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 mithilfe von Microsoft Entra ID
- Autorisieren des Zugriffs auf Event Hubs-Ressourcen mit freigegebenen Zugriffssignaturen