Freigeben über


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:

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.

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.

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 Root-CA-Zertifikat.
    1. Importieren Sie in Trusted Root Certification Authorities.
  3. Importieren Sie das Benutzerzertifikat + den Schlüssel:
    1. Navigieren Sie im Zertifikat-Manager 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.

Ü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 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

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

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.

  1. Gehen Sie in der SAP GUI zum Transaktionscode STRUST.
  2. Wenn SNC-SAPCryptolib ein rotes X hat, klicken Sie mit der rechten Maustaste und wählen Sie Erstellen.
  3. Wählen Sie SNC SAPCryptolib, und doppelklicken Sie dann auf Ihr eigenes Zertifikat.
  4. Wählen Sie Zertifikat Importieren und Ihr öffentliches signingUsersCert\users.cert.pem-Zertifikat aus.
  5. 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