Dela via


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:

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).

Flödesschema för demo-PKI

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.

  1. 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
  1. Öppna Windows certifikathanterare:
    1. Tryck på Win + R, skriv certlm.msc och tryck på Retur.
  2. Importera det offentliga rotcertifikatutfärdarcertifikatet.
    1. Importera data till Trusted Root Certification Authorities.
  3. Importera användarcertifikatet + nyckeln:
    1. I Certifikathanteraren navigerar du till lämpligt certifikatarkiv (till exempel Personligt).
    2. Högerklicka och välj All Tasks > Import.
    3. 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.
    4. Högerklicka på Users Intermediate Cert och välj All Tasks>Manage Private Keys....
  4. Lägg till NT SERVICE\PBIEgwService-användaren i listan över personer som har behörighet.
  5. 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

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:

  1. Öppna t-koden STRUST och dubbelklicka på STRUST för att lägga till det offentliga certifikatet users.cert.pem-filen i rutan.
  2. I SAP GUI går du till transaktionskoden STRUST.
  3. Om SNC SAPCryptolib har ett rött X högerklickar du och väljer Skapa.
  4. Välj SNC SAPCryptolib och dubbelklicka sedan på ditt eget certifikat.
  5. Välj Importera certifikat och välj ditt signingUsersCert\users.cert.pem offentliga certifikat.
  6. 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