Microsoft Entra ID mit Kerberos für SSO einrichten
Sie können den Power Platform SAP ERP-Konnektor so einrichten, dass Microsoft Entra ID-Anmeldeinformationen für Kerberos-basiertes Single Sign-On (SSO) verwendet werden. Ihre Benutzer können auf SAP-Daten zugreifen und SAP-Remotefunktionsaufrufe (RFCs) in Power Platform Lösungen ausführen, ohne sich mehrmals bei mehreren Diensten anmelden zu müssen. Dieser Artikel führt Sie durch den Prozess, einschließlich der Konfiguration der eingeschränkten Delegation (KCD) von Kerberos auf dem Datengateway lokal für eine sichere Kommunikation.
Erfahren Sie mehr über Kerberos eingeschränkte Delegierung.
Diese Anweisungen gehen davon aus, dass Sie bei Null beginnen. Die meisten Kunden haben einige der Schritte bereits abgeschlossen. Es liegt außerhalb des Rahmens dieses Artikels, die Schritte zu bestimmen, die Sie für Ihr Szenario ausführen müssen.
Beispielsweise können Sie den Abschnitt Erstellen eines SAP-Dienstkontos in Active Directory-Domänendienste überspringen, wenn Ihr SAP-System bereits für Kerberos-basiertes SSO konfiguriert ist.
Anforderungen
Ein Windows-Server, der über Active Directory-Domänendienste (AD DS) verfügt. Der in diesem Anleitung verwendete Beispieldomänenname ist corp.bestrun.com (NetBIOS: CORP).
Ein lokaler Datengateway-Server, Version Oktober 2024 oder neuer, der der Active Directory-Domäne beigetreten ist. Weitere Informationen finden Sie unter Lokales Datengateway installieren.
Unterstützung durch folgende Rollen:
- Microsoft Entra Administrator-ID
- SAP Basis-Administrator
- Power Platform Administrator
Erstellen Sie ein SAP Dienstkonto in AD DS
Als Domänenadministrator erstellen Sie zunächst ein Dienstkonto, definieren dann den Service Principal Name (SPN) und aktivieren ihn für die Kerberos-Verschlüsselung.
Anmerkung
Wenn Ihr SAP-Basis-Administrator bestätigt, dass Ihr SAP-System bereits für Kerberos-basiertes SSO konfiguriert ist, überspringen Sie diesen Abschnitt.
Führen Sie als Domänenadministrator die folgenden Schritte aus, um das Dienstkonto einzurichten:
Öffnen Sie auf dem Host-PC des Domänencontrollers die Microsoft-Verwaltungskonsole (MMC) und führen Sie das Snap-In „Active Directory-Benutzer und -Computer“ aus.
Klicken Sie in Ihrer Domäne mit der rechten Maustaste auf Benutzer und wählen Sie Neuer>Benutzer aus.
Geben Sie Kerberos<SID> als vollständigen Namen und Benutzeranmeldename ein, wobei <SID> die ID Ihres SAP-Systems ist, z. B. A4H.
Wählen Sie Weiter.
Geben Sie das Passwort für das neue Dienstkonto ein und bestätigen Sie es.
Wählen Sie sowohl Benutzer kann Kennwort nicht ändern als auch Kennwort läuft nie ab aus.
Wählen Sie Weiter und dann Beenden.
Nachdem Sie das Dienstkonto erstellt haben, definieren Sie seinen Service Principal Name (SPN) und aktivieren Sie ihn für die Kerberos-Verschlüsselung.
Öffnen Sie das ADSI-Bearbeitungs-Snap-In (adsiedit.msc), und stellen Sie eine Verbindung mit Ihrer Domäne her.
Auswählen CN=Users aus dem Standard-Benennungskontext Ihrer Domäne.
Klicken Sie mit der rechten Maustaste auf das Benutzerobjekt CN=Kerberos<SID>, und wählen Sie Eigenschaften aus.
In der Liste Attribute wählen Sie die Option ServicePrincipalName aus.
Wählen Sie Bearbeiten.
Geben Sie den Dienstprinzipalnamen im Format SAP/<SID,> an, wobei <SID> die ID Ihres SAP-Systems ist, z. B. A4H.
Wählen Sie Hinzufügen aus und dann OK.
Zurück zum Snap-In Active Directory-Benutzer und -Computer .
In der Benutzerliste klicken Sie mit der rechten Maustaste auf das neue SAP-Dienstkonto Kerberos<SID> und wählen Eigenschaften aus.
Wählen Sie die Registerkarte Konto aus.
Unter Kontooptionen wählen Sie die Option Dieses Konto unterstützt Kerberos-AES-256-Bit-Verschlüsselung aus.
Wählen Sie OK aus.
Wichtig
Das Aktivieren der Kerberos AES-256-Bit-Verschlüsselung kann Probleme für andere Clients wie SAP GUI verursachen, die Kerberos-Tickets von diesem Active Directory-Konto anfordern. Dies liegt daran, dass sich die Liste der verfügbaren Verschlüsselungsmethoden ändert und andere Clients nicht mehr über eine gemeinsame Verschlüsselungsverschlüsselung verfügen. Überprüfen Sie die Active Directory-Protokolle, um zu ermitteln, welche Verschlüsselungsmethoden alle Clients verwenden, und aktualisieren Sie die msDS-SupportedEncryptionTypes
Eigenschaft dann manuell mit dem richtigen Wert. Nach dem Update sollte die Option zur AES-256-Verschlüsselung automatisch erscheinen und nicht manuell ausgewählt werden müssen. Weitere Informationen finden Sie unter Erklären der Auswahl der unterstützten Kerberos-Verschlüsselungstypen im Blog zur Kerninfrastruktur und Community.
Richten Sie sichere Netzwerkkommunikation mit Kerberos SSO-Authentifizierung in SAP ein
Führen Sie die folgenden Schritte als SAP Basis-Administrator in der SAP GUI aus.
Um den SAP Single Sign-On-Assistenten zu starten, geben Sie SNCWIZARD in das Feld Befehl ein.
Wählen auf der Seite Start des Assistenten wählen Sie Weiter aus.
Übernehmen Sie den Standardwert für die SNC-Identität des Systems und wählen Sie Weiter aus.
Auf der Seite Standardprofilparameterwählen Sie Weiter.
Wählen Sie Schließen aus.
Melden Sie sich vom SAP-System ab und starten Sie den SAP-Anwendungsserver neu.
Melden Sie sich bei der SAP GUI an, und führen Sie SNCWIZARD erneut aus.
Wählen Sie auf der Seite Start Weiter aus.
Wählen auf der Seite Kerberos-Anmeldeinformationen des Assistenten wählen Sie Weiter aus.
In der SPNEGO-Konfiguration wählen Sie Anzeige/Ändern, um in den Bearbeitungsmodus zu wechseln, und dann wählen Sie Hinzufügen.
Geben Sie die folgenden Werte ein:
- Benutzerprinzipalname: Kerberos<SID>@DOMAIN, wobei Kerberos<SID> der Dienstkonto-Benutzername und DOMAIN der vollqualifizierte Name Ihrer Active Directory-Domäne in Großbuchstaben ist, z. B. KerberosA4H(at)CORP.BESTRUN.COM.
- Kennwort und Kennwort bestätigen: Das Kennwort, das Sie beim Erstellen des Active Directory-Kontos eingegeben haben.
Wählen Sie Benutzer in Active Directory prüfen aus, um den Benutzer zu überprüfen, und wählen Sie dann Schließen aus.
Wählen Sie Speichern.
Wählen Sie auf der Seite X.509-Anmeldeinformationen Auswählen Überspringen.
Wählen Sie Abschließen aus.
Ordnen Sie als Nächstes den SNC-Benutzernamen (basierend auf dem Windows-Domänenbenutzernamen) dem SAP-Benutzerprinzipalnamen zu.
Führen Sie in SAP GUI die Transaktion SU01 aus.
Geben Sie die Testbenutzer-ID (z. B JDAVIS) in das Feld Benutzer ein, und wählen Sie dann Ändern aus.
Wählen Sie die Registerkarte SNC aus.
Geben Sie den Benutzerprinzipalnamen in das Feld SNC-Name ein, z. B p:CN=JDAVIS(at)CORP.BESTRUN.COM.
Wählen Sie Speichern.
Richten Sie das lokal-Datengateway für die eingeschränkte Delegierung von Kerberos ein.
Standardmäßig wird das Gateway lokal als maschinenlokales Dienstkonto NT Service\PBIEgwService
ausgeführt. Um Kerberos Constrained Delegation mit den S4U-Erweiterungen des Protokolls zu verwenden, muss das Gateway als Dienstkonto in der Domäne ausgeführt werden.
Führen Sie die folgenden Schritte als ein Domänenadministrator aus.
Fügen Sie auf dem Domänencontroller-Host-PC Zurück zum Snap-In „Active Directory-Benutzer und -Computer“ hinzu.
Klicken Sie in Ihrer Domäne mit der rechten Maustaste auf Benutzer und wählen Sie Neuer>Benutzer aus.
Geben Sie GatewaySvc als vollständigen Namen und Benutzeranmeldenamen ein.
Wählen Sie Weiter.
Geben Sie das Kennwort für das neue Domänendienstkonto ein und bestätigen Sie es.
Wählen Sie sowohl Benutzer kann Kennwort nicht ändern als auch Kennwort läuft nie ab aus.
Wählen Sie Weiter und dann Beenden.
Nachdem Sie das Domänendienstkonto erstellt haben, definieren Sie als Nächstes seinen Dienstprinzipalnamen und aktivieren ihn für die eingeschränkte Delegierung Kerberos.
Geben Sie in einem PowerShell-Fenster mit erhöhten Rechten den folgenden Befehl ein, um einen SPN für das neue Dienstkonto zu erstellen. Ersetzen Sie <OPDG-Hostname> durch den Hostnamen Ihres lokalen Datengateways und <Domäne> durch den Namen Ihrer Domäne. Sie können den Hostnamen herausfinden, indem Sie in einer Eingabeaufforderung den Befehl
hostname
eingeben.setspn –s gateway/<OPDG hostname> <domain>\GatewaySvc
Klicken Sie im Snap-In Active Directory-Benutzer und -Computer mit der rechten Maustaste auf das neue Dienstkonto, und wählen Sie Eigenschaften aus.
Wählen Sie die Registerkarte Delegierung aus.
Wählen Sie Computer nur bei Delegierungen angegebener Dienste vertrauen und Beliebiges Authentifizierungsprotokoll verwenden aus.
Wählen Sie Hinzufügen aus.
Wählen Sie Benutzer oder Computer aus.
Geben Sie Kerberos<SID> in das Feld Objektnamen ein, wobei <SID> die ID Ihres SAP-Systems ist, z. B . A4H.
Wählen Sie Namen überprüfen und dann OK aus.
Die Liste der erlaubten Dienste enthält jetzt den SPN des SAP-Systems. Das neue Gateway-Dienstkonto kann im Namen des propagierten Benutzers mit der S4U2proxy-Protokollerweiterung Kerberos nur ein Dienstticket für das SAP-System anfordern.
- Klicken Sie auf Alle auswählen.
- Wählen Sie OK aus.
- Wählen Sie ein zweites Mal OK aus.
- Das Dienstkonto für das lokale Datengateway muss den lokalen Richtlinien auf dem Host des lokalen Datengateways zugewiesen werden. Führen Sie diese Konfiguration mit dem Editor für lokale Gruppenrichtlinien durch, indem Sie an einer Administratoreingabeaufforderung gpedit.msc ausführen.
- Navigieren Sie zu Richtlinie für Lokaler Computer ->Computerkonfiguration ->Windows-Einstellungen ->Sicherheitseinstellungen ->Lokale Richtlinien ->Zuweisen von Benutzerrechten. Gewähren Sie dem lokalen Datengateway-Domänendienstkonto (z. B. CORP\GatewaySvc) die Berechtigung, als Teil des Betriebssystems zu agieren, indem Sie zweimal darauf klicken.
- Wählen Sie Benutzer hinzufügen oder Gruppe hinzufügenaus.
- Geben Sie den Namen des Domänendienstkontos Ihres lokalen Datengateways ein (z. B . GatewaySvc), und wählen Sie Namen prüfen aus, um den vollständigen vorhandenen Namen aufzulösen. Wählen Sie OK aus. Der Domänenname des Dienstkontos (z. B. CORP\GatewaySvc) wird jetzt zur Benutzerliste der Richtlinie hinzugefügt. Wählen Sie OK, um die neue Konfiguration zu übernehmen.
- Wiederholen Sie den gleichen Schritt für die Richtlinie Nach Authentifizierung die Identität eines Clients annehmen, indem Sie darauf doppelklicken. Wählen Sie Benutzer hinzufügen oder Gruppe aus, und lösen Sie das Dienstkonto des lokalen Datengateways auf den vollständigen vorhandenen Namen mit Namen überprüfen auf. Wählen Sie OK aus.
- Der Name des Dienstkontos (z. B. CORP\GatewaySvc) wird jetzt zur Benutzerliste der Richtlinie hinzugefügt. Wählen Sie OK aus. Schließen Sie den Editor für lokale Gruppenrichtlinien.
- Starten Sie die lokale Datengateway-App über den Desktop-Link auf dem Gatewayhost oder durch Ausführen von C:\Program Files\On-premises Datengateway\EnterpriseGatewayConfigurator.exe. Wählen Sie Anmelden aus, um sich als Power Platform-Systemadministrator, der das lokale Datengateway in der Umgebung registriert hat, anzumelden.
- Auswählen Serviceeinstellungen aus dem Menü des Konfigurators. Wählen Sie Konto ändern aus.
- Wählen Sie Übernehmen und Neu starten aus.
- Geben Sie den Dienstkontonamen Ihres lokalen Datengateways (z. B. CORP\GatewaySvc) und das Kennwort ein. Wählen Sie Konfigurieren aus.
- Geben Sie Ihr Power Platform System-Anmeldekonto Administrator ein, indem Sie Anmelden auswählen.
- Wählen Sie Migrieren aus, stellen Sie ein vorhandenen Gateways oder übernehmen Sie eins, um Ihre Gatewayregistrierung wiederherzustellen.
- Auswählen Wählen Sie Ihren Gateway-Cluster und Ihre Instanz aus den Dropdown-Feldern aus und geben Sie den bei der ersten Registrierung gewählten Wiederherstellungsschlüssel ein. Wählen Sie Konfigurieren aus.
- Nach Abschluss der Wiederherstellung verwendet die Dienstinstanz des lokalen Datengateways das Domänendienstkonto (z. B. CORP\GatewaySvc).
Installieren und Konfigurieren der SAP Cryptographic Library
Für die SNC-Kommunikation zwischen dem lokal-Datengateway und dem SAP-System muss die SAP Cryptographic Library zusammen mit SAP NCo 3.1 auf dem Gateway-Host installiert sein.
- Laden Sie die neueste Version der SAP Cryptographic Library aus dem Software-Download des SAP-Supportportals herunter (S-User erforderlich), und kopieren Sie die Bibliotheksdatei (sapcrypto.dll) in das Installationsverzeichnis des lokalen Datengateways auf dem Gatewayhost (C:\Program Files\On-premises data gateway). Klicken Sie mit der rechten Maustaste auf die Datei sapcrypto.dll, und wählen Sie Eigenschaften aus dem Kontextmenü aus.
- Wechseln Sie zur Registerkarte Details , um die Version der Bibliothek zu überprüfen. Es sollte 8.5.25 oder neuer sein. Wählen Sie OK aus.
- Erstellen Sie eine neue Textdatei sapcrypto.ini im selben Verzeichnis (C:\Program Files\On-Premises-Datengateway) mit folgendem Inhalt: ccl/snc/enable_kerberos_in_Client_role = 1.
- Speichern Sie die Datei.
- Erstellen Sie eine CCL_PROFILE-Systemumgebungsvariable, und legen Sie deren Wert auf den Pfad der Konfigurationsdatei sapcrypto.ini fest. Starten Sie auf dem Gateway-Host die Systemsteuerung, und navigieren Sie zu System und Sicherheit ->System. Wählen Sie Erweiterte-Systemeinstellungen aus.
- Wählen Sie Umgebungsvariablen.
- Wählen Sie unter Systemvariablen die Option Neu aus.
- Geben Sie CCL_PROFILE als Variablennamen ein. Geben Sie als Variablenwert den vollständigen Pfad zu Ihrer Datei sapcrypto.ini ein, zum Beispiel C:\Program Files\On-premises data gateway\sapcrypto.ini. Wählen Sie OK aus.
- Wählen Sie ein zweites Mal OK aus.
Die OPDG-Einstellung FullDomainResolutionEnabled konfigurieren
Um dem lokal-Datengateway bei der Suche nach Active Directory-Benutzern zu helfen, müssen wir in den Einstellungen des lokal-Datengateways einen Konfigurations-Wert festlegen.
- Öffnen Sie auf dem Gateway-Host die Datei Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config im Installationsordner des lokalen Datengateways (C:\Program Files\On-premises data gateway) in einem Editor.
- Suchen Sie nach der Einstellung FullDomainResolutionEnabled, und setzen Sie ihren Wert auf True.
- Wählen Sie auf der Registerkarte Diensteinstellungen des Konfigurators für lokale Datengateways Jetzt neu starten aus, um die Änderungen zu übernehmen.
Konfigurieren von Benutzerzuordnungen in Active Directory
Wenn Microsoft Entra ID-Benutzerprinzipalnamen mit der lokalen Active Directory-E-Mail-Eigenschaft identisch sind, kann dieser Schritt übersprungen werden.
Um in diesem Szenario die Kerberos-basierte Prinzipalweitergabe für einen Benutzer zu aktivieren, ist ein Zuordnung vom vollständigen Benutzernamen des Benutzers (User Principal Name, UPN) in Microsoft Entra ID zum lokalen Namen des Benutzers im Active Directory erforderlich. Zu diesem Zweck verwenden wir das ungenutzte Attribut msDS-cloudExtensionAttribute1
des lokalen Active Directory-Benutzers, um die Microsoft Entra ID UPN zu speichern. Jedes andere nicht verwendete Active Directory-Attribut kann ebenfalls verwendet werden.
Legen Sie im Szenario für den Anwendungstestbenutzer Jack Davis das Attribut msDS-cloudExtensionAttribute1 des lokalen Active Directory-Domänenbenutzerkontos jdavis@corp.bestrun.com
auf die Microsoft Entra ID-UPN jdavis@bestruncorp.onmicrosoft.com
des Benutzers fest, um die beiden Konten zu verknüpfen.
- Öffnen Sie auf dem Gateway-Host die Datei Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config im Installationsordner des lokalen Datengateways (C:\Program Files\On-premises data gateway) in einem Editor.
- Suche nach der Einstellung ADUserNameReplacementProperty und setzen Sie den Wert auf SAMKontoname.
- Suche nach der Einstellung ADUserNameLookupProperty und setzen Sie ihn auf den Wert msDS-cloudExtensionAttribute1. Speichern Sie die Änderungen in der Datei.
- Wählen Sie auf der Registerkarte Diensteinstellungen des Konfigurators für lokale Datengateways Jetzt neu starten aus, um die Änderungen zu übernehmen.
- Wählen Sie auf dem Domänencontrollerhost Start und dann Windows-Verwaltungstools -> ADSI-Bearbeitung aus dem Menü aus. Navigieren Sie im ADSI-Editor im linken Objektbaum zu CN=Benutzer unter dem Standardbenennungskontext der Domäne. Klicken Sie mit der rechten Maustaste auf das Objekt des Testbenutzers (z. B. CN=Jack Davis) und wählen Sie im Kontextmenü Eigenschaften.
- Wählen Sie die Attribute msDS-cloudExtensionAttribute1 aus der Liste und dann Bearbeiten aus.
- Geben Sie den Microsoft Entra ID-UPN des Testbenutzers (z. B. jdavis@<domainname>.onmicrosoft.com) in das Feld Wert ein. Ersetzen < Domänenname> mit Ihrem Microsoft Entra Domänenname des ID-Mandanten, z. B. bestruncorp. Wählen Sie OK aus.
Einen Power Automate-Flow erstellen
Alle lokal-Komponenten (SAP-System, lokal-Datengateway und AD) sind jetzt ordnungsgemäß für die Kerberos-basierte Prinzipalweitergabe konfiguriert. Erstellen und führen Sie in diesem Schritt ein Power Automate Ablauf zum Testen der Konfiguration.
Melden Sie sich bei Power Automate unter https://make.powerautomate.com an.
Wählen Sie Meine Flows ->Neuer Flow ->Cloud-Direktflow aus
Geben Sie dem Flow einen Namen, wählen Sie einen Flow manuell auslösen und dann Erstellen aus.
Fügen Sie Ihrem Flow die SAP-ERP-Connector-Aktion SAP-Funktion aufrufen (V3) hinzu.
Wenn Sie keine SAP ERP-Verbindungen erstellt haben, werden Sie aufgefordert, eine zu erstellen. Wenn Sie eine vorhandene Verbindung haben, erstellen Sie eine neue.
- Der Authentifizierungstyp sollte Microsoft Entra ID (mit Kerberos) sein.
- Datengateway sollte das lokale Datengateway sein, das in dieser Anleitung konfiguriert wurde.
- Wählen Sie Anmelden aus.
Legen Sie in der Aktion SAP ERP SAP-Funktion aufrufen (V3) die folgenden Parameter fest:
- Der RFC-Name ist auf STFC_CONNECTION eingestellt.
- SAP-System ist auf (ändern Sie diese Werte gemäß Ihrem SAP-Basis-Administrator) gesetzt.
json { "AppServerHost": "<SAP-Servername>", "Client": "<SAP-Client>", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\Program Files\vor Ort Datengateway\sapcrypto.dll", "SncPartnerName": "p:<SAP-Partnername>", "SncQOP": "Voreinstellung", "SncSso": "An", "SystemNumber": "<SAP-Systemnummer>", "UseSnc": "true" }
Wenn alles erfolgreich ist, wird ein REQUTEXT-Parameter angezeigt, in dem ein Wert wie Hallo Welt eingegeben werden kann.
Speichern und testen Sie den Flow.