教學課程: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 同時支援 SAMLSP 起始的 SSO) 和 OAuth。 在本教學課程中,您會在測試環境中設定及測試 Microsoft Entra SSO。

注意

此應用程式的標識碼是固定字串值,因此一個租使用者中只能設定一個實例。

注意

根據組織需求,在SAML或OAuth中設定應用程式。

若要設定將 SAP NetWeaver 整合到 Microsoft Entra ID 中,您需要從資源庫將 SAP NetWeaver 新增到受控 SaaS 應用程式清單。

  1. 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 流覽至 [身分>識別應用程式>企業應用程式>] [新增應用程式]。
  3. 在 [ 從資源庫 新增] 區段的搜尋方塊中輸入 SAP NetWeaver
  4. 從結果面板中選取 [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,請執行下列步驟:

  1. 設定 Microsoft Entra SSO ,讓用戶能夠使用這項功能。
    1. 建立 Microsoft Entra 測試使用者 ,以使用 B.Simon 測試 Microsoft Entra 單一登錄。
    2. 指派 Microsoft Entra 測試使用者 ,讓 B.Simon 能夠使用 Microsoft Entra 單一登錄。
  2. 使用 SAML 設定 SAP NetWeaver,以在應用程式端設定 SSO 設定。
    1. 建立 SAP NetWeaver 測試使用者 ,使 SAP NetWeaver 中對應的 B.Simon 連結到該使用者在 Microsoft Entra 中的代表專案。
  3. 測試 SSO 以確認組態是否正常運作。
  4. 設定SAP NetWeaver for OAuth 以在應用程式端設定 OAuth 設定。

設定 Microsoft Entra SSO

在本節中,您會啟用 Microsoft Entra 單一登錄。

若要使用 SAP NetWeaver 設定 Microsoft Entra 單一登入,請執行下列步驟:

  1. 開啟新的網頁瀏覽器視窗,並以系統管理員身分登入您的SAP NetWeaver 公司網站

  2. 請確定 HTTP 和 HTTPs 服務為作用中,並在 SMICM T-Code 中指派適當的埠。

  3. 登入 SAP 系統 (T01) 的商務用戶端,其中需要 SSO 並啟用 HTTP 安全性工作階段管理。

    1. 移至交易代碼 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
      

      注意

      根據組織需求調整上述參數,此處僅提供上述參數作為指示。

    2. 如有必要,請在 SAP 系統的實例/預設設定檔中調整參數,然後重新啟動 SAP 系統。

    3. 按兩下相關的客戶端以啟用 HTTP 安全性工作階段。

      The HTTP Security session

    4. 開啟下列 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)
      
  4. 移至 SAP 系統 [T01/122] 商務用戶端中的交易程式碼 SAML2 。 它會在瀏覽器中開啟使用者介面。 在此範例中,我們假設 122 為 SAP 商務用戶端。

    Transaction code

  5. 提供您的使用者名稱和密碼,以在使用者介面中輸入,然後按兩下 [ 編輯]。

    username and password

  6. 將 T01122 的提供者名稱取代為 ,http://T01122然後按兩下 [儲存]。

    注意

    根據預設,提供者名稱的格式為 <sid><client> ,但 Microsoft Entra ID 預期名稱的格式 <protocol>://<name>為 ,建議維護提供者名稱, https://<sid><client> 以允許多個 SAP NetWeaver ABAP 引擎在 Microsoft Entra ID 中設定。

    The multiple SAP NetWeaver ABAP engines

  7. 產生服務提供者元數據:-完成在SAML 2.0使用者介面上設定本機提供者信任提供者設定後,下一個步驟是產生服務提供者的元數據檔案(其中包含SAP中的所有設定、驗證內容和其他組態)。 產生此檔案之後,我們需要在 Microsoft Entra ID 中上傳此檔案。

    Generating Service Provider Metadata

    1. 移至 [ 本機提供者] 索引標籤

    2. 按兩下 [ 元數據]。

    3. 將產生的元數據 XML 檔案儲存在計算機上,並將其上傳至 [基本 SAML 組態] 區段,以自動填入 Azure 入口網站 中的 [標識符] 和 [回復 URL] 值。

