Microsoft Entra ID (mit Zertifikaten) – Single Sign-On
Diese Anleitung führt Sie durch die Einrichtung des Konnektors, damit Ihre Benutzer mit ihrer Microsoft Entra ID zur Authentifizierung auf SAP-Daten zugreifen RFCs (Remotefunktionsaufrufe) in Microsoft Power Platform ausführen können. Der Prozess umfasst die Konfiguration sowohl öffentlicher als auch privater Zertifikate für eine sichere Kommunikation.
Wichtig
In diesem Artikel wird nur das Einrichten einer Machbarkeitsstudie behandelt. Die Einstellungen und Empfehlungen sind nicht für den Produktionseinsatz vorgesehen. Weitere Informationen zu diesem Thema erhalten Sie von Ihrem Sicherheitsteam, in internen Vorschriften und von Microsoft Partnern.
Anforderungen
Stellen Sie sicher, dass Sie Folgendes bereits haben:
- SAP-Verbindung einrichten Stellen Sie sicher, dass Sie Version Juli 2024 – 3000.230 oder höher des lokalen Datengateways verwenden.
- Sichere Netzwerkverbindungen (SNC) einrichten
Sie müssen außerdem mit Public- und Private-Key-Technologien vertraut sein.
Zertifikat
Wir generieren ein Beispiel eines selbstsignierten Stammzertifikats, das den von einer Zertifizierungsstelle bereitgestellten Zertifikaten ähnelt. Sie können es verwenden, um Token für Ihre Benutzer auszugeben.
Erstellen Sie eine Demo-Public-Key-Infrastruktur
Erweitern Sie die Dokumentation Sichere Netzwerkkommunikation einrichten , indem Sie die andere Hälfte unserer Demo-PKI (Public Key Infrastructure) implementieren.
Erstellen Sie die Ordnerstruktur.
cd C:\
mkdir pki-certs
cd C:\pki-certs\
mkdir signingUsersCert
mkdir userCerts
Erstellen Sie Erweiterungsdateien, um sicherzustellen, dass unsere Zertifikate mit den richtigen Metadaten und Einschränkungen erstellt werden.
signingUsersCert/extensions.cnf
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = critical,CA:true,pathlen:0
keyUsage = cRLSign, keyCertSign
userCerts/extensions.cnf
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth
Erstellen Sie die erforderlichen index.txt
und serial
Dateien, um den Überblick über signierte Zertifikate zu behalten.
# Create the necessary serial and index files if they don't exist
if (-Not (Test-Path "signingUsersCert\index.txt")) { New-Item -Path "signingUsersCert\index.txt" -ItemType File }
if (-Not (Test-Path "signingUsersCert\serial")) { Set-Content -Path "signingUsersCert\serial" -Value "0001" }
Generieren Sie unser Zwischenbenutzerzertifikat.
openssl genrsa -out signingUsersCert/users.key.pem 2048
# Create Certificate Signing Request
openssl req -new -key signingUsersCert/users.key.pem -sha256 -out signingUsersCert/users.csr.pem -subj "/O=Contoso/CN=Users Intermediate Cert"
# Sign the certificate with the rootCA cert.
openssl x509 -req -in signingUsersCert/users.csr.pem -days 3650 `
-CA rootCA/ca.cert.pem -CAkey rootCA/ca.key.pem `
-out signingUsersCert/users.cert.pem `
-extfile signingUsersCert/extensions.cnf -extensions v3_ca `
-CAserial rootCA/serial
Benutzerzertifikate generieren
Führen Sie Folgendes aus, um ein Zertifikat für einen Benutzer mit dem SAP-Benutzernamen TESTUSER01
zu generieren und zu signieren.
# Create the private key.
openssl genrsa -out userCerts/TESTUSER01.key.pem 2048
# Generate the certificate signing request
openssl req -key userCerts/TESTUSER01.key.pem -new -sha256 -out userCerts/TESTUSER01.csr.pem -subj "/CN=TESTUSER01"
# Sign the certificate + add extensions with the intermediate cert.
openssl x509 -req -days 365 -in userCerts/TESTUSER01.csr.pem -sha256 `
-CA signingUsersCert/users.cert.pem -CAkey signingUsersCert/users.key.pem `
-out userCerts/TESTUSER01.cert.pem -extfile userCerts/extensions.cnf `
-CAserial signingUsersCert/serial
Anmerkung
CN=TESTUSER01 sollte der erste Parameter sein.
Sie verfügen jetzt über ein Stammzertifikat, ein SNC-Zwischenzertifikat (kurz für Secure Network Communications), ein Zwischenbenutzerzertifikat und ein Zertifikat zur Identifizierung des Benutzerzertifikats.
Überprüfen Sie die Kette mit dem folgenden Befehl:
$ openssl verify -CAfile rootCA/ca.cert.pem -untrusted signingUsersCert/users.cert.pem userCerts/TESTUSER01.cert.pem
userCerts/TESTUSER01.cert.pem: OK
Windows Store
Führen Sie die folgenden Schritte aus, um das Signaturzertifikat und die Zertifikatskette des Benutzers zum Windows Store hinzuzufügen.
Generieren Sie eine P12-Datei aus dem Signaturzertifikat und dem privaten Schlüssel des Benutzers.
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
- Öffnen Sie den Windows-Zertifikat-Manager:
- Drücken Sie
Win + R
, geben Siecertlm.msc
ein und drücken Sie die EINGABETASTE.
- Drücken Sie
- Importieren Sie das öffentliche Root-CA-Zertifikat.
- Importieren Sie in
Trusted Root Certification Authorities
.
- Importieren Sie in
- Importieren Sie das Benutzerzertifikat + den Schlüssel:
- Navigieren Sie im Zertifikat-Manager zum entsprechenden Zertifikatspeicher (z. B. „Persönlich“).
- Klicken Sie mit der rechten Maustaste und wählen Sie
All Tasks > Import
aus. - Befolgen Sie dem Assistenten, um die
.p12
-Datei zu importieren, und stellen Sie sicher, dass Sie den Schlüssel als exportierbar markieren, damit OPDG (kurz für lokales Datagateway) ihn zum Verschlüsseln von Daten verwenden kann. - Klicken Sie mit der rechten Maustaste auf
Users Intermediate Cert
, und wählen SieAll Tasks>Manage Private Keys...
aus.
- Fügen Sie den
NT SERVICE\PBIEgwService
Benutzer zur Liste der Personen hinzu, die über Berechtigungen verfügen.
Überprüfen des Betreffnamens des Zertifikats im Windows-Zertifikatspeicher
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject
Zuordnung von Entra-ID zu SAP-Benutzern
Sie können X.509-Zertifikate Benutzern explizit zuordnen, indem Sie Regeln verwenden oder SAP ein Benutzerzwischenzertifikat hinzufügen.
X.509-Zertifikate explizit Benutzern zuordnen
Ordnen Sie eine kleine Anzahl von Entra-ID-Benutzern explizit SAP-Benutzern zu.
Navigieren Sie die SAP GUI zu T-Code SM30
.
Geben Sie die Tabelle VUSREXTID
ein, und wählen Sie die Schaltfläche „Beibehalten“ aus.
Wählen Sie die Option DN
aus, wenn Sie nach Type of ACL
gefragt werden.
Wählen Sie New Entry
aus, und geben Sie CN=TESTUSER01@CONTOSO.COM
als externe ID ein (und ersetzen Sie den Inhalt durch Ihren eigenen UPN). Stellen Sie sicher, dass CN an erster Stelle steht. Wählen Sie Ihren UPN für das Feld „Benutzername“ aus; und überprüfen Sie als Letztes die Activated
-Option und speichern Sie die Ergebnisse.
Anmerkung
Das Präfix p:
darf NICHT EINGESCHLOSSEN werden.
X.509-Zertifikate mithilfe von Regeln Benutzern zuordnen
Verwenden Sie Zertifikatregeln, um die Massenzuordnung von Entra ID-Benutzern zu SAP-Benutzern zu vereinfachen.
Stellen Sie sicher, dass der login/certificate_mapping_rulebased
Profilparameter auf den aktuellen Wert 1
eingestellt ist.
Anmerkung
Diese Methode Zuordnung bleibt zwischen Neustarts nicht bestehen.
Dann erstellen Sie die folgende Regel in t-code CERTRULE
Anmerkung
Warten Sie zwei Minuten, um sicherzustellen, dass die zwischengespeicherten Verbindungen zu SAP abgelaufen sind, und testen Sie die Verbindung dann erneut. Wenn dies nicht der Fall ist, kann der Fehler Kein geeigneter SAP-Benutzer für X.509-Clientzertifikat gefunden auftreten.
Zwischenzertifikat für Benutzer
Sie müssen ein Zwischenzertifikat für Benutzer zu SAP hinzufügen.
Öffnen Sie t-code STRUST
und doppelklicken Sie auf STRUST
, um die Datei users.cert.pem des öffentlichen Zertifikats zum Feld hinzuzufügen.
- Gehen Sie in der SAP GUI zum Transaktionscode STRUST.
- Wenn SNC-SAPCryptolib ein rotes X hat, klicken Sie mit der rechten Maustaste und wählen Sie Erstellen.
- Wählen Sie SNC SAPCryptolib, und doppelklicken Sie dann auf Ihr eigenes Zertifikat.
- Wählen Sie Zertifikat Importieren und Ihr öffentliches
signingUsersCert\users.cert.pem
-Zertifikat aus. - Wählen Sie Zur Zertifikatsliste hinzufügen aus.
SAP-Systemaktualisierung
Fügen Sie SsoCertificateSubject
zu Ihrem SAP-System hinzu.
"SsoCertificateSubject": "CN=Users Intermediate Cert, O=Contoso",
Aktivieren Sie außerdem
"SncSso": "On"
Ersetzen Sie die Verbindung durch eine neue, die Microsoft Entra ID (using certificates)
verwendet, um sich mit Ihrem Microsoft Entra ID-Konto bei SAP anzumelden.
Wichtig
Löschen Sie die temporären öffentlichen und privaten Schlüssel TESTUSER01 nach Abschluss dieses Tutorials.
Wichtig
Stellen Sie nach Abschluss dieser Einrichtung die sichere Handhabung und anschließende Löschung der privaten Schlüssel sicher, um die Sicherheitsintegrität aufrechtzuerhalten.
Weitere Informationen: FAQ zu lokalen Datengateways