教學課程:Microsoft Entra 單一登入 (SSO) 與 SAP NetWeaver 整合
在本教學課程中,您將瞭解如何整合 SAP NetWeaver 與 Microsoft Entra ID。 在整合 SAP NetWeaver 與 Microsoft Entra ID 時,您可以.
- 在 Microsoft Entra 識別碼中控制可存取 SAP NetWeaver 的人員。
- 讓使用者使用其 Microsoft Entra 帳戶自動登入 SAP NetWeaver。
- 在一個中央位置管理您的帳戶。
必要條件
若要開始使用,您需要下列專案:
- Microsoft Entra 訂用帳戶。 如果您沒有訂用帳戶,可以取得免費帳戶。
- 已啟用 SAP NetWeaver 單一登錄 (SSO) 的訂用帳戶。
- SAP NetWeaver V7.20 至少需要
案例描述
- SAP NetWeaver 同時支援 SAML (SP 起始的 SSO) 和 OAuth。 在本教學課程中,您會在測試環境中設定及測試 Microsoft Entra SSO。
注意
此應用程式的標識碼是固定字串值,因此一個租使用者中只能設定一個實例。
注意
根據組織需求,在SAML或OAuth中設定應用程式。
從資源庫新增 SAP NetWeaver
若要設定將 SAP NetWeaver 整合到 Microsoft Entra ID 中,您需要從資源庫將 SAP NetWeaver 新增到受控 SaaS 應用程式清單。
- 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
- 流覽至 [身分>識別應用程式>企業應用程式>] [新增應用程式]。
- 在 [ 從資源庫 新增] 區段的搜尋方塊中輸入 SAP NetWeaver 。
- 從結果面板中選取 [SAP NetWeaver ],然後新增應用程式。 將應用程式新增至您的租使用者時,請稍候幾秒鐘。
或者,您也可以使用企業 應用程式組態 精靈。 在此精靈中,您可以將應用程式新增至租使用者、將使用者/群組新增至應用程式、指派角色,以及逐步解說 SSO 設定。 深入瞭解 Microsoft 365 精靈。
設定及測試 SAP NetWeaver 的 Microsoft Entra SSO
以名為 B.Simon 的測試用戶,設定及測試與 SAP NetWeaver 搭配運作的 Microsoft Entra SSO。 若要讓 SSO 能夠運作,您必須建立 Microsoft Entra 使用者與 SAP NetWeaver 中相關使用者之間的連結關聯性。
若要設定及測試與 SAP NetWeaver 搭配運作的 Microsoft Entra SSO,請執行下列步驟:
- 設定 Microsoft Entra SSO ,讓用戶能夠使用這項功能。
- 建立 Microsoft Entra 測試使用者 ,以使用 B.Simon 測試 Microsoft Entra 單一登錄。
- 指派 Microsoft Entra 測試使用者 ,讓 B.Simon 能夠使用 Microsoft Entra 單一登錄。
- 使用 SAML 設定 SAP NetWeaver,以在應用程式端設定 SSO 設定。
- 建立 SAP NetWeaver 測試使用者 ,使 SAP NetWeaver 中對應的 B.Simon 連結到該使用者在 Microsoft Entra 中的代表專案。
- 測試 SSO 以確認組態是否正常運作。
- 設定SAP NetWeaver for OAuth 以在應用程式端設定 OAuth 設定。
設定 Microsoft Entra SSO
在本節中,您會啟用 Microsoft Entra 單一登錄。
若要使用 SAP NetWeaver 設定 Microsoft Entra 單一登入,請執行下列步驟:
開啟新的網頁瀏覽器視窗,並以系統管理員身分登入您的SAP NetWeaver 公司網站
請確定 HTTP 和 HTTPs 服務為作用中,並在 SMICM T-Code 中指派適當的埠。
登入 SAP 系統 (T01) 的商務用戶端,其中需要 SSO 並啟用 HTTP 安全性工作階段管理。
移至交易代碼 SICF_SESSIONS。 它會顯示具有目前值的所有相關配置檔參數。 如下所示:-
login/create_sso2_ticket = 2 login/accept_sso2_ticket = 1 login/ticketcache_entries_max = 1000 login/ticketcache_off = 0 login/ticket_only_by_https = 0 icf/set_HTTPonly_flag_on_cookies = 3 icf/user_recheck = 0 http/security_session_timeout = 1800 http/security_context_cache_size = 2500 rdisp/plugin_auto_logout = 1800 rdisp/autothtime = 60
注意
根據組織需求調整上述參數,此處僅提供上述參數作為指示。
如有必要,請在 SAP 系統的實例/預設設定檔中調整參數,然後重新啟動 SAP 系統。
按兩下相關的客戶端以啟用 HTTP 安全性工作階段。
開啟下列 SICF 服務:
/sap/public/bc/sec/saml2 /sap/public/bc/sec/cdc_ext_service /sap/bc/webdynpro/sap/saml2 /sap/bc/webdynpro/sap/sec_diag_tool (This is only to enable / disable trace)
移至 SAP 系統 [T01/122] 商務用戶端中的交易程式碼 SAML2 。 它會在瀏覽器中開啟使用者介面。 在此範例中,我們假設 122 為 SAP 商務用戶端。
提供您的使用者名稱和密碼,以在使用者介面中輸入,然後按兩下 [ 編輯]。
將 T01122 的提供者名稱取代為 ,
http://T01122
然後按兩下 [儲存]。注意
根據預設,提供者名稱的格式為
<sid><client>
,但 Microsoft Entra ID 預期名稱的格式<protocol>://<name>
為 ,建議維護提供者名稱,https://<sid><client>
以允許多個 SAP NetWeaver ABAP 引擎在 Microsoft Entra ID 中設定。產生服務提供者元數據:-完成在SAML 2.0使用者介面上設定本機提供者和信任提供者設定後,下一個步驟是產生服務提供者的元數據檔案(其中包含SAP中的所有設定、驗證內容和其他組態)。 產生此檔案之後,我們需要在 Microsoft Entra ID 中上傳此檔案。
移至 [ 本機提供者] 索引標籤。
按兩下 [ 元數據]。
將產生的元數據 XML 檔案儲存在計算機上,並將其上傳至 [基本 SAML 組態] 區段,以自動填入 Azure 入口網站 中的 [標識符] 和 [回復 URL] 值。
請遵循下列步驟來啟用 Microsoft Entra SSO。
以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
流覽至 [身分>識別應用程式>企業應用程式>SAP NetWeaver] 應用程式整合頁面,尋找 [管理] 區段並選取 [單一登錄]。
在 [ 選取單一登錄方法] 頁面上,選取 [SAML]。
在 [使用 SAML 設定單一登錄] 頁面上,按下基本 SAML 組態的鉛筆圖示以編輯設定。
如果您想要以 IDP 起始模式設定應用程式,請在 [基本 SAML 組態] 區段上執行下列步驟:
按兩下 [上傳元資料檔案 ] 以上傳 您稍早取得的服務提供者元數據檔案。
按兩下 資料夾標誌 以選取元資料檔案,然後按兩下 [ 上傳]。
成功上傳元數據檔案之後,[基本 SAML 設定] 區段文本框中會自動填入 [標識符] 和 [回復 URL] 值,如下所示:
在 [ 登入 URL ] 文字框中,使用下列模式輸入 URL:
https://<your company instance of SAP NetWeaver>
注意
某些客戶遇到針對其實例設定不正確回復 URL 的錯誤。 如果您收到任何這類錯誤,請使用這些 PowerShell 命令。 請先使用回復 URL 更新應用程式物件中的回復 URL,然後更新服務主體。 使用 Get-MgServicePrincipal 取得服務主體標識碼值。
$params = @{ web = @{ redirectUris = "<Your Correct Reply URL>" } } Update-MgApplication -ApplicationId "<Application ID>" -BodyParameter $params Update-MgServicePrincipal -ServicePrincipalId "<Service Principal ID>" -ReplyUrls "<Your Correct Reply URL>"
SAP NetWeaver 應用程式需要特定格式的 SAML 判斷提示,因此您必須將自定義屬性對應新增至 SAML 令牌屬性組態。 下列螢幕快照顯示預設屬性的清單。 按兩下 [編輯 ] 圖示以開啟 [使用者屬性] 對話框。
在 [使用者屬性] 對話方塊的 [使用者宣告] 區段中,設定 SAML 令牌屬性,如上圖所示,然後執行下列步驟:
按兩下 [編輯] 圖示 以開啟 [ 管理使用者宣告] 對話框。
從 [轉換] 清單中,選取 [ExtractMailPrefix()]。
從 [ 參數 1] 列表中,選取 user.userprincipalname。
按一下 [檔案] 。
在 [ 使用 SAML 設定單一登錄] 頁面上的 [SAML 簽署憑證 ] 區段中,尋找 [同盟元數據 XML ],然後選取 [下載 ] 以下載憑證,並將它儲存在您的計算機上。
在 [ 設定 SAP NetWeaver ] 區段上,根據您的需求複製適當的 URL。
建立 Microsoft Entra 測試使用者
在本節中,您將建立名為 B.Simon 的測試使用者。
- 以至少使用者 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]>[使用者]>[所有使用者]。
- 選取畫面頂端的 [新增使用者>建立新使用者]。
- 在 [ 用戶 屬性] 中,遵循下列步驟:
- 在 [ 顯示名稱] 欄位中, 輸入
B.Simon
。 - 在 [ 使用者主體名稱] 欄位中, 輸入 username@companydomain.extension。 例如:
B.Simon@contoso.com
。 - 選取 [顯示密碼] 複選框,然後記下 [密碼] 方塊中顯示的值。
- 選取 [檢閱 + 建立]。
- 在 [ 顯示名稱] 欄位中, 輸入
- 選取 建立。
指派 Microsoft Entra 測試使用者
在本節中,您會將 SAP NetWeaver 的存取權授與 B.Simon,讓其能夠使用單一登錄。
- 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
- 流覽至 [身分>識別應用程式企業應用程式>>SAP NetWeaver]。
- 在應用程式的 [概觀] 頁面中,尋找 [ 管理] 區段,然後選取 [ 使用者和群組]。
- 選取 [新增使用者],然後在 [新增指派] 對話框中選取 [使用者和群組]。
- 在 [ 使用者和群組] 對話框中,從 [使用者] 列表中選取 B.Simon ,然後按兩下畫面底部的 [ 選取 ] 按鈕。 如果您預期將角色指派給使用者,您可以從 [選取角色] 下拉式清單中選取該 角色 。 如果未為此應用程式設定任何角色,您會看到已選取 [預設存取] 角色。
- 在 [新增指派] 對話框中,按兩下 [指派] 按鈕。
使用 SAML 設定 SAP NetWeaver
登入 SAP 系統並移至交易程式代碼 SAML2。 它會使用 SAML 設定畫面開啟新的瀏覽器視窗。
若要設定受信任識別提供者的端點(Microsoft Entra ID),請移至 [信任的提供者 ] 索引標籤。
按下 [新增],然後從操作功能表中選取 [上傳中繼資料檔案]。
上傳您已下載的元數據檔案。
在下一個畫面中,輸入別名名稱。 例如,aadsts,然後按 [下一步 ] 繼續。
確定 [摘要演算法] 應該是 SHA-256,而不需要任何變更,並且按 [下一步]。
在 [單一登錄端點] 上,使用 HTTP POST ,然後按 [下一步 ] 繼續。
在 [單一註銷端點] 上,選取 [HTTPRedirect],然後按 [下一步] 繼續。
在 [成品端點],按 [下一步] 繼續。
在 [驗證需求] 上,按兩下 [完成]。
移至索引標籤 [信任的提供者>識別同盟] (從畫面底部)。 按一下 [編輯] 。
按兩下 [身分識別同盟] 索引標籤 (底部視窗) 底下的 [新增]。
從彈出視窗中,從 [支援的名稱標識符格式] 中選取 [未指定],然後按兩下 [確定]。
將 [使用者識別碼來源] 值指定為 [判斷提示屬性]、 [使用者識別元對應模式 ] 值作為 [電子郵件 ] 和 [判斷提示屬性名稱 ] 作為
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
。請注意,使用者標識碼來源和使用者標識符對應模式值會決定 SAP 使用者與 Microsoft Entra 宣告之間的連結。
案例:SAP 使用者與 Microsoft Entra 用戶對應。
來自 SAP 的 NameID 詳細資料螢幕快照。
提及 Microsoft Entra 識別碼所需宣告的螢幕快照。
案例:根據在 SU01 中設定的電子郵件地址選取 SAP 使用者識別碼。 在此情況下,應針對每位需要 SSO 的使用者在 su01 中設定電子郵件識別碼。
來自 SAP 的 NameID 詳細資料螢幕快照。
此螢幕快照提及 Microsoft Entra ID 的必要宣告。
按兩下 [ 儲存 ],然後按兩下 [ 啟用 ] 以啟用識別提供者。
出現提示后,按兩下 [ 確定 ]。
建立 SAP NetWeaver 測試使用者
在本節中,您會在 SAP NetWeaver 中建立名為 B.simon 的使用者。 請與內部 SAP 專家小組合作,或與您的組織 SAP 合作夥伴合作,在 SAP NetWeaver 平臺中新增使用者。
測試 SSO
開啟身分識別提供者 Microsoft Entra ID 之後,請嘗試存取下列 URL 以檢查 SSO(不會提示使用者名稱和密碼)
https://<sapurl>/sap/bc/bsp/sap/it00/default.htm
(或) 使用下列 URL
https://<sapurl>/sap/bc/bsp/sap/it00/default.htm
注意
以實際的 SAP 主機名取代 sapurl。
上述 URL 應該會帶您前往以下所述的畫面。 如果您能夠連線到下列頁面,則已成功完成 Microsoft Entra SSO 設定。
如果發生使用者名稱和密碼提示,請使用下列URL啟用追蹤來診斷問題
https://<sapurl>/sap/bc/webdynpro/sap/sec_diag_tool?sap-client=122&sap-language=EN#
設定適用於 OAuth 的 SAP NetWeaver
SAP 記載的程式位於位置: NetWeaver 閘道服務啟用和 OAuth 2.0 範圍建立
移至SPRO並尋找 啟用和維護服務。
在此範例中,我們想要將 OData 服務連線到
DAAG_MNGGRP
OAuth 至 Microsoft Entra SSO。 使用技術服務名稱搜尋服務DAAG_MNGGRP
,如果尚未啟用,請啟用 (在 [ICF 節點] 索引卷標下尋找green
狀態)。 確定系統別名 (連線的後端系統,其中服務實際執行所在的位置)是否正確。- 然後按下頂端按鈕列上的按鈕 OAuth 並指派
scope
(保留預設名稱提供)。
- 然後按下頂端按鈕列上的按鈕 OAuth 並指派
在我們的範例中,範圍是
DAAG_MNGGRP_001
,它會透過自動新增數位,從服務名稱產生。 報表/IWFND/R_OAUTH_SCOPES
可用來變更範圍的名稱或手動建立。注意
訊息
soft state status is not supported
– 可以忽略,因為沒有任何問題。
建立 OAuth 2.0 用戶端的服務使用者
OAuth2 會使用
service ID
來代表使用者取得其存取令牌。 OAuth 設計的重要限制:在OAuth 2.0 Client ID
要求存取令牌時,必須與 OAuth 2.0 用戶端用於登入的相同username
。 因此,在我們的範例中,我們將註冊名稱為 CLIENT1 的 OAuth 2.0 用戶端,而且作為必要條件,具有相同名稱(CLIENT1)的用戶必須存在於 SAP 系統中,且我們將設定為供參考應用程式使用的使用者。註冊 OAuth 用戶端時,我們使用
SAML Bearer Grant type
。注意
如需詳細資訊,請參閱這裡 SAML 持有人授與類型的 OAuth 2.0 客戶端註冊。
tcod:SU01 / 建立使用者CLIENT1作為
System type
並指派密碼,將它儲存為需要提供認證給 API 程式設計人員,他們應該使用使用者名稱將認證燒毀給呼叫端程式代碼。 不應指派任何配置檔或角色。
使用建立精靈註冊新的 OAuth 2.0 用戶端標識碼
若要註冊新的 OAuth 2.0 用戶端 啟動交易 SOAUTH2。 交易會顯示已註冊之 OAuth 2.0 用戶端的概觀。 在此範例中,選擇 [建立 ] 以啟動名為 CLIENT1 的新 OAuth 用戶端精靈。
移至 T-Code: SOAUTH2 並提供描述,然後按 [下一步]。
從下拉式清單中選取已新增 的 SAML2 IdP – Microsoft Entra ID ,然後儲存。
單擊 [範圍指派] 下的 [ 新增 ],以新增先前建立的範圍:
DAAG_MNGGRP_001
按兩下 [完成]。
後續步驟
設定 Microsoft Entra SAP NetWeaver 後,您可以強制執行會話控件,以即時防止組織的敏感數據遭到外泄和滲透。 會話控件會從條件式存取延伸。 瞭解如何使用 適用於雲端的 Microsoft Defender Apps 強制執行會話控件。