Microsoft Entra ID (附憑證) -單一登入
本指南將引導您完成連接器的設定,以便您的使用者可以使用其 Microsoft Entra ID 進行身驗證來存取 SAP 資料並在 Microsoft Power Platform 中執行 RFC (遠端函數呼叫)。 該程序涉及設定公共和私人憑證以實現安全通訊。
重要
本文僅用於建立概念驗證。 這些設定和建議不適用於生產用途。 有關此主題的更多資訊,請諮詢您的安全團隊、內部策略和 Microsoft 合作夥伴以獲取更多指導。
必要條件
確保您已經:
您還需要熟悉公開金鑰和私密金鑰技術。
憑證
我們產生一個範例自簽名根憑證,類似於憑證頒發機構提供的憑證。 您可以使用它為您的使用者發行代幣。
建立示範公開金鑰基礎設施
透過實施示範 PKI (公開金鑰基礎設施) 的另一半來擴展設定安全網路通訊文件。
建立資料夾結構。
cd C:\
mkdir pki-certs
cd C:\pki-certs\
mkdir signingUsersCert
mkdir userCerts
建立擴充檔案以確保我們的憑證是使用正確的中繼資料和限制建立的。
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
建立必要的 index.txt
和 serial
檔案來追蹤簽署的憑證。
# 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" }
產生我們的中間使用者憑證。
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
產生使用者憑證
執行以下命令,為具有 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
注意
CN=TESTUSER01 應該是第一個參數。
您現在擁有一個根憑證、一個中間 SNC (安全網路通訊的縮寫) 憑證、一個中間使用者憑證以及一個用於標識使用者憑證的憑證。
使用以下命令驗證鏈:
$ openssl verify -CAfile rootCA/ca.cert.pem -untrusted signingUsersCert/users.cert.pem userCerts/TESTUSER01.cert.pem
userCerts/TESTUSER01.cert.pem: OK
Windows應用程式商店
執行下列步驟將使用者簽署憑證和憑證鏈新增至 Windows 應用程式商店。
- 從使用者簽署憑證和私密金鑰產生 .p12 檔案。
openssl pkcs12 -export -out user_signing_cert.p12 -inkey .\signingUsersCert\users.key.pem -in .\signingUsersCert\users.cert.pem
- 開啟 Windows 憑證管理員:
- 按
Win + R
,鍵入certlm.msc
,然後按 Enter。
- 按
- 匯入公共 Root CA 憑證。
- 匯入到
Trusted Root Certification Authorities
。
- 匯入到
- 匯入使用者憑證+金鑰:
- 在憑證管理員中,導覽至適當的憑證儲存 (例如,個人)。
- 以滑鼠右鍵按一下,然後選擇
All Tasks > Import
。 - 依照精靈匯入
.p12
檔案,確保將金鑰標記為可匯出,以便 OPDG (內部部署資料閘道的縮寫) 可以使用它來加密資料。 - 以滑鼠右鍵按一下
Users Intermediate Cert
,然後選擇All Tasks>Manage Private Keys...
。
- 將
NT SERVICE\PBIEgwService
使用者新增至具有權限的人員清單。 - 在 Windows 憑證儲存區中檢查憑證的使用者名稱:
Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*Users Intermediate Cert*" } | Format-List -Property Subject
Entra ID 到 SAP 使用者對應
您可以使用規則或透過將使用者中間憑證新增至 SAP 來將 X.509 憑證明確地對應到使用者。
將 X.509 憑證明確地對應到使用者
將少量 Entra ID 使用者明確對應到 SAP 使用者。
將 SAP GUI 導覽至 T-Code SM30
。
進入資料表 VUSREXTID
,然後選擇維護按鈕。
出現 Type of ACL
提示時選擇選項 DN
。
選擇 New Entry
並輸入 CN=TESTUSER01@CONTOSO.COM
(取代您自己的 UPN 的內容) 作為外部 ID。 確保 CN 優先。 在使用者名欄位中選擇您的 UPN;最後檢查 Activated
選項並儲存結果。
注意
請勿包含 p:
首碼。
使用規則將 X.509 憑證對應到使用者
使用憑證規則輕鬆將 Entra ID 使用者批次對應到 SAP 使用者。
確保 login/certificate_mapping_rulebased
設定檔參數設定為目前值 1
。
注意
此對應方法在重新啟動之間不會持續存在。
然後在 t-code CERTRULE
中建立以下規則
注意
等待兩分鐘以確保快取的 SAP 連線已過期,然後重新測試連線。 如果沒有,您可能會遇到找不到適合 X.509 用戶端憑證的 SAP 使用者錯誤。
使用者中間憑證
按照以下步驟將使用者中間證書添加到 SAP:
- 打開 t 代碼
STRUST
並按兩下STRUST
,將公共證書 users.cert.pem 檔添加到框中。 - 在 SAP GUI 中,移至交易代碼 STRUST。
- 如果 SNC SAPCryptolib 有紅色 X,請右鍵點選,然後選擇建立。
- 選擇 SNC SAPCryptolib ,然後按兩下您自己的 證書。
- 選擇匯入憑證,然後選擇您的
signingUsersCert\users.cert.pem
公共憑證。 - 選擇新增到憑證清單。
SAP 系統更新
將 SsoCertificateSubject
新增至您的 SAP 系統參數。
"SsoCertificateSubject": "CN=Users Intermediate Cert, O=Contoso",
也啟用
"SncSso": "On"
將連接替換為使用 Microsoft Entra ID (using certificates)
的新連線,以使用您的 Microsoft Entra ID 帳戶登入 SAP。
重要
完成本教學後,刪除臨時 TESTUSER01 公開金鑰和私密金鑰。
重要
確保完成此設定後私密金鑰的安全處理和最終刪除,以保持安全完整性。
了解更多:內部部署資料閘道常見問題集