從 SAP OData 連接器設定 Microsoft Entra ID、Azure API 管理和適用於 SSO 的 SAP
您可以將 Power Platform SAP OData 連接器設定為使用 Microsoft Entra ID 憑證進行 SAP 單一登入 (SSO)。 這使得您的使用者能夠存取 Power Platform 解決方案中的 SAP 資料,而無需多次登入多個服務,同時遵守他們在 SAP 中的授權和指派的角色。
本文將引導您完成這個過程,包括在 SAP 和 Microsoft Entra ID 之間設定信任,以及設定 Azure API 管理以將 Microsoft Entra ID OAuth 權杖轉換為用於向 SAP 進行 OData 呼叫的 SAML 權杖。
您還可以在部落格文章中獲得有關設定程序的更多見解和背景資訊,好極了! SAP OData 連接器現在支援 OAuth2 和 SAP Principal Propagation。
必要條件
- SAP 執行個體
- Azure API 管理資源
從 SAP 下載本機提供者 SAML 中繼資料
若要使用 SAML 2.0 在 SAP 和 Microsoft Entra ID 之間建立信任關係,請先從 SAP 下載中繼資料 xml 檔案。
在 SAP GUI 中以 SAP Basis 管理員身分執行這些步驟。
在 SAP GUI 中,執行交易 SAML2 以開啟相關 SAP 用戶端相關精靈,然後選擇本機提供者標籤。
選擇中繼資料,然後選擇下載中繼資料。 您將在後續步驟中將 SAP SAML 中繼資料上傳至 Microsoft Entra ID。
記下符合 URI 的提供者名稱。
注意
Microsoft Entra ID 要求該值與 URI 相容。 如果提供者名稱已設定且不符合 URI,請在未先諮詢 SAP Basis 團隊的情況下變更它。 變更提供者名稱可能會破壞現有的 SAML 設定。 變更它的步驟超出了本文的範圍。 請諮詢您的 SAML Basis 團隊以取得指導。
有關更多資訊,請參閱 SAP 官方文件。
將 SAP 中繼資料匯入 Microsoft Entra ID 企業應用程式
在 Azure 入口網站中以 Microsoft Entra ID 管理員身分執行這些步驟。
選取 Microsoft Entra ID>企業應用程式。
選取新增應用程式。
搜尋 SAP Netweaver。
為企業應用程式命名,然後選擇建立。
前往單一登入,然後選擇 SAML。
選擇上傳中繼資料檔案,然後選擇您從 SAP 下載的中繼資料檔案。
選取新增。
將回覆 URL (判斷提示取用者服務 URL) 變更為 SAP OAuth 權杖端點。 URL 的格式為
https://<SAP server>:<port>/sap/bc/sec/oauth2/token
。將登入 URL 變更為符合 URI 的值。 此參數未使用,可設定為任何符合 URI 的值。
選取儲存。
在屬性和宣告下,選擇編輯。
確認宣告名稱唯一使用者識別碼 (名稱 ID) 設定為 user.userprincipalname [nameid=format:emailAddress]。
在 SAML 憑證下,選擇下載憑證 (Base64) 和聯合中繼資料 XML。
在 SAP 中將 Microsoft Entra ID 設定為 OAuth 2.0 的受信任識別提供者
請依照 SAP NetWeaver 和 OAuth2 的 Microsoft Entra ID 文件部分中概述的步驟進行操作。
在 SAP 中建立 OAuth2 用戶端後,請返回本文。
有關更多詳細資訊,請參閱 SAP 關於 SAP NETWEAVER 的官方文件。 請注意,您必須是 SAP 管理員才能存取該資訊。
建立代表 Azure API 管理資源的 Microsoft Entra ID 應用程式
設定授予對 Microsoft Power Platform SAP OData 連接器的存取權限的 Microsoft Entra ID 應用程式。 此應用程式允許 Azure API 管理資源將 OAuth 權杖轉換為 SAML 權杖。
在 Azure 入口網站中以 Microsoft Entra ID 管理員身分執行下列步驟。
選擇 Microsoft Entra ID>應用程式註冊>新註冊。
輸入名稱,然後選擇註冊。
選取憑證 & 密碼>新增用戶端密碼。
輸入描述,然後選擇新增。
複製並儲存此秘密到安全的地方。
選取 API 權限>新增權限。
選擇 Microsoft Graph>委派權限。
搜尋,然後選擇 openid。
選取新增權限。
選擇驗證>新增平台>Web。
將重新導向 URI 設定為
https://localhost:44326/signin-oidc
。選擇存取權杖和 ID 權杖,然後選擇設定。
選取公開 API。
在應用程式 ID URI 旁邊,選擇新增。
接受預設值,然後選擇儲存。
選取新增範圍。
將範圍名稱設定為 user_impersonation。
設定誰可以同意?給管理員和使用者。
選取新增範圍。
複製應用程式 (用戶端) 識別碼。
授權 Azure API 管理資源使用 Microsoft Entra ID 企業應用程式存取 SAP Netweaver
建立 Microsoft Entra ID 企業應用程式時,它會建立相符的應用程式註冊。 尋找與您為 SAP NetWeaver 建立的 Microsoft Entra ID 企業應用程式相符的應用程式註冊。
選擇公開 API>新增用戶端應用程式。
將 Azure API 管理執行個體的 Microsoft Entra ID 應用程式註冊的應用程式 (用戶端) 識別碼貼到用戶端識別碼中。
選擇 user_impersonation 範圍,然後選擇新增應用程式。
授權 Microsoft Power Platform SAP OData 連接器存取 Azure API 管理公開的 API
在 Azure API 管理的 Microsoft Entra ID 應用程式註冊中,選擇公開 API,在授權用戶端應用程式下>新增 Power Platform SAP OData 連接器
6bee4d13-fd19-43de-b82c-4b6401d174c3
的用戶端識別碼。選擇 user_impersonation 範圍,然後選擇儲存。
設定 SAP OAuth
在 SAP 中建立一個 OAuth 2.0 用戶端,讓 Azure API 管理代表使用者取得權杖。
詳細內容請參閱 SAP 官方文件。
在 SAP GUI 中以 SAP Basis 管理員身分執行這些步驟。
執行交易 SOAUTH2。
選取建立。
在用戶端識別碼頁面上:
- 對於 OAuth 2.0 用戶端識別碼,選擇 SAP 系統使用者。
- 輸入描述,然後選擇下一步。
在用戶端驗證頁面上,選擇下一步。
在授與類型設定頁面:
- 對於信任 OAuth 2.0 IdP,選擇 Microsoft Entra ID 項目。
- 選擇允許重新整理,然後選擇下一步。
在範圍分配頁面上,選擇新增,選擇 Azure API 管理所使用的 OData 服務 (例如 ZAPI_BUSINESS_PARTNER_0001),然後選擇下一步。
選取完成。
設定 Azure API 管理
將 SAP OData XML 中繼資料匯入到 Azure API 管理執行個體。 然後,應用 Azure API 管理原則來轉換權杖。
開啟 Azure API 管理執行個體並依照步驟建立 SAP OData API。
在 API 下,選擇命名值。
新增以下索引鍵/值對:
機碼 | 數值 |
---|---|
AADSAPResource | SAP 本地提供者 URI |
AADTenantId | 您的租用戶 GUID |
APIMAADRegisteredAppClientId | Microsoft Entra ID 應用程式 GUID |
APIMAADRegisteredAppClientSecret | 先前步驟中的用戶端機密 |
SAPOAuthClientID | SAP 系統使用者 |
SAPOAuthClientSecret | SAP 系統使用者密碼 |
SAPOAuthRefreshExpiry | 權杖重新整理過期 |
SAPOAuthScope | SAP OAuth 設定期間所選的 OData 範圍 |
SAPOAuthServerAddressForTokenEndpoint | 用於呼叫 Azure API 管理來執行權杖取得的 SAP 端點 |
注意
請注意,SAP SuccessFactors 的設定略有不同。 有關詳細資訊,請參閱 SAP SuccessFactors 的 Azure API 管理原則。
套用 Azure API 管理權杖原則
使用 Azure API 管理原則將 Microsoft Entra ID 頒發的權杖轉換為 SAP NetWeaver 接受的權杖。 這是使用 OAuth2SAMLBearer 流程完成的。 更多資訊請參閱 SAP 官方文件。
開啟 Azure 入口網站。
前往 Azure API 管理資源。
選擇 API,然後選擇您建立的 OData API。
選擇所有作業。
在輸入處理下,選擇原則 </>。
刪除現有策略並貼上您複製的策略。
選取儲存。
相關內容
- SAP OData 連接器
- SAP OData 連接器現在支援 OAuth2 和 SAP 主體傳播 | Power Automate 社群部落格
- SAP SuccessFactors 的 Azure API 管理原則 | GitHub
- SAP SuccessFactors 的 SAP OData 連接器 | SAP 社群部落格
- SAP Business Accelerator Hub 也提供與 SuccessFactors 和 NetWeaver 的 SAP 整合套件策略相關的內容。 您必須擁有 SAP 帳戶才能存取此內容。