Freigeben über


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:

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.

Flussdiagramm der Demo-PKI

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.

  1. 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
  1. Öffnen Sie den Windows-Zertifikat-Manager:
    1. Drücken Sie Win + R, geben Sie certlm.msc ein und drücken Sie die EINGABETASTE.
  2. Importieren Sie das öffentliche Zertifikat der Stammzertifizierungsstelle.
    1. Importieren Sie in Trusted Root Certification Authorities.
  3. Importieren Sie das Benutzerzertifikat + den Schlüssel:
    1. Navigieren Sie in der Zertifikatsverwaltung zum entsprechenden Zertifikatspeicher (z. B. Persönlich).
    2. Klicken Sie mit der rechten Maustaste und wählen Sie All Tasks > Import aus.
    3. 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.
    4. Klicken Sie mit der rechten Maustaste auf Users Intermediate Cert, und wählen Sie All Tasks>Manage Private Keys... aus.
  4. Fügen Sie den NT SERVICE\PBIEgwService Benutzer zur Liste der Personen hinzu, die über Berechtigungen verfügen.
  5. Ü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 Entryaus, 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

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:

  1. Öffnen Sie t-code STRUST und doppelklicken Sie auf STRUST, um die Datei users.cert.pem des öffentlichen Zertifikats zum Feld hinzuzufügen.
  2. Navigieren Sie im SAP GUI zum Transaktionscode STRUST.
  3. Wenn SNC-SAPCryptolib ein rotes X hat, klicken Sie mit der rechten Maustaste und wählen Sie Erstellen.
  4. Wählen Sie SNC SAPCryptolib, und doppelklicken Sie dann auf Ihr eigenes Zertifikat.
  5. Wählen Sie Zertifikat Importieren und Ihr öffentliches signingUsersCert\users.cert.pem-Zertifikat aus.
  6. 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