Einrichten der Microsoft Entra-ID für die Clientauthentifizierung im Azure-Portal
Für Cluster, die auf Azure ausgeführt werden, können Sie die Microsoft Entra-ID verwenden, um den Zugriff auf Verwaltungsendpunkte zu sichern. In diesem Artikel wird die Einrichtung von Microsoft Entra ID zum Authentifizieren von Clients für einen Azure Service Fabric-Cluster im Azure-Portal beschrieben.
In diesem Artikel bezieht sich der Begriff Anwendung im Allgemeinen auf Microsoft Entra-Anwendungen, nicht auf Service Fabric-Anwendungen. Mit Microsoft Entra ID können Organisationen (so genannte Mandanten) den Benutzerzugriff auf Anwendungen verwalten.
Service Fabric-Cluster bieten unterschiedliche Einstiegspunkte für ihre Verwaltungsfunktionen. Hierzu zählen etwa Service Fabric Explorer (webbasiert) und Visual Studio. Daher erstellen Sie zwei Microsoft Entra-Anwendungen, um den Zugriff auf den Cluster zu steuern: eine Webanwendung und eine native Anwendung. Nachdem Sie die Anwendungen erstellt haben, weisen Sie Benutzer zu schreibgeschützten Rollen und Administratorrollen zu.
Hinweis
- Vor der Clustererstellung müssen folgende Schritte unter Linux ausgeführt werden. Unter Windows haben Sie auch die Möglichkeit, die Microsoft Entra-Authentifizierung für einen bestehenden Cluster zu konfigurieren.
- Es ist ein bekanntes Problem, dass Anwendungen und Knoten in Linux Microsoft Entra ID-fähigen Clustern nicht im Azure-Portal angezeigt werden können.
- Microsoft Entra ID erfordert jetzt, dass eine Herausgeberdomäne der Anwendung (App-Registrierung) überprüft oder ein Standardschema verwendet wird. Weitere Informationen finden Sie unter Konfigurieren der Herausgeberdomäne einer Anwendung und AppId-URI in Anwendungen mit einem einzelnen Mandanten erfordert Verwendung des Standardschemas oder von überprüften Domänen.
Voraussetzungen
In diesem Artikel wird davon ausgegangen, dass Sie bereits einen Mandanten erstellt haben. Wenn nicht, lesen Sie Schnellstart: Einrichten eines Mandanten.
Registrieren einer Microsoft Entra ID-Cluster-App
Öffnen Sie im Azure-Portal den Microsoft Entra ID-Bereich App-Registrierungen und wählen Sie + Neue Registrierung aus.
Geben Sie im Bereich Anwendung registrieren die folgenden Informationen ein und wählen Sie dann Registrieren aus:
Name: Geben Sie einen beschreibenden Namen ein. Es ist hilfreich, einen Registrierungstyp im Namen zu definieren, wie in diesem Beispiel: {{cluster name}}_Cluster.
Unterstützte Kontotypen: Wählen Sie Nur Konten in diesem Organisationsverzeichnis aus.
Umleitungs-URI: Wählen Sie Web aus und geben Sie die URL ein, zu der der Client umgeleitet wird. In diesem Beispiel wird die Service Fabric Explorer-URL verwendet:
https://{{cluster name}}.{{location}}.cloudapp.azure.com:19080/Explorer/index.html
.Nachdem die Registrierung abgeschlossen ist, können Sie weitere Umleitungs-URIs hinzufügen, indem Sie Authentifizierung>URI hinzufügen auswählen.
Hinweis
Fügen Sie weitere Umleitungs-URIs hinzu, wenn Sie den Zugriff auf Service Fabric Explorer über eine verkürzte URL wie https://{{cluster name}}.{{location}}.cloudapp.azure.com:19080/Explorer
planen. Eine genaue URL ist erforderlich, um diesen Fehler AADSTS50011 zu vermeiden: „Der in der Anforderung angegebene Umleitungs-URI stimmt nicht mit den für die Anwendung konfigurierten Umleitungs-URIs überein. Stellen Sie sicher, dass der in der Anforderung gesendete Umleitungs-URI mit dem URI übereinstimmt, der der Anwendung im Azure-Portal hinzugefügt wurde.“ Erfahren Sie mehr über die Problembehandlung dieses Fehlers.
Branding und Eigenschaften
Wählen Sie nach der Registrierung der Cluster-App Branding und Eigenschaften aus, und ergänzen Sie alle zusätzlichen Informationen. Geben Sie für die URL der Startseite die Service Fabric Explorer-URL ein.
Authentifizierung
Wählen Sie Authentifizierung aus. Aktivieren Sie unter Implizite Genehmigung und Hybridflows das Kontrollkästchen ID-Token (für implizite und Hybridflows verwendet).
Verfügbarmachen einer API
Wählen Sie API verfügbar machen und dann den Link Festlegen aus, um den Wert für Anwendungs-ID-URI einzugeben. Geben Sie entweder den URI einer verifizierten Domäne oder einen URI ein, der ein API-Schemaformat von api://{{tenant Id}}/{{cluster name}}
verwendet. Beispiel: api://0e3d2646-78b3-4711-b8be-74a381d9890c/mysftestcluster
.
Weitere Informationen finden Sie unter Der AppId-URI in Anwendungen mit einem einzelnen Mandanten erfordert die Verwendung des Standardschemas oder überprüfter Domänen.
Wählen Sie + Bereich hinzufügen aus und geben Sie dann die folgenden Informationen ein:
- Bereichsname: Geben Sie den Namen user_impersonation ein.
- Zum Einwilligen berechtigte Personen: Wählen Sie Administratoren und Benutzer aus.
- Anzeigename der Administratoreinwilligung: Geben Sie einen beschreibenden Namen ein. Es ist hilfreich, den Clusternamen und den Authentifizierungstyp zu definieren, wie in diesem Beispiel: Zugriff auf mysftestcluster_Cluster.
- Beschreibung der Administratoreinwilligung: Geben Sie eine Beschreibung ein, wie in diesem Beispiel: Zulassen, dass die Anwendung im Namen des angemeldeten Benutzers auf mysftestcluster_Cluster zugreifen kann.
- Anzeigename der Benutzereinwilligung: Geben Sie einen beschreibenden Namen ein. Es ist hilfreich, den Clusternamen und den Authentifizierungstyp zu definieren, wie in diesem Beispiel: Zugriff auf mysftestcluster_Cluster.
- Beschreibung der Benutzereinwilligung: Geben Sie eine Beschreibung ein, wie in diesem Beispiel: Zulassen, dass die Anwendung in Ihrem Namen auf mysftestcluster_Cluster zugreifen kann.
- Status: Wählen Sie Aktiviert aus.
App-Rollen
Wählen Sie App-Rollen>+ App-Rolle erstellen aus, um Administrator- und schreibgeschützte Benutzerrollen hinzuzufügen.
Geben Sie die folgenden Informationen für einen Administratorbenutzer ein und wählen Sie dann Anwenden aus:
- Anzeigename: Geben Sie Administrator ein.
- Zulässige Mitgliedertypen: Wählen Sie Benutzer/Gruppen aus.
- Wert: Geben Sie Administrator ein.
- Beschreibung: Geben Sie Administratoren können Rollen verwalten und alle Aufgabenaktionen ausführen ein.
Geben Sie die folgenden Informationen für einen schreibgeschützten Benutzer ein und wählen Sie dann Anwenden aus:
- Anzeigename: Geben Sie ReadOnly ein.
- Zulässige Mitgliedertypen: Wählen Sie Benutzer/Gruppen aus.
- Wert: Geben Sie Benutzer*in ein.
- Beschreibung: Geben Sie ReadOnly-Rollen haben eingeschränkten Abfragezugriff ein.
Registrieren einer Microsoft Entra-Client-App
Öffnen Sie im Microsoft Entra ID Portal den Azure AD-Bereich App-Registrierungen und wählen Sie dann + Neue Registrierung aus.
Geben Sie die folgenden Informationen ein und wählen Sie dann Registrieren aus:
- Name: Geben Sie einen beschreibenden Namen ein. Es ist hilfreich, den Registrierungstyp im Namen zu definieren, wie im folgenden Beispiel: {{cluster name}}_Client.
- Unterstützte Kontotypen: Wählen Sie Nur Konten in diesem Organisationsverzeichnis aus.
- Umleitungs-URI: Wählen Sie Öffentlicher Client/nativ aus und geben Sie
urn:ietf:wg:oauth:2.0:oob
ein.
Authentifizierung
Wählen Sie nach der Registrierung der Client-App Authentifizierung aus. Wählen Sie unter Erweiterte Einstellungen die Option Ja für Flows für öffentliche Clients zulassen und dann Speichern aus.
API-Berechtigungen
Wählen Sie API-Berechtigungen>+ Berechtigung hinzufügen aus.
Wählen Sie Delegierte Berechtigungen und die Berechtigungen user_impersonation aus, und wählen Sie dann Berechtigungen hinzufügen aus.
Wählen Sie in der API-Berechtigungsliste Administratoreinwilligung für Standardverzeichnis erteilen aus.
Wählen Sie Ja aus, um zu bestätigen, dass Sie die Administratoreinwilligung erteilen möchten.
Eigenschaften
Wechseln Sie nur für die Registrierung der Client-App zum Bereich Unternehmensanwendungen.
Wählen Sie Eigenschaften und dann Nein für Zuweisung erforderlich? aus.
Navigieren Sie nur für die Registrierung der Client-App zum Bereich Unternehmensanwendungen.
Wählen Sie Eigenschaften und dann Ja für Zuweisung erforderlich? aus.
Zuweisen von Anwendungsrollen zu Benutzern
Nachdem Sie Microsoft Entra-App-Registrierungen für Service Fabric erstellt haben, können Sie Microsoft Entra-Benutzer so ändern, dass App-Registrierungen zum Herstellen einer Verbindung mit einem Cluster mithilfe der Microsoft Entra-ID verwendet werden.
Sowohl für die Rolle „Schreibgeschützt“ als auch für die Administratorrolle wird die Registrierung der Microsoft Entra ID-Cluster-App verwendet. Sie verwenden keine Microsoft Entra-Client-App-Registrierung für Rollenzuweisungen. Stattdessen weisen Sie Rollen aus dem Bereich Unternehmensanwendungen zu.
Entfernen von Filtern
Um die Unternehmensanwendungen anzuzeigen, die Sie während des App-Registrierungsprozesses erstellt haben, müssen Sie die Standardfilter für Anwendungstyp und Anwendungs-ID beginnt mit im Portal Alle Anwendungen entfernen. Optional können Sie Unternehmensanwendungen anzeigen, indem Sie den Link Unternehmensanwendungen im Bereich API-Berechtigungen für die App-Registrierung öffnen.
Der folgende Screenshot zeigt Standardfilter, die entfernt werden sollen.
Der folgende Screenshot zeigt die Unternehmens-Apps mit den entfernten Filtern.
Hinzufügen von Rollenzuweisungen zu Microsoft Entra-Benutzern
Wenn Sie vorhandene Microsoft Entra-Benutzer Anwendungen hinzufügen möchten, wechseln Sie zu Enterprise-Anwendungen, und suchen Sie die Microsoft Entra ID-Cluster-App-Registrierung, die Sie erstellt haben.
Wählen Sie Benutzer und Gruppen>+ Benutzer/Gruppe hinzufügen aus, um vorhandene Microsoft Entra-Benutzerrollenzuweisungen hinzuzufügen.
Wählen Sie unter Benutzer den Link Keine ausgewählt aus.
Suchen Sie für Benutzer, die schreibgeschützten (Anzeige-) Zugriff benötigen, jeden Benutzer und wählen Sie dann unter Rolle auswählen den Link Keine ausgewählt aus. Fügen Sie dann im Bereich Rolle auswählen die Rolle ReadOnly hinzu.
Suchen Sie für Benutzer, die den vollen Lese-/Schreibzugriff benötigen, jeden Benutzer und wählen Sie dann unter Rolle auswählen den Link Keine ausgewählt aus. Fügen Sie dann im Bereich Rolle auswählen die Rolle Administrator hinzu.
Konfigurieren von Clustern mit Microsoft Entra-Registrierungen
Öffnen Sie im Azure-Portal den Bereich Service Fabric-Cluster.
Konfiguration für verwaltete Service Fabric-Cluster
Öffnen Sie die verwaltete Clusterressource, und wählen Sie Sicherheit aus. Aktivieren Sie das Kontrollkästchen "Microsoft Entra-ID aktivieren".
Geben Sie die folgenden Informationen ein und wählen Sie dann Anwenden aus:
- Mandanten-ID: Geben Sie die Mandanten-ID ein.
- Clusteranwendung: Geben Sie die ID für die Microsoft Entra ID-Cluster-App-Registrierung ein. Dies wird auch als „Webanwendung“ bezeichnet.
- Clientanwendung: Geben Sie die ID für die Microsoft Entra-Client-App-Registrierung ein. Dies wird auch als „native Anwendung“ bezeichnet.
Konfiguration des Service Fabric-Clusters
Öffnen Sie die Clusterressource und wählen Sie Sicherheit aus. Wählen Sie dann + Hinzufügen aus.
Geben Sie die folgenden Informationen ein und wählen Sie dann Hinzufügen aus:
- Authentifizierungsmethode: Wählen Sie Microsoft Entra ID aus.
- TenantID: Geben Sie die Mandanten-ID ein.
- Clusteranwendung: Geben Sie die ID für die Microsoft Entra ID-Cluster-App-Registrierung ein. Dies wird auch als „Webanwendung“ bezeichnet.
- Clientanwendung: Geben Sie die ID für die Microsoft Entra-Client-App-Registrierung ein. Dies wird auch als „native Anwendung“ bezeichnet.
Herstellen einer Verbindung mit einem Cluster mit Microsoft Entra-ID
Weitere Informationen zum Code in den folgenden Beispielen finden Sie unter Connect-ServiceFabricCluster-Cmdlet.
Herstellen einer Verbindung mit einem Service Fabric-Cluster unter Verwendung von Microsoft Entra-Authentifizierung über PowerShell
Um PowerShell zum Herstellen einer Verbindung mit einem Service Fabric-Cluster zu verwenden, müssen Sie die Befehle auf einem Computer ausführen, auf dem das Service Fabric SDK installiert ist. Das SDK enthält Knoten, die derzeit in einem Cluster vorhanden sind.
Verwenden Sie das folgende PowerShell-Befehlsbeispiel, um eine Service Fabric-Clusterverbindung herzustellen:
Import-Module servicefabric
$clusterEndpoint = 'sftestcluster.eastus.cloudapp.azure.com'
$serverCertThumbprint = ''
Connect-ServiceFabricCluster -ConnectionEndpoint $clusterEndpoint `
-AzureActiveDirectory `
-ServerCertThumbprint $serverCertThumbprint `
-Verbose
Herstellen einer Verbindung mit einem verwalteten Service Fabric-Cluster unter Verwendung von Microsoft Entra Authentifizierung über PowerShell
Um eine Verbindung mit einem verwalteten Cluster herzustellen, ist außerdem das PowerShell-Modul „Az.Resources“ erforderlich, um den Fingerabdruck des Zertifikats des dynamischen Clusterservers abzufragen, der aufgezählt und verwendet werden muss.
Verwenden Sie das folgende PowerShell-Befehlsbeispiel, um eine Service Fabric-Clusterverbindung herzustellen:
Import-Module servicefabric
Import-Module Az.Resources
$clusterEndpoint = 'mysftestcluster.eastus.cloudapp.azure.com'
$clusterName = 'mysftestcluster'
$clusterResource = Get-AzResource -Name $clusterName -ResourceType 'Microsoft.ServiceFabric/managedclusters'
$serverCertThumbprint = $clusterResource.Properties.clusterCertificateThumbprints
Connect-ServiceFabricCluster -ConnectionEndpoint $clusterEndpoint `
-AzureActiveDirectory `
-ServerCertThumbprint $serverCertThumbprint `
-Verbose
Problembehandlung beim Einrichten der Microsoft Entra-ID
Das Einrichten der Microsoft Entra-ID und die Verwendung kann schwierig sein. Hier sind einige Hinweise darauf, was Sie tun können, um Probleme zu debuggen.
Service Fabric Explorer fordert Sie auf, ein Zertifikat auszuwählen.
Problem
Nach erfolgreicher Anmeldung bei Microsoft Entra ID über Service Fabric Explorer zeigt der Browser wieder die Startseite an und fordert Sie auf, ein Zertifikat auszuwählen.
Ursache
Dem Benutzer wird keine Rolle in der Microsoft Entra ID-Clusteranwendung zugewiesen, sodass die Microsoft Entra-Authentifizierung auf dem Service Fabric-Cluster fehlschlägt. Service Fabric Explorer greift auf die Zertifikatauthentifizierung zurück.
Lösung
Befolgen Sie die Anweisungen zum Einrichten der Microsoft Entra-ID, und weisen Sie Benutzerrollen zu. Außerdem empfehlen wir, dass Sie Benutzerzuweisung für App-Zugriff erforderlich aktivieren, wie es bei SetupApplications.ps1
der Fall ist.
Beim Herstellen der Verbindung mit PowerShell tritt der folgende Fehler auf: „Die angegebenen Anmeldeinformationen sind ungültig.“
Problem
Wenn Sie die Verbindung mit dem Cluster über PowerShell und unter Verwendung des Sicherheitsmodus AzureActiveDirectory
herstellen, tritt nach erfolgreicher Anmeldung bei Microsoft Entra ID folgender Verbindungsfehler auf: „Die angegebenen Anmeldeinformationen sind ungültig.“
Lösung
Befolgen Sie die Anweisungen zum Einrichten der Microsoft Entra-ID, und weisen Sie Benutzerrollen zu. Außerdem empfehlen wir, dass Sie Benutzerzuweisung für App-Zugriff erforderlich aktivieren, wie es bei SetupApplications.ps1
der Fall ist.
Service Fabric Explorer gibt bei der Anmeldung einen Fehler zurück: „AADSTS50011“
Problem
Wenn Sie versuchen, sich in Service Fabric Explorer bei Microsoft Entr aID anzumelden, gibt die Seite einen Fehler zurück: „AADSTS50011: Die Antwortadresse <URL> entspricht nicht den für die Anwendung konfigurierten Antwortadressen: <GUID>.“
Ursache
Die Clusteranwendung (Web), die Service Fabric Explorer darstellt, versucht, sich bei Microsoft Entra ID zu authentifizieren. Im Rahmen der Anforderung die Rückgabe-URL für die Umleitung bereit. Die URL wird jedoch nicht in der Liste Umleitungs-URIs für die Microsoft Entra-Anwendung aufgeführt.
Lösung
Wählen Sie auf der Registrierungsseite der Microsoft Entra-App für Ihren Cluster die Option Authentifizierung aus. Fügen Sie im Abschnitt Umleitungs-URIs die Service Fabric Explorer-URL zur Liste hinzu. Speichern Sie die Änderung.
Beim Herstellen einer Verbindung mit dem Cluster mithilfe der Microsoft Entra-Authentifizierung über PowerShell wird beim Anmelden ein Fehler ausgegeben: „AADSTS50011“
Problem
Wenn Sie versuchen, eine Verbindung zu einem Service Fabric-Cluster mithilfe von Microsoft Entra ID über PowerShell herzustellen, gibt die Anmeldeseite einen Fehler zurück: „AADSTS50011: Die in der Anforderung angegebene Antwort-URL stimmt nicht mit den für die Anwendung konfigurierten Antwort-URLs überein: <GUID>.“
`Reason`
PowerShell versucht, sich bei Microsoft Entra-ID zu authentifizieren, die eine Umleitungs-URL bereitstellt, die nicht in der Liste " Antwort-URIs " für die Microsoft Entra-Anwendung aufgeführt ist.
Lösung
Wählen Sie auf der Registrierungsseite der Microsoft Entra-App für Ihren Cluster die Option Authentifizierung aus. Legen Sie im Abschnitt Umleitungs-URIs die URL auf urn:ietf:wg:oauth:2.0:oob
fest. Bei dieser URL handelt es sich um eine spezielle Umleitung für die Befehlszeilenauthentifizierung.
Häufig gestellte Fragen
Kann ich denselben Microsoft Entra-Mandanten in mehreren Clustern wiederverwenden?
Ja. Denken Sie jedoch daran, die URL von Service Fabric Explorer Ihrer Cluster(web)anwendung hinzuzufügen. Andernfalls funktioniert Service Fabric Explorer nicht.
Warum benötige ich weiterhin ein Serverzertifikat, während die Microsoft Entra-ID aktiviert ist?
FabricClient
und FabricGateway
führen eine gegenseitige Authentifizierung aus. Bei der Microsoft Entra-Authentifizierung stellt die Microsoft Entra-Integration dem Server eine Clientidentität bereit, und der Client verwendet das Serverzertifikat, um die Serveridentität zu überprüfen. Weitere Informationen zu Service Fabric-Zertifikaten finden Sie unter X.509-Zertifikate und Service Fabric.
Nächste Schritte
Nachdem Sie Microsoft Entra-Anwendungen eingerichtet und Rollen für Benutzer festgelegt haben, konfigurieren und bereitstellen Sie einen Cluster.