請遵循下列步驟來啟用 Microsoft Entra SSO。

  1. 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心

  2. 流覽至 [身分>識別應用程式>企業應用程式>SAP NetWeaver] 應用程式整合頁面,尋找 [管理] 區段並選取 [單一登錄]。

  3. 在 [ 選取單一登錄方法] 頁面上,選取 [SAML]。

  4. 在 [使用 SAML 設定單一登錄] 頁面上,按下基本 SAML 組態鉛筆圖示以編輯設定。

    Edit Basic SAML Configuration

  5. 如果您想要以 IDP 起始模式設定應用程式,請在 [基本 SAML 組態] 區段上執行下列步驟:

    1. 按兩下 [上傳元資料檔案 ] 以上傳 您稍早取得的服務提供者元數據檔案

    2. 按兩下 資料夾標誌 以選取元資料檔案,然後按兩下 [ 上傳]。

    3. 成功上傳元數據檔案之後,[基本 SAML 設定] 區段文本框中會自動填入 [標識符] 和 [回復 URL] 值,如下所示:

    4. 在 [ 登入 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>"
    
  6. SAP NetWeaver 應用程式需要特定格式的 SAML 判斷提示,因此您必須將自定義屬性對應新增至 SAML 令牌屬性組態。 下列螢幕快照顯示預設屬性的清單。 按兩下 [編輯 ] 圖示以開啟 [使用者屬性] 對話框。

    edit attribute

  7. 在 [使用者屬性] 對話方塊的 [使用者宣告] 區段中,設定 SAML 令牌屬性,如上圖所示,然後執行下列步驟:

    1. 按兩下 [編輯] 圖示 以開啟 [ 管理使用者宣告] 對話框。

      edit icon

      image

    2. 從 [轉換] 清單中,選取 [ExtractMailPrefix()]

    3. 從 [ 參數 1] 列表中,選取 user.userprincipalname

    4. 按一下 [檔案] 。

  8. 在 [ 使用 SAML 設定單一登錄] 頁面上的 [SAML 簽署憑證 ] 區段中,尋找 [同盟元數據 XML ],然後選取 [下載 ] 以下載憑證,並將它儲存在您的計算機上。

    The Certificate download link

  9. 在 [ 設定 SAP NetWeaver ] 區段上,根據您的需求複製適當的 URL。

    Copy configuration URLs

建立 Microsoft Entra 測試使用者

在本節中,您將建立名為 B.Simon 的測試使用者。

  1. 以至少使用者 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 瀏覽至 [身分識別]>[使用者]>[所有使用者]。
  3. 選取畫面頂端的 [新增使用者>建立新使用者]。
  4. 在 [ 用戶 屬性] 中,遵循下列步驟:
    1. 在 [ 顯示名稱] 欄位中, 輸入 B.Simon
    2. 在 [ 使用者主體名稱] 欄位中, 輸入 username@companydomain.extension。 例如: B.Simon@contoso.com
    3. 選取 [顯示密碼] 複選框,然後記下 [密碼] 方塊中顯示的值。
    4. 選取 [檢閱 + 建立]。
  5. 選取 建立

指派 Microsoft Entra 測試使用者

在本節中,您會將 SAP NetWeaver 的存取權授與 B.Simon,讓其能夠使用單一登錄。

  1. 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心
  2. 流覽至 [身分>識別應用程式企業應用程式>>SAP NetWeaver]。
  3. 在應用程式的 [概觀] 頁面中,尋找 [ 管理] 區段,然後選取 [ 使用者和群組]。
  4. 選取 [新增使用者],然後在 [新增指派] 對話框中選取 [使用者和群組]。
  5. 在 [ 使用者和群組] 對話框中,從 [使用者] 列表中選取 B.Simon ,然後按兩下畫面底部的 [ 選取 ] 按鈕。 如果您預期將角色指派給使用者,您可以從 [選取角色] 下拉式清單中選取該 角色 。 如果未為此應用程式設定任何角色,您會看到已選取 [預設存取] 角色。
  6. 在 [新增指派] 對話框中,按兩下 [指派] 按鈕。

使用 SAML 設定 SAP NetWeaver

  1. 登入 SAP 系統並移至交易程式代碼 SAML2。 它會使用 SAML 設定畫面開啟新的瀏覽器視窗。

  2. 若要設定受信任識別提供者的端點(Microsoft Entra ID),請移至 [信任的提供者 ] 索引標籤。

    Configure Single Sign-On Trusted Providers

  3. 按下 [新增],然後從操作功能表中選取 [上傳中繼資料檔案]

    Configure Single Sign-On 2

  4. 上傳您已下載的元數據檔案。

    Configure Single Sign-On 3

  5. 在下一個畫面中,輸入別名名稱。 例如,aadsts,然後按 [下一步 ] 繼續。

    Configure Single Sign-On 4

  6. 確定 [摘要演算法] 應該是 SHA-256,而不需要任何變更,並且按 [下一步]

    Configure Single Sign-On 5

  7. [單一登錄端點] 上,使用 HTTP POST ,然後按 [下一步 ] 繼續。

    Configure Single Sign-On 6

  8. 在 [單一註銷端點],選取 [HTTPRedirect],然後按 [下一步] 繼續。

    Configure Single Sign-On 7

  9. 在 [成品端點],按 [下一步] 繼續。

    Configure Single Sign-On 8

  10. 在 [驗證需求],按兩下 [完成]。

    Configure Single Sign-On 9

  11. 移至索引標籤 [信任的提供者>識別同盟] (從畫面底部)。 按一下 [編輯]

    Configure Single Sign-On 10

  12. 按兩下 [身分識別同盟] 索引標籤 (底部視窗) 底下的 [新增]。

    Configure Single Sign-On 11

  13. 從彈出視窗中,從 [支援的名稱標識符格式] 中選取 [未指定],然後按兩下 [確定]。

    Configure Single Sign-On 12

  14. [使用者識別碼來源] 值指定為 [判斷提示屬性]、 [使用者識別元對應模式 ] 值作為 [電子郵件 ] 和 [判斷提示屬性名稱 ] 作為 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

    Configure Single Sign-On

  15. 請注意,使用者標識碼來源和使用者標識符對應模式值會決定 SAP 使用者與 Microsoft Entra 宣告之間的連結。

案例:SAP 使用者與 Microsoft Entra 用戶對應。

  1. 來自 SAP 的 NameID 詳細資料螢幕快照。

    Configure Single Sign-On 13

  2. 提及 Microsoft Entra 識別碼所需宣告的螢幕快照。

    Configure Single Sign-On 14

    案例:根據在 SU01 中設定的電子郵件地址選取 SAP 使用者識別碼。 在此情況下,應針對每位需要 SSO 的使用者在 su01 中設定電子郵件識別碼。

    1. 來自 SAP 的 NameID 詳細資料螢幕快照。

      Configure Single Sign-On 15

    2. 此螢幕快照提及 Microsoft Entra ID 的必要宣告。

    Configure Single Sign-On 16

  3. 按兩下 [ 儲存 ],然後按兩下 [ 啟用 ] 以啟用識別提供者。

    Configure Single Sign-On 17

  4. 出現提示后,按兩下 [ 確定 ]。

    Configure Single Sign-On 18

建立 SAP NetWeaver 測試使用者

在本節中,您會在 SAP NetWeaver 中建立名為 B.simon 的使用者。 請與內部 SAP 專家小組合作,或與您的組織 SAP 合作夥伴合作,在 SAP NetWeaver 平臺中新增使用者。

測試 SSO

  1. 開啟身分識別提供者 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。

  2. 上述 URL 應該會帶您前往以下所述的畫面。 如果您能夠連線到下列頁面,則已成功完成 Microsoft Entra SSO 設定。

    test Single Sign-On

  3. 如果發生使用者名稱和密碼提示,請使用下列URL啟用追蹤來診斷問題

    https://<sapurl>/sap/bc/webdynpro/sap/sec_diag_tool?sap-client=122&sap-language=EN#

設定適用於 OAuth 的 SAP NetWeaver

  1. SAP 記載的程式位於位置: NetWeaver 閘道服務啟用和 OAuth 2.0 範圍建立

  2. 移至SPRO並尋找 啟用和維護服務

    Activate and Maintain services

  3. 在此範例中,我們想要將 OData 服務連線到 DAAG_MNGGRP OAuth 至 Microsoft Entra SSO。 使用技術服務名稱搜尋服務 DAAG_MNGGRP ,如果尚未啟用,請啟用 (在 [ICF 節點] 索引卷標下尋找 green 狀態)。 確定系統別名 (連線的後端系統,其中服務實際執行所在的位置)是否正確。

    OData service

    • 然後按下頂端按鈕列上的按鈕 OAuth 並指派 scope (保留預設名稱提供)。
  4. 在我們的範例中,範圍是 DAAG_MNGGRP_001,它會透過自動新增數位,從服務名稱產生。 報表 /IWFND/R_OAUTH_SCOPES 可用來變更範圍的名稱或手動建立。

    Configure OAuth

    注意

    訊息 soft state status is not supported – 可以忽略,因為沒有任何問題。

建立 OAuth 2.0 用戶端的服務使用者

  1. OAuth2 會使用 service ID 來代表使用者取得其存取令牌。 OAuth 設計的重要限制:在 OAuth 2.0 Client ID 要求存取令牌時,必須與 OAuth 2.0 用戶端用於登入的相同 username 。 因此,在我們的範例中,我們將註冊名稱為 CLIENT1 的 OAuth 2.0 用戶端,而且作為必要條件,具有相同名稱(CLIENT1)的用戶必須存在於 SAP 系統中,且我們將設定為供參考應用程式使用的使用者。

  2. 註冊 OAuth 用戶端時,我們使用 SAML Bearer Grant type

    注意

    如需詳細資訊,請參閱這裡 SAML 持有人授與類型的 OAuth 2.0 客戶端註冊。

  3. tcod:SU01 / 建立使用者CLIENT1作為 System type 並指派密碼,將它儲存為需要提供認證給 API 程式設計人員,他們應該使用使用者名稱將認證燒毀給呼叫端程式代碼。 不應指派任何配置檔或角色。

使用建立精靈註冊新的 OAuth 2.0 用戶端標識碼

  1. 若要註冊新的 OAuth 2.0 用戶端 啟動交易 SOAUTH2。 交易會顯示已註冊之 OAuth 2.0 用戶端的概觀。 在此範例中,選擇 [建立 ] 以啟動名為 CLIENT1 的新 OAuth 用戶端精靈。

  2. 移至 T-Code: SOAUTH2 並提供描述,然後按 [下一步]。

    SOAUTH2

    OAuth 2.0 Client ID

  3. 從下拉式清單中選取已新增 的 SAML2 IdP – Microsoft Entra ID ,然後儲存。

    SAML2 IdP – Microsoft Entra ID 1

    SAML2 IdP – Microsoft Entra ID 2

    SAML2 IdP – Microsoft Entra ID 3

  4. 單擊 [範圍指派] 下的 [ 新增 ],以新增先前建立的範圍: DAAG_MNGGRP_001

    Scope

    scope assignment

  5. 按兩下 [完成]。

後續步驟

設定 Microsoft Entra SAP NetWeaver 後,您可以強制執行會話控件,以即時防止組織的敏感數據遭到外泄和滲透。 會話控件會從條件式存取延伸。 瞭解如何使用 適用於雲端的 Microsoft Defender Apps 強制執行會話控件。