Sdílet prostřednictvím


Microsoft Entra ID (s certifikáty) – jednotné přihlašování

Tato příručka vás provede nastavením konektoru tak, aby uživatelé měli přístup k datům SAP a spouštěli RFC (vzdálené volání funkce) v Microsoft Power Platform pomocí svého Microsoft Entra ID pro ověřování. T​ento proces zahrnuje konfiguraci veřejných i privátních certifikátů pro zabezpečenou komunikaci.

Důležité

Tento článek představuje pouze základ pro testování konceptu. Nastavení a doporučení nejsou určeny pro produkční použití. Další informace o tomto tématu získáte u svého bezpečnostním týmu, v interních zásadách a u partnera Microsoft.

Předpoklady

Ujistěte se, že již máte:

Musíte být také obeznámeni s technologiemi veřejného a privátního klíče.

Certifikát

Vygenerujeme příklad kořenového certifikátu podepsaného svým držitelem podobný certifikátům poskytovaným certifikační autoritou. Můžete ho použít k vydávání tokenů pro vaše uživatele.

Vytvoření ukázkové infrastruktury veřejných klíčů

Rozšiřte dokumentaci Nastavení zabezpečené síťové komunikace implementací druhé poloviny naší ukázkové infrastruktury PKI (infrastruktura veřejných klíčů).

Vývojový diagram ukázkové infrastruktury veřejných klíčů

Vytvořte strukturu složek.

cd C:\
mkdir pki-certs
cd C:\pki-certs\
mkdir signingUsersCert
mkdir userCerts

Vytvořte soubory rozšíření, abyste zajistili, že se naše certifikáty vytvoří se správnými metadaty a omezeními.

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

Vytvořte potřebné soubory index.txt a serial pro sledování podepsaných certifikátů.

# 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" }

Vygenerujte náš zprostředkující uživatelský certifikát.

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

Generování uživatelských certifikátů

Spuštěním následujícího vygenerujte a podepište certifikát pro uživatele s uživatelským jménem SAP 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

Poznámka:

CN=TESTUSER01 musí být první parametr.

Teď máte kořenový certifikát, zprostředkující certifikát SNC (zkratka pro Secure Network Communications), zprostředkující uživatelský certifikát a certifikát pro identifikaci uživatelského certifikátu.

Ověřte řetěz pomocí následujícího příkazu:

$ openssl verify -CAfile rootCA/ca.cert.pem -untrusted signingUsersCert/users.cert.pem userCerts/TESTUSER01.cert.pem

userCerts/TESTUSER01.cert.pem: OK

Windows Store

Chcete-li přidat uživatele podepisující certifikát a řetěz certifikátů do Windows Store, postupujte takto.

  1. Vygenerujte soubor .p12 od uživatelů, kteří podepisují certifikát a soukromý klíč.
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
  1. Otevřete Správce certifikátů systému Windows:
    1. Stiskněte Win + R, zadejte certlm.msc a stiskněte klávesu Enter.
  2. Importujte veřejný certifikát kořenové certifikační autority.
    1. Importujte do Trusted Root Certification Authorities.
  3. Importujte uživatelský certifikát + klíč:
    1. Ve Správci certifikátů přejděte do příslušného úložiště certifikátů (například Osobní).
    2. Klikněte pravým tlačítkem a vyberte All Tasks > Import.
    3. Postupujte podle pokynů průvodce a importujte soubor .p12 a ujistěte se, že jste klíč označili jako exportovatelný, aby ho OPDG (zkratka pro místní bránu dat) mohla použít k šifrování dat.
    4. Klikněte pravým tlačítkem na Users Intermediate Cert a vyberte All Tasks>Manage Private Keys....
  4. Přidejte uživatele NT SERVICE\PBIEgwService do seznamu lidí, kteří mají oprávnění.
  5. Zkontrolujte název předmětu certifikátu v úložišti certifikátů Windows:
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject

Mapování uživatele Entra ID na SAP

Certifikáty X.509 můžete namapovat na uživatele explicitně, pomocí pravidel nebo přidáním zprostředkujícího certifikátu uživatele do SAP.

Explicitní mapování certifikátů X.509 na uživatele

Explicitně namapujte malý počet uživatelů Entra ID na uživatele SAP.

Přejděte z grafického uživatelského rozhraní SAP do kódu T-Code SM30.

Zadejte tabulku VUSREXTID a vyberte tlačítko Udržovat.

Po zobrazení výzvy na Type of ACL vyberte DN.

Zvolte New Entry a zadejte CN=TESTUSER01@CONTOSO.COM (nahrazení obsahu pro vlastní UPN) pro externí ID. Ujistěte se, že CN je na prvním místě. Vyberte UPN pro pole uživatelského jména a nakonec zaškrtněte možnost Activated a uložte výsledky.

Poznámka:

NEZAHRNUJTE předponu p:.

Mapování certifikátů X.509 na uživatele pomocí pravidel

Pomocí pravidel certifikátů můžete snadno hromadně mapovat uživatele Entra ID na uživatele SAP.

Ujistěte se, že parametr profilu login/certificate_mapping_rulebased je nastaven na aktuální hodnotu 1.

Poznámka:

Tato metoda mapování se nezachová mezi restartováním.

Poté vytvořte následující pravidlo v t-code CERTRULE

T-kód: CERTRULE

Poznámka:

Počkejte dvě minuty, abyste se ujistili, že vypršela platnost připojení k SAP uložených v mezipaměti, a pak připojení znovu otestujte. Pokud ne, můžete narazit na chybu Nebyl nalezen žádný vhodný uživatel SAP pro klientský certifikát X.509.

Zprostředkující certifikát uživatele

Chcete-li přidat uživatelský zprostředkující certifikát do SAP, postupujte takto:

  1. Otevřete t-code STRUST a poklepáním na STRUST přidejte soubor veřejného certifikátu users.cert.pem do souboru krabice.
  2. V uživatelském rozhraní SAP přejděte na kód transakce STRUST.
  3. Pokud má SNC SAPCryptolib červené X, klikněte na něj pravým tlačítkem a vyberte Vytvořit.
  4. Vyberte SNC SAPCryptolib a poté dvakrát klikněte na svůj Vlastní certifikát.
  5. Vyberte Importovat certifikát a zvolte svůj veřejný certifikát signingUsersCert\users.cert.pem.
  6. Vyberte Přidat do seznamu certifikátů.

Aktualizace systému SAP

Přidejte SsoCertificateSubject do parametrů systému SAP.

"SsoCertificateSubject": "CN=Users Intermediate Cert, O=Contoso",

Zapněte také

"SncSso": "On"

Nahraďte připojení novým, které se používá Microsoft Entra ID (using certificates) k přihlášení k SAP pomocí vašeho účtu Microsoft Entra ID.

Důležité

Po dokončení tohoto kurzu odstraňte dočasné veřejné a privátní klíče TESTUSER01.

Důležité

Zajistěte bezpečné zpracování a případné odstranění privátních klíčů po dokončení tohoto nastavení, aby byla zachována integrita zabezpečení.

Další informace: Časté otázky k architektuře místní brány dat