Verwaltete Identitäten für Azure SignalR Service
In Azure SignalR Service können Sie eine verwaltete Identität aus Microsoft Entra ID für Folgendes verwenden:
- Abrufen von Zugriffstokens
- Zugreifen auf Geheimnisse in Azure Key Vault
Der Dienst unterstützt nur eine verwaltete Identität. Sie können entweder eine systemseitig zugewiesene oder eine benutzerseitig zugewiesene Identität erstellen. Eine systemseitig zugewiesene Identität ist einer Azure SignalR Service-Instanz zugeordnet und wird gelöscht, wenn Sie die Instanz löschen. Eine benutzerseitig zugewiesene Identität wird unabhängig von Ihrer Azure SignalR Service-Ressource verwaltet.
In diesem Artikel erfahren Sie, wie Sie eine verwaltete Identität für den Azure SignalR Service erstellen, und wie Sie diese in serverlosen Szenarien verwenden können.
Voraussetzungen
Um eine verwaltete Identität verwenden zu können, benötigen Sie Folgendes:
- Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
- Eine Azure SignalR Service-Ressource
- Upstreamressourcen, auf die Sie zugreifen möchten (z. B. eine Azure Key Vault-Ressource)
- Azure Functions-App (Funktions-App)
Hinzufügen einer verwalteten Identität zu Azure SignalR Service
Sie können im Azure-Portal oder über die Azure CLI eine verwaltete Identität zu Azure SignalR Service hinzufügen. In diesem Artikel erfahren Sie, wie Sie im Azure-Portal eine verwaltete Identität zu Azure SignalR Service hinzufügen.
Hinzufügen einer systemseitig zugewiesenen Identität
Führen Sie die folgenden Schritte aus, um Ihrer Azure SignalR Service-Instanz eine systemseitig zugewiesene verwaltete Identität hinzuzufügen:
Navigieren Sie im Azure-Portal zu Ihrer Azure SignalR Service-Instanz.
Wählen Sie Identität aus.
Ändern Sie auf der Registerkarte Systemseitig zugewiesen den Status in Ein.
Wählen Sie Speichern.
Wählen Sie Ja aus, um die Änderung zu bestätigen.
Hinzufügen einer benutzerseitig zugewiesenen Identität
Um Ihrer Azure SignalR Service-Instanz eine benutzerseitig zugewiesene Identität hinzuzufügen, müssen Sie die Identität erstellen und dann dem Dienst hinzufügen.
Folgen Sie zum Erstellen einer benutzerseitig verwalteten Identitätsressource diesen Anweisungen.
Navigieren Sie im Azure-Portal zu Ihrer Azure SignalR Service-Instanz.
Wählen Sie Identität aus.
Wählen Sie auf der Registerkarte Benutzerseitig zugewiesen die Option Hinzufügen aus.
Wählen Sie die Identität im Dropdownmenü Benutzerseitig zugewiesene verwaltete Identitäten aus.
Wählen Sie Hinzufügen.
Verwenden einer verwalteten Identität in serverlosen Szenarien
Azure SignalR Service ist ein vollständig verwalteter Dienst. Er nutzt eine verwaltete Identität, um ein Zugriffstoken abzurufen. In serverlosen Szenarien fügt der Dienst das Zugriffstoken dem Authorization
-Header in einer Upstreamanforderung hinzu.
Aktivieren der verwalteten Identitätsauthentifizierung in Upstreameinstellungen
Nachdem Sie Ihrer Azure SignalR Service-Instanz eine systemseitig zugewiesene Identität oder benutzerseitig zugewiesene Identität hinzugefügt haben, können Sie die verwaltete Identitätsauthentifizierung in den Einstellungen für den Upstreamendpunkt aktivieren:
Navigieren Sie im Azure-Portal zu Ihrer Azure SignalR Service-Instanz.
Klicken Sie im Menü auf Einstellungen.
Wählen Sie den Dienstmodus Serverlos aus.
Geben Sie im Textfeld Muster für Upstream-URL hinzufügen das Muster für die Upstreamendpunkt-URL ein. Weitere Informationen finden Sie unter URL-Vorlageneinstellungen.
Klicken Sie auf Upstreameinstellung hinzufügen, und wählen Sie dann ein Sternchen aus.
Konfigurieren Sie unter Upstreameinstellungen die Einstellungen für Ihren Upstreamendpunkt.
In den Einstellungen für die verwaltete Identitätsauthentifizierung können Sie für Zielgruppe im ausgestellten Token die Zielressource angeben. Die Ressource wird zu einem
aud
-Anspruch in dem erhaltenen Zugriffstoken, der als Teil der Validierung in Ihren Upstreamendpunkten verwendet werden kann. Die Ressource kann in einem der folgenden Formate vorliegen:- Anwendungs-ID (Client) des Dienstprinzipals
- URI der Anwendungs-ID des Dienstprinzipals
Wichtig
Wenn Sie eine leere Ressource verwenden, erwerben Sie tatsächlich ein Tokenziel für Microsoft Graph. Derzeit aktiviert Microsoft Graph die Tokenverschlüsselung, sodass es für Anwendungen, abgesehen von Microsoft Graph, nicht möglich ist, das Token zu authentifizieren. Sie sollten immer einen Dienstprinzipal erstellen, um Ihr Upstream-Ziel darzustellen. Legen Sie außerdem die Anwendungs-ID oder den Anwendungs-ID-URI des von Ihnen erstellten Dienstprinzipals fest.
Authentifizierung in einer Funktions-App
Sie können die Zugriffsüberprüfung für eine Funktionsanwendung ganz einfach ohne Codeänderungen im Azure-Portal festlegen:
Navigieren Sie im Azure-Portal zur Funktions-App.
Wählen Sie im oberen Menü Authentifizierung aus.
Wählen Sie Identitätsanbieter hinzufügen aus.
Wählen Sie auf der Registerkarte Grundlagen aus der Dropdownliste Identitätsanbieter die Option Microsoft aus.
Wählen Sie unter Die auszuführende Aktion, wenn die Anforderung nicht authentifiziert ist die Option Mit Microsoft Entra ID anmelden aus.
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 App Service- oder Azure Functions-App zur Verwendung der Microsoft Entra ID-Anmeldung.
Navigieren Sie zu Azure SignalR Service, und befolgen Sie die Schritte zum Hinzufügen einer systemseitig oder benutzerseitig zugewiesenen Identität.
Wechseln Sie in Azure SignalR Service zu Upstreameinstellungen, und wählen Sie zunächst Verwaltete Identität verwenden und dann Aus vorhandenen Anwendungen auswählen aus. Wählen Sie die zuvor erstellte Anwendung aus.
Nach Konfigurieren dieser Einstellungen 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 Token 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 die Codebeispiele von Microsoft Identity Platform durchsuchen, um eines in der von Ihnen gewünschten Sprache zu finden.
Bibliotheken und Codebeispiele, die zeigen, wie Sie die Tokenüberprüfung handhaben können, sind verfügbar. Mehrere Open-Source-Partnerbibliotheken sind auch für die JSON Web Token-Validierung (JWT) verfügbar. Es gibt mindestens eine Option für nahezu jede Plattform und Sprache. Weitere Informationen zu Microsoft Entra-Authentifizierungsbibliotheken und Codebeispielen finden Sie unter Microsoft Identity Plattform: Authentifizierungsbibliotheken.
Verwenden einer verwalteten Identität als Key Vault-Verweis
Azure SignalR Service kann auf Key Vault zugreifen, um Geheimnisse mithilfe der verwalteten Identität abzurufen.
- Fügen Sie Ihrer Azure SignalR Service-Instanz eine systemseitig zugewiesene Identität oder eine benutzerseitig zugewiesene Identität hinzu.
- Erteilen Sie der verwalteten Identität in den Zugriffsrichtlinien in Key Vault Leseberechtigung für das Geheimnis. Weitere Informationen finden Sie unter Zuweisen einer Key Vault-Zugriffsrichtlinie (Legacy).
Derzeit können Sie dieses Feature verwenden, um auf ein Geheimnis im Upstream-URL-Muster zu verweisen.