Konfigurera Microsoft Entra ID med certifikat för enkel inloggning
Den här guiden vägleder dig genom att konfigurera SAP ERP-anslutningsprogrammet så att användarna kan komma åt SAP-data och köra RFC:er (Remote Function Call) i Microsoft Power Platform med sitt Microsoft Entra ID för autentisering. Processen innebär att konfigurera både offentliga och privata certifikat för säker kommunikation.
Viktigt
Den här artikeln är endast avsedd att hjälpa dig att konfigurera ett konceptbevis. Inställningarna och rekommendationerna är inte avsedda för produktionsanvändning. Mer information om det här ämnet finns i säkerhetsteamet, interna principer och Microsoft Partner för mer vägledning.
Förutsättningar
Se till att du redan har:
- Konfigurera SAP-anslutningen. Se till att använda version juli 2024 - 3000.230 eller senare av den lokala datagatewayen.
- Konfigurera Secure Network Communications.
Du måste också vara bekant med offentliga och privata nyckelteknologier.
Certifikat
Vi genererar ett exempel på ett självsignerat rotcertifikat som liknar de certifikat som tillhandahålls av en certifikatutfärdare. Du kan använda den för att utfärda token för dina användare.
Skapa en demoinfrastruktur för offentliga nycklar
Utöka dokumentationen för Konfigurera säker nätverkskommunikation genom att implementera den andra halvan av vår demo-PKI (Public Key Infrastructure).
Skapa mappstrukturen.
cd C:\
mkdir pki-certs
cd C:\pki-certs\
mkdir signingUsersCert
mkdir userCerts
Skapa tilläggsfiler för att säkerställa att våra certifikat skapas med rätt metadata och begränsningar.
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
Skapa nödvändiga index.txt
filer för serial
att hålla reda på signerade certifikat.
# 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" }
Generera vårt certifikat för mellanliggande användare.
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
Generera användarcertifikat
Kör följande för att generera och signera ett certifikat för en användare med SAP-användarnamnet TESTUSER01
:
# 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
Obs
CN=TESTUSER01 ska vara den första parametern.
Nu har du ett rotcertifikat, ett mellanliggande SNC-certifikat (förkortning för Secure Network Communications), ett mellanliggande användarcertifikat och ett certifikat för att identifiera användarcertifikatet.
Verifiera kedjan med följande kommando:
$ openssl verify -CAfile rootCA/ca.cert.pem -untrusted signingUsersCert/users.cert.pem userCerts/TESTUSER01.cert.pem
userCerts/TESTUSER01.cert.pem: OK
Windows Store
Utför de här stegen för att lägga till användare, signeringscertifikat och certifikatkedja i Windows Store.
- Generera .p12-fil från användare som signerar certifikat och privat nyckel.
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
- Öppna Windows certifikathanterare:
- Tryck på
Win + R
, skrivcertlm.msc
och tryck på Retur.
- Tryck på
- Importera det offentliga rotcertifikatutfärdarcertifikatet.
- Importera data till
Trusted Root Certification Authorities
.
- Importera data till
- Importera användarcertifikatet + nyckeln:
- I Certifikathanteraren navigerar du till lämpligt certifikatarkiv (till exempel Personligt).
- Högerklicka och välj
All Tasks > Import
. - Följ guiden för att importera
.p12
filen och se till att markera nyckeln som exporterbar så att OPDG (förkortning för On Premises Data Gateway) kan använda den för att kryptera data. - Högerklicka på
Users Intermediate Cert
och väljAll Tasks>Manage Private Keys...
.
- Lägg till
NT SERVICE\PBIEgwService
-användaren i listan över personer som har behörighet. - Kontrollera certifikatets ämnesnamn i Windows certifikatarkiv:
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject
Mappning av Entra-ID till SAP-användare
Du kan mappa X.509-certifikat till användare explicit, med hjälp av regler eller genom att lägga till ett mellanliggande användarcertifikat i SAP.
Mappa X.509-certifikat till användare explicit
Mappa uttryckligen ett litet antal Entra ID-användare till SAP-användare.
Navigera till SAP GUI to T-Code SM30
.
Ange tabell VUSREXTID
och välj knappen Underhåll.
Välj alternativet DN
när Type of ACL
efterfrågas.
Välj New Entry
och ange CN=TESTUSER01@CONTOSO.COM
(ersätt innehållet för ditt eget UPN) för det externa ID:t. Se till att CN kommer först. Välj ditt UPN för användarnamnsfältet. och sist Kontrollera Activated
alternativet och spara resultaten.
Obs
INKLUDERA p:
INTE prefixet.
Mappa X.509-certifikat till användares användarregler
Använd certifikatregler för att enkelt massmappa Entra ID-användare till SAP-användare.
login/certificate_mapping_rulebased
Kontrollera att parametern profile är inställd på 1
det aktuella värdet.
Obs
Den här mappningsmetoden bevaras inte mellan omstarter.
Skapa sedan följande regel i t-kod CERTRULE
Obs
Vänta två minuter för att säkerställa att cachelagrade anslutningar till SAP har upphört att gälla och testa sedan anslutningen igen. Annars kan du stöta på felet Ingen lämplig SAP-användare hittades för X.509-klientcertifikat .
Använda mellanliggande certifikat
Utför följande steg för att lägga till ett mellanliggande användarcertifikat i SAP:
- Öppna t-koden
STRUST
och dubbelklicka påSTRUST
för att lägga till det offentliga certifikatet users.cert.pem-filen i rutan. - I SAP GUI går du till transaktionskoden STRUST.
- Om SNC SAPCryptolib har ett rött X högerklickar du och väljer Skapa.
- Välj SNC SAPCryptolib och dubbelklicka sedan på ditt eget certifikat.
- Välj Importera certifikat och välj ditt
signingUsersCert\users.cert.pem
offentliga certifikat. - Välj Lägg till i certifikatlista.
Uppdatering av SAP-system
Lägg till i SsoCertificateSubject
dina SAP-systemparametrar.
"SsoCertificateSubject": "CN=Users Intermediate Cert, O=Contoso",
Aktivera även
"SncSso": "On"
Ersätt anslutningen med en ny som används Microsoft Entra ID (using certificates)
för att logga in på SAP med ditt Microsoft Entra ID-konto.
Viktigt
Ta bort de tillfälliga TESTUSER01 offentliga och privata nycklarna när den här självstudien har slutförts.
Viktigt
Säkerställ säker hantering och eventuell borttagning av privata nycklar när den här konfigurationen har slutförts för att upprätthålla säkerhetsintegriteten.
Läs mer: Vanliga frågor om lokal datagatewayKonfigurera certifikatbaserad autentisering