Verwenden einer verwalteten Identität

In diesem Artikel erfahren Sie, wie Sie eine verwaltete Identität in Azure Web PubSub erstellen und verwenden.

Wichtig

Azure Web PubSub kann nur eine verwaltete Identität unterstützen. Sie können entweder eine systemseitig oder eine benutzerseitig zugewiesene Identität hinzufügen.

Hinzufügen einer systemseitig zugewiesenen Identität

Um eine verwaltete Identität im Azure-Portal einzurichten, erstellen Sie eine Azure Web PubSub-Instanz, und aktivieren Sie dann das Feature.

  1. Erstellen Sie im Azure-Portal eine Web PubSub-Ressource. Wechseln Sie zur Ressource im Portal.

  2. Wählen Sie im linken Menü Identität aus.

  3. Wählen Sie die Registerkarte Systemseitig zugewiesen aus, und legen Sie dann Status auf Ein fest. Wählen Sie Speichern.

    Screenshot, der das Hinzufügen einer systemseitig zugewiesenen Identität im Azure-Portal zeigt

Hinzufügen einer benutzerseitig zugewiesenen Identität

Um eine Web PubSub-Ressource mithilfe einer benutzerseitig zugewiesenen Identität zu erstellen, erstellen Sie die Identität, und fügen Sie dann den Ressourcenbezeichner der Identität zu Ihrem Dienst hinzu.

  1. Erstellen Sie eine benutzerseitig zugewiesene verwaltete Identitätsressource.

  2. Erstellen Sie im Azure-Portal eine Web PubSub-Ressource. Wechseln Sie zur Ressource im Portal.

  3. Wählen Sie im linken Menü Identität aus.

  4. Wählen Sie die Registerkarte Benutzerseitig zugewiesen und dann Hinzufügen aus.

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

    Screenshot, der das Hinzufügen einer benutzerseitig zugewiesenen Identität im Azure-Portal zeigt

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 Web PubSub Ereignisse an einen Ereignishandler sendet, wird stattdessen die verwaltete Identität verwendet, um ein Zugriffstoken abzurufen. Der Dienst legt dann das Zugriffstoken im Authorization-Header der HTTP-Anforderung fest.

Einrichten der Authentifizierung verwalteter Identitäten für einen Ereignishandler

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

  2. Wechseln Sie zu Hubeinstellungen konfigurieren, und fügen Sie einen Upstream-Ereignishandler hinzu, oder bearbeiten Sie einen vorhandenen.

    Screenshot der Einstellungen, die im Bereich „Hubeinstellungen konfigurieren“ verwendet werden sollen

  3. Wählen Sie unter Authentifizierung die Option Verwaltete Identität verwenden aus, und aktivieren Sie dann das Kontrollkästchen Geben Sie die ausgestellte Tokenzielgruppe an. Die Zielgruppe wird zum aud-Anspruch im Zugriffstoken. Der Anspruch kann Teil der Validierung für den Ereignishandler sein.

    Für die Authentifizierung können Sie eine der folgenden Optionen auswählen:

    • Eine vorhandene Microsoft Entra-Anwendung: Die Anwendungs-ID der Anwendung, die Sie auswählen, wird verwendet.
    • Den Anwendungs-ID-URI des Dienstprinzipals

    Wichtig

    Bei Verwendung einer leeren Ressource wird ein Tokenziel für Microsoft Graph abgerufen. Derzeit ermöglicht Microsoft Graph die Tokenverschlüsselung, sodass es für eine Anwendung nicht unterstützt wird, das Token auf andere Weise als mit Microsoft Graph zu authentifizieren. Sie sollten immer einen Dienstprinzipal erstellen, um Ihr Upstreamziel darzustellen. Legen Sie die Anwendungs-ID oder den Anwendungs-ID-URI für den erstellten Dienstprinzipal fest.

Authentifizierung in einer Azure Functions-App

Sie können die Zugriffsüberprüfung für eine Funktions-App ganz einfach festlegen, ohne Codeänderungen vorzunehmen.

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

  2. Wählen Sie im linken Menü die Option Authentifizierung aus.

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

  4. Wählen Sie auf der Registerkarte Grundeinstellungen für Identitätsanbieter die Option Microsoft aus.

  5. Wählen Sie unter Auszuführende Aktion, wenn die Anforderung nicht authentifiziert ist 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 des Microsoft Entra-Anbieters finden Sie unter Konfigurieren Ihrer Azure App Service- oder Azure Functions-App zur Verwendung der Microsoft Entra ID-Anmeldung.

    Screenshot, der grundlegende Informationen zum Hinzufügen eines Identitätsanbieters zeigt.

  7. Wechseln Sie zu Ihrer Web PubSub-Ressource, und eine systemseitig zugewiesene Identität oder eine benutzerseitig zugewiesene Identität hinzufügen.

  8. Wählen Sie im linken Menü für Ihre Web PubSub-Ressource Einstellungen aus.

  9. Wählen Sie Bearbeiten aus, um Ihre Hubeinstellungen zu bearbeiten, und wählen Sie dann Bearbeiten aus, um Ihre Ereignishandlereinstellungen zu bearbeiten. Wählen Sie unter Authentifizierung die Option Verwaltete Identität verwenden aus, und aktivieren Sie das Kontrollkästchen Aus vorhandenen Anwendungen auswählen. Wählen Sie die erstellte Anwendung aus.

Nachdem Sie diese Einstellungen konfiguriert haben, lehnt die Funktions-App Anforderungen ab, die nicht über ein Zugriffstoken im Header verfügen.

Validieren eines Zugriffstokens

Wenn Sie das Web-Apps-Feature von Azure App Service oder Azure Functions nicht verwenden, können Sie das Token auch validieren.

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

Um ein Zugriffstoken zu validieren, sollte Ihre App auch die Zielgruppe und das Signaturtoken validieren. Signaturtoken müssen anhand der Werte im OpenID Discovery-Dokument validiert werden. Ein Beispiel finden Sie in der mandantenunabhängigen Version des Dokuments.

Die Microsoft Entra Middleware verfügt über integrierte Funktionen zum Validieren von Zugriffstoken. Sie können unsere Beispiele durchsuchen, um eines zu finden, das in der Sprache geschrieben ist, die Sie verwenden möchten.

Wir bieten Bibliotheken und Codebeispiele, die zeigen, wie Sie die Tokenvalidierung umsetzen können. Mehrere Open-Source-Partnerbibliotheken sind zudem für die JWT-Validierung (JSON Web Token) verfügbar. Es gibt mindestens eine Option für nahezu jede Plattform und Sprache. Weitere Informationen zu Microsoft Entra-Authentifizierungsbibliotheken sowie Codebeispiele finden Sie unter Microsoft Identity Platform-Authentifizierungsbibliotheken.

Wenn der Ereignishandler in Azure Functions oder in Web-Apps gehostet wird, besteht ein einfacher Weg darin, eine Microsoft Entra-Anmeldung zu konfigurieren.

Verwenden einer verwalteten Identität für einen Schlüsseltresorverweis

Web PubSub kann mithilfe einer verwalteten Identität auf einen Schlüsseltresor zugreifen, um ein Geheimnis abzurufen.

  1. Fügen Sie eine systemseitig oder benutzerseitig zugewiesene Identität für Azure Web PubSub hinzu.

  2. Erteilen Sie der verwalteten Identität im Schlüsseltresor mithilfe von Zugriffsrichtlinien Leseberechtigungen für Geheimnisse. Weitere Informationen finden Sie unter Zuweisen einer Key Vault-Zugriffsrichtlinie im Azure-Portal.

Derzeit kann dieses Feature im folgenden Szenario verwendet werden:

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