Einrichten von Microsoft Entra ID mit Zertifikaten für SSO
Diese Anleitung führt Sie durch die Einrichtung des SAP ERP-Konnektors, damit Ihre Benutzer auf SAP-Daten zugreifen und remote Function Calls (RFC) ausführen können, indem Microsoft Power Platform ihre Microsoft Entra ID zur Authentifizierung verwenden. Dabei werden sowohl öffentliche als auch private Zertifikate für die sichere Kommunikation konfiguriert.
Wichtig
Dieser Artikel soll Ihnen nur bei der Einrichtung eines Proof-of-Concept helfen. Die Einstellungen und Empfehlungen sind nicht für die Produktion vorgesehen. Weitere Informationen zu diesem Thema erhalten Sie von Ihrem Sicherheitsteam, in internen Vorschriften und von Microsoft Partnern.
Anforderungen
Stellen Sie sicher, dass Sie bereits Folgendes getan 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 auch mit öffentlichen und privaten Schlüsseltechnologien vertraut sein.
Zertifikat
Wir generieren ein Beispiel für ein selbstsigniertes Stammzertifikat, das den von einer Zertifizierungsstelle bereitgestellten Zertifikaten ähnelt. Sie können es verwenden, um Token für Ihre Benutzer auszustellen.
Erstellen Sie eine Demo-Public-Key-Infrastruktur
Erweitern Sie die Dokumentation zum Einrichten einer sicheren Netzwerkkommunikation, indem Sie die andere Hälfte unserer Demo-PKI (Public Key-Infrastruktur) 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 Zertifikat der Stammzertifizierungsstelle.
- Importieren Sie in
Trusted Root Certification Authorities
.
- Importieren Sie in
- Importieren Sie das Benutzerzertifikat + den Schlüssel:
- Navigieren Sie in der Zertifikatsverwaltung 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 Benutzern explizit 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
NICHT EINSCHLIESSEN p:
Präfix.
X.509-Zertifikate Benutzern mithilfe von Regeln 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 von 1
festgelegt ist.
Anmerkung
Diese Zuordnungsmethode wird zwischen Neustarts nicht beibehalten.
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 dann die Verbindung 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
Führen Sie die folgenden Schritte aus, um SAP ein Benutzerzwischenzertifikat hinzuzufügen:
- Öffnen Sie t-code
STRUST
und doppelklicken Sie aufSTRUST
, um die Datei users.cert.pem des öffentlichen Zertifikats zum Feld hinzuzufügen. - Navigieren Sie im 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 auch
"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 TESTUSER01 öffentlichen und privaten Schlüssel nach Abschluss dieses Tutorials.
Wichtig
Stellen Sie die sichere Handhabung und eventuelle Löschung privater Schlüssel nach Abschluss dieser Einrichtung sicher, um die Sicherheitsintegrität zu wahren.
Weitere Informationen: FAQ zu On-Premises-DatengatewaysZertifikatbasierte Authentifizierung konfigurieren