Autorisieren des Zugriffs auf Web PubSub-Ressourcen mithilfe von Microsoft Entra ID

Der Azure Web PubSub-Dienst ermöglicht die Autorisierung von Anforderungen an Azure Web PubSub-Ressourcen mit Microsoft Entra ID.

Durch die Verwendung der rollenbasierten Zugriffssteuerung (RBAC) mit Microsoft Entra ID können Berechtigungen einem Sicherheitsprinzipal erteilt werden[1]. Microsoft Entra autorisiert diesen Sicherheitsprinzipal und gibt ein OAuth 2.0-Token zurück, mit dem Web PubSub-Ressourcen dann eine Anforderung autorisieren können.

Die Verwendung von Microsoft Entra ID für die Autorisierung von Web PubSub-Anforderungen bietet verbesserte Sicherheit und Benutzerfreundlichkeit im Vergleich zur Zugriffsschlüsselautorisierung. Microsoft empfiehlt, möglichst die Microsoft Entra-Autorisierung mit Web PubSub-Ressourcen zu verwenden, um den Zugriff mit den erforderlichen Mindestberechtigungen sicherzustellen.

[1] Sicherheitsprinzipal: ein Benutzer/eine Ressourcengruppe, eine Anwendung oder ein Dienstprinzipal, z. B. systemseitig zugewiesene Identitäten und benutzerseitig zugewiesene Identitäten

Übersicht über Microsoft Entra ID für Web PubSub

Die Authentifizierung ist erforderlich, um bei Verwendung von Microsoft Entra ID auf eine Web PubSub-Ressource zuzugreifen. Diese Authentifizierung umfasst zwei Schritte:

  1. Zuerst authentifiziert Azure den Sicherheitsprinzipal und stellt ein OAuth 2.0-Token aus.
  2. Danach wird das Token der Anforderung für die Web PubSub-Ressource hinzugefügt. Der Web PubSub-Dienst verwendet das Token, um zu überprüfen, ob der Dienstprinzipal über Zugriff auf die Ressource verfügt.

Clientseitige Authentifizierung mit Microsoft Entra ID

Die Aushandlungsserver/die Funktions-App gibt einen Zugriffsschlüssel für die Web PubSub-Ressource frei, sodass der Web PubSub-Dienst Clientverbindungsanforderungen mithilfe von Clienttoken authentifizieren kann, die vom Zugriffsschlüssel generiert werden.

Der Zugriffsschlüssel ist jedoch häufig deaktiviert, wenn Microsoft Entra ID verwendet wird, um die Sicherheit zu verbessern.

Um dieses Problem zu beheben, haben wir eine REST-API entwickelt, die ein Clienttoken generiert. Dieses Token kann verwendet werden, um eine Verbindung mit dem Azure Web PubSub-Dienst herzustellen.

Um diese API zu verwenden, muss der Aushandlungsserver zuerst ein Microsoft Entra-Token von Azure abrufen, um sich selbst zu authentifizieren. Der Server kann dann die Web PubSub-Authentifizierungs-API mit dem Microsoft Entra-Token aufrufen, um ein Clienttoken abzurufen. Das Clienttoken wird dann an den Client zurückgegeben, der es zum Herstellen einer Verbindung mit dem Azure Web PubSub-Dienst verwenden kann.

Für die unterstützten Programmiersprachen stehen dafür Hilfsfunktionen (z. B. GenerateClientAccessUri) bereit.

Zuweisen von Azure-Rollen für Zugriffsrechte

Microsoft Entra autorisiert Zugriffsrechte für geschützte Ressourcen über die rollenbasierte Zugriffssteuerung in Azure. Azure Web PubSub definiert einige in Azure integrierte Rollen mit allgemeinen Berechtigungssätzen für den Zugriff auf Web PubSub-Ressourcen. Außerdem können Sie benutzerdefinierte Rollen für den Zugriff auf Web PubSub-Ressourcen definieren.

Ressourcenumfang

Bevor Sie eine Azure RBAC-Rolle einem Sicherheitsprinzipal zuweisen, ist es wichtig, die geeignete Zugriffsebene zu identifizieren, die der Prinzipal haben sollte. Es wird empfohlen, der Rolle den kleinstmöglichen Bereich zu gewähren. Ressourcen, die sich unterhalb befinden, erben Azure RBAC-Rollen mit umfangreicheren Bereichen.

Sie können den Zugriff auf Azure Web PubSub auf den folgenden Ebenen einschränken, beginnend mit dem kleinstmöglichen Bereich:

  • Eine individuelle Ressource.

    In diesem Bereich gilt eine Rollenzuweisung nur für die Zielressource.

  • Eine Ressourcengruppe.

    In diesem Bereich gilt eine Rollenzuweisung für alle Ressourcen in der Ressourcengruppe.

  • Ein Abonnement.

    In diesem Bereich gilt eine Rollenzuweisung für alle Ressourcen in allen Ressourcengruppen im Abonnement.

  • Eine Verwaltungsgruppe.

    In diesem Bereich gilt eine Rollenzuweisung für alle Ressourcen in allen Ressourcengruppen in sämtlichen Abonnements der Verwaltungsgruppe.

Integrierte Azure-Rollen für Web PubSub-Ressourcen

  • Web PubSub Service Owner

    Vollzugriff mit Datenebenenberechtigungen, einschließlich REST-APIs für das Lesen/Schreiben und Authentifizierungs-APIs.

    Dies ist die am häufigsten verwendete Rolle zum Erstellen eines Upstreamservers.

  • Web PubSub Service Reader

    Dient dem Zuweisen von Berechtigungen für schreibgeschützte REST-APIs für Web PubSub-Ressourcen.

    Sie wird normalerweise verwendet, wenn Sie ein Überwachungstool schreiben möchten, das SCHREIBGESCHÜTZTE REST-APIs NUR auf der Web PubSub-Datenebene aufruft.

Nächste Schritte

Informationen zum Erstellen einer Azure-Anwendung und zum Verwenden der Microsoft Entra-Authentifizierung finden Sie unter:

Informationen zum Konfigurieren einer verwalteten Identität und zum Verwenden der Microsoft Entra-Authentifizierung finden Sie unter:

Weitere Informationen zu den Rollen und Rollenzuweisungen finden Sie unter

Informationen zum Erstellen benutzerdefinierter Rollen finden Sie unter:

Informationen zur ausschließlichen Verwendung der Microsoft Entra-Autorisierung finden Sie unter: