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í. Tento 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:
- Nastavení připojení SAP. Ujistěte se, že používáte verzi z července 2024 – 3000.230 nebo novější místní brány dat.
- Nastavení zabezpečené síťové komunikace.
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íčů).
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.
- 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
- Otevřete Správce certifikátů systému Windows:
- Stiskněte
Win + R
, zadejtecertlm.msc
a stiskněte klávesu Enter.
- Stiskněte
- Importujte veřejný certifikát kořenové certifikační autority.
- Importujte do
Trusted Root Certification Authorities
.
- Importujte do
- Importujte uživatelský certifikát + klíč:
- Ve Správci certifikátů přejděte do příslušného úložiště certifikátů (například Osobní).
- Klikněte pravým tlačítkem a vyberte
All Tasks > Import
. - 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. - Klikněte pravým tlačítkem na
Users Intermediate Cert
a vyberteAll Tasks>Manage Private Keys...
.
- Přidejte uživatele
NT SERVICE\PBIEgwService
do seznamu lidí, kteří mají oprávnění. - 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
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:
- Otevřete t-code
STRUST
a poklepáním naSTRUST
přidejte soubor veřejného certifikátu users.cert.pem do souboru krabice. - V uživatelském rozhraní SAP přejděte na kód transakce STRUST.
- Pokud má SNC SAPCryptolib červené X, klikněte na něj pravým tlačítkem a vyberte Vytvořit.
- Vyberte SNC SAPCryptolib a poté dvakrát klikněte na svůj Vlastní certifikát.
- Vyberte Importovat certifikát a zvolte svůj veřejný certifikát
signingUsersCert\users.cert.pem
. - 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