Freigeben über


Authentifizieren einer Anwendung mit Microsoft Entra-ID für den Zugriff auf Event Hubs

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 zum Anfordern eines Tokens lautet https://eventhubs.azure.net/. Dieser Wert ist für alle Clouds/Mandanten gleich. (Für Kafka-Clients lautet 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 einem Microsoft Entra-Sicherheitsprinzipal eine Azure-Rolle zugewiesen ist, gewährt Azure diesem Sicherheitsprinzipal Zugriff auf diese Ressourcen. Der Zugriff kann auf das Abonnement, die Ressourcengruppe, den Event Hubs-Namespace oder eine beliebige Ressource unter diesem Bereich festgelegt werden. 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.

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 der Microsoft Entra-ID zum Autorisieren von Event Hubs-Ressourcen besteht darin, eine Clientanwendung mit einem Microsoft Entra-Mandanten im Azure-Portal 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:

Screenshot der Registrierungsseite der Azure-Portal-App mit hervorgehobener Anwendungs-ID.

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.

Zuweisen von Azure-Rollen über das Azure-Portal

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 Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.

Testen Sie dieses Verhalten nach dem Definieren der Rolle und des Bereichs mit Beispielen , die an diesem GitHub-Speicherort verfügbar sind. Weitere Informationen zum Verwalten des Zugriffs auf Azure-Ressourcen mithilfe der rollenbasierten Zugriffssteuerung (RBAC) und des Azure-Portals finden Sie in diesem Artikel.

Verwenden von Clientbibliotheken zum Abrufen von Token

Nachdem Sie Ihre Anwendung registriert und Berechtigungen zum Senden oder Empfangen von Daten in Azure Event Hubs erteilt haben, fügen Sie Ihrer Anwendung Code hinzu, um einen Sicherheitsprinzipal zu authentifizieren und ein OAuth 2.0-Token zu erwerben. 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) für .NET im Abschnitt Szenarien.

Samples

Weitere Informationen finden Sie in den folgenden verwandten Artikeln: