Verwaltete Identitäten für den Azure Web PubSub-Dienst

In diesem Artikel erfahren Sie, wie Sie eine verwaltete Identität für den Azure Web PubSub-Dienst erstellen und verwenden.

Wichtig

Der Azure Web PubSub-Dienst kann nur eine verwaltete Identität unterstützen. Das bedeutet, dass Sie entweder eine systemseitig oder benutzerseitig zugewiesene Identität hinzufügen können.

Hinzufügen einer systemseitig zugewiesenen Identität

Erstellen Sie zum Einrichten einer verwalteten Identität im Azure-Portal zunächst eine Azure Web PubSub-Instanz, und aktivieren Sie dann das Feature.

  1. Erstellen Sie wie gewohnt eine Azure Web PubSub-Instanz im Portal. Navigieren Sie im Portal zu dieser Instanz.

  2. Wählen Sie Identität aus.

  3. Ändern Sie auf der Registerkarte Systemseitig zugewiesen den Status in Ein. Klicken Sie auf Speichern.

    Add a system-assigned identity in the portal

Hinzufügen einer benutzerseitig zugewiesenen Identität

Für das Erstellen einer Azure Web PubSub-Instanz mit einer benutzerseitig zugewiesenen Identität müssen Sie die Identität erstellen und dann den Ressourcenbezeichner der Identität zu Ihrem Dienst hinzufügen.

  1. Folgen Sie zum Erstellen einer benutzerseitig verwalteten Identitätsressource diesen Anweisungen.

  2. Erstellen Sie wie gewohnt eine Azure Web PubSub-Instanz im Portal. Navigieren Sie im Portal zu dieser Instanz.

  3. Wählen Sie Identität aus.

  4. Wählen Sie auf der Registerkarte Benutzerseitig zugewiesen die Option Hinzufügen aus.

  5. Suchen Sie nach der zuvor erstellten Identität, und wählen Sie sie aus. Klicken Sie auf Hinzufügen.

    Add a user-assigned identity in the portal

Verwenden einer verwalteten Identität in Clientereignisszenarios

Azure Web PubSub ist ein vollständig verwalteter Dienst, sodass Sie keine verwaltete Identität verwenden können, um Token manuell abzurufen. Wenn der Azure Web PubSub-Dienst Ereignisse an den Ereignishandler sendet, wird stattdessen die verwaltete Identität verwendet, um ein Zugriffstoken abzurufen. Der Dienst legt dann das Zugriffstoken im Authorization-Header in der HTTP-Anforderung fest.

Aktivieren der Authentifizierung der verwalteten Identität in den Ereignishandlereinstellungen

  1. Fügen Sie eine systemseitig oder benutzerseitig zugewiesene Identität hinzu.

  2. Navigieren Sie zu "Hub konfigurieren Einstellungen", und fügen Oder bearbeiten Sie einen Ereignishandler vor.

    msi-setting

  3. Wählen Sie im Abschnitt "Authentifizierung " die Option "Authentifizierung verwenden" aus, und aktivieren Sie " Angeben der ausgestellten Tokengruppe". Die Zielgruppe wird zum aud Anspruch im erhaltenen Zugriffstoken, der als Teil der Überprüfung in Ihrem Ereignishandler verwendet werden kann. Sie können eine der folgenden Optionen auswählen:

    • Wählen Sie aus vorhandenen Microsoft Entra-Anwendungen aus. Die Anwendungs-ID Ihrer Wahl wird verwendet.
    • Der Anwendungs-ID-URI des Dienstprinzipals.

    Wichtig

    Verwenden einer leeren Ressource erwerben Sie ein Token für Microsoft Graph. Wie heute aktiviert Microsoft Graph die Tokenverschlüsselung, sodass es für die Anwendung nicht verfügbar ist, um das Token zu authentifizieren, das andere als Microsoft Graph ist. Üblicherweise sollten Sie immer einen Dienstprinzipal erstellen, um Ihr upstream-Ziel darzustellen. Und legen Sie den Anwendungs-ID - oder Anwendungs-ID-URI des von Ihnen erstellten Dienstprinzipals fest.

Authentifizierung in einer Funktions-App

Sie können die Zugriffsüberprüfung für eine Funktions-App ganz einfach ohne Codeänderungen festlegen, indem Sie die Azure-Portal verwenden:

  1. Wechseln Sie im Azure-Portal zur Funktions-App.

  2. Wählen Sie im oberen Menü Authentifizierung aus.

  3. Wählen Sie Identitätsanbieter hinzufügen aus.

  4. Wählen Sie auf der Registerkarte "Grundlagen" in der Dropdownliste "Identitätsanbieter" "Microsoft" aus.

  5. Wählen Sie in Aktion, die ausgeführt werden soll, wenn die Anforderung nicht authentifiziert wird, die Option "Mit Microsoft Entra-ID anmelden" aus.

  6. Die Option zum Erstellen einer neuen Registrierung ist standardmäßig ausgewählt. Sie können den Namen der Registrierung ändern. Weitere Informationen zum Aktivieren eines Microsoft Entra-Anbieters finden Sie unter Configure your App Service or Azure Functions app to use a Microsoft Entra ID sign-in.

    Screenshot that shows basic information for adding an identity provider.

  7. Wechseln Sie zu Azure SignalR Service, und führen Sie die Schritte aus, um eine vom System zugewiesene Identität oder eine vom Benutzer zugewiesene Identität hinzuzufügen.

  8. Wechseln Sie im Azure SignalR-Dienst zu den Upstream-Einstellungen, und wählen Sie dann "Verwaltete Identität verwenden" und "Aus vorhandenen Anwendungen auswählen" aus. Wählen Sie die Anwendung aus, die Sie zuvor erstellt haben.

Nachdem Sie diese Einstellungen konfiguriert haben, lehnt die Funktions-App Anforderungen ohne Zugriffstoken im Header ab.

Überprüfen von Zugriffstoken

Wenn Sie webApp oder Azure Function nicht verwenden, können Sie das Token auch überprüfen.

Das Token im Authorization-Header ist ein Microsoft Identity Platform-Zugriffstoken.

Um Zugriffstoken zu überprüfen, sollte Ihre App auch die Zielgruppe und die signierenden Token validieren. Diese müssen anhand der Werte im OpenID Discovery-Dokument überprüft werden. Ein Beispiel finden Sie in der mandantenunabhängigen Version des Dokuments.

Die Microsoft Entra Middleware verfügt über integrierte Funktionen zum Überprüfen von Zugriffstoken. Sie können unsere Beispiele durchsuchen, um eines in der Sprache Ihrer Wahl zu finden.

Wir bieten Bibliotheken und Codebeispiele, die zeigen, wie Sie die Tokenüberprüfung ausführen können. Für die JSON Web Token-Validierung (JWT) stehen auch mehrere Open-Source-Partnerbibliotheken zur Verfügung. Es gibt dort mindestens eine Option für nahezu jede Plattform und Sprache. Weitere Informationen zu Microsoft Entra-Autorisierungsbibliotheken und Codebeispielen finden Sie unter Microsoft Identity Platform-Authentifizierungsbibliotheken.

Wenn der Ereignishandler speziell in Azure Function oder Web-Apps gehostet wird, besteht eine einfache Möglichkeit darin, die Microsoft Entra-Anmeldung zu konfigurieren.

Verwenden einer verwalteten Identität als Key Vault-Verweis

Web PubSub kann auf Key Vault zugreifen, um ein Geheimnis mithilfe der verwalteten Identität abzurufen.

  1. Fügen Sie eine vom System oder vom Benutzer zugewiesene Identität für Azure Web PubSub hinzu.

  2. Erteilen Sie der verwalteten Identität in den Zugriffsrichtlinien im Key Vault Leseberechtigung. Weitere Informationen finden Sie unter Zuweisen einer Key Vault-Zugriffsrichtlinie über das Azure-Portal.

Derzeit kann dieses Feature in folgenden Szenarien verwendet werden:

  • Verwenden Sie die Syntax {@Microsoft.KeyVault(SecretUri=<secret-identity>)}, um Geheimnisse aus Key Vault in der URL-Vorlageneinstellung des Ereignishandlers abzurufen.

Nächste Schritte