分享方式:


使用 Microsoft Entra ID 設定 SonarQube 進行單一登錄

在本文中,您將瞭解如何整合 SonarQube 與 Microsoft Entra ID。 在整合 SonarQube 與 Microsoft Entra ID 時,您可以:

  • 在 Microsoft Entra ID 中控制可存取 SonarQube 的人員。
  • 讓使用者以其 Microsoft Entra 帳戶自動登入 SonarQube。
  • 在一個集中式位置管理您的帳戶。

必要條件

本文中所述的案例假設您已經具備下列必要條件:

  • 已啟用 SonarQube 單一登入 (SSO) 功能的訂用帳戶。
  • 正確設定 SonarQube「SAML 群組屬性」以使用 AzureAD 群組用於權限的步驟(詳情如下)。

注意

如需安裝 SonarQube 的說明,請參閱線上文件

案例描述

在本文中,您會在測試環境中設定與測試 Microsoft Entra SSO。

  • SonarQube 支援由 SP 起始的 SSO。

注意

此應用程式的識別碼是固定的字串值,因此一個租用戶中只能設定一個執行個體。

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

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心
  2. 請流覽至 Entra ID>企業應用程式>新增應用程式
  3. 在 [從資源庫新增] 區段的搜尋方塊中,輸入 SonarQube
  4. 從結果面板中選取 [SonarQube],然後新增應用程式。 將應用程式新增至您的租用戶時,請稍候幾秒鐘。

或者,您也可以使用企業應用程式組態精靈。 在此精靈中,您可以將應用程式新增至租用戶、將使用者/群組新增至應用程式、指派角色,以及逐步進行 SSO 設定。 深入了解 Microsoft 365 精靈。

設定及測試適用於 SonarQube 的 Microsoft Entra SSO

以名為 B.Simon 的測試使用者,設定及測試與 SonarQube 搭配運作的 Microsoft Entra SSO。 若要讓 SSO 能夠運作,您必須建立 Microsoft Entra 使用者與 SonarQube 中相關使用者之間的連結關聯性。

若要設定及測試與 SonarQube 搭配運作的 Microsoft Entra SSO,請執行下列步驟:

  1. 設定 Microsoft Entra SSO - 讓使用者能夠使用此功能。
    1. 建立 Microsoft Entra 測試使用者 - 以使用 B.Simon 測試 Microsoft Entra 單一登入。
    2. 指派 Microsoft Entra 測試使用者 - 讓 B.Simon 使用 Microsoft Entra 單一登入。
  2. 設定 SonarQube SSO - 在應用程式端設定單一登入設定。
    1. 建立 SonarQube 測試使用者,以便在 SonarQube 中創建 B.Simon 的對應帳戶,並將其與 Microsoft Entra 中的使用者表示連接。
    2. ** 設定 SonarQube 的 SAML 群組屬性 - 讓 B.Simon 能夠使用 Microsoft Entra 單一登錄。
  3. 測試 SSO - 確認組態是否正常運作。

設定 Microsoft Entra SSO

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

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

  2. 流覽至 Entra ID>企業應用程式>SonarQube>單一登入

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

  4. 在 [以 SAML 設定單一登入] 頁面上,選取 [基本 SAML 組態] 的鉛筆圖示,以編輯設定。

    編輯基本 SAML 組態

  5. 在 [基本 SAML 組態] 區段上,執行下列步驟:

    一。 在 [回覆 URL] 文字方塊中,使用下列模式來輸入 URL: https://sonar.<companyspecificurl>.io/oauth2/callback/saml

    b。 在 [登入 URL] 文字方塊中,輸入下列其中一個 URL:

    • 針對實際執行環境

      https://servicessonar.corp.microsoft.com/

    • 針對開發環境

      https://servicescode-dev.westus.cloudapp.azure.com

    注意

    此值不是真實的。 使用本文稍後說明的實際回復 URL 來更新值。

  6. 在 [使用 SAML 設定單一登入] 頁面上的 [SAML 簽署憑證] 區段中,尋找 [憑證 (Base64)],然後選取 [下載] 以下載憑證並儲存在電腦上。

    憑證下載連結

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

    複製組態 URL

建立並指派Microsoft Entra 測試使用者

請遵循 建立並指派用戶帳戶 快速入門中的指導方針,以建立名為 B.Simon 的測試用戶帳戶。

設定 SonarQube SSO

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

  2. 選取 [系統管理 > 設定 > 安全性 ],然後移至 [SAML 外掛程式 ] 執行下列步驟。

  3. 複製 IdP 中繼資料中的下列詳細資料,並將其貼到 SonarQube 外掛程式的對應文字欄位中。

    1. IdP 實體識別碼
    2. 登入網址
    3. X.509 憑證
  4. 儲存所有詳細資料。

    SAML 外掛程式 IDP

  5. 在 [SAML] 頁面上,執行下列步驟:

    Sonarqube 設定

    一。 將 [啟用] 選項切換為 [是]

    b。 在 [應用程式識別碼] 文字方塊中輸入名稱,例如 sonarqube

    丙. 在 [提供者名稱] 文字方塊中輸入名稱,例如 SAML

    d。 在 [提供者識別碼] 文字方塊中,貼上 Microsoft Entra 識別碼的值。

    e。 在 [SAML 登入 URL] 文字方塊中,貼上 [登入 URL] 的值。

    f。 在記事本中開啟Base 64編碼的憑證,複製其內容,並將其貼到 [提供者憑證 ] 文本框中。

    g。 在 [SAML 使用者登入屬性] 文字方塊中,輸入 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name 值。

    h。 在 [SAML 使用者名稱屬性] 文字方塊中,輸入 http://schemas.microsoft.com/identity/claims/displayname 值。

    一、 在 [SAML 使用者電子郵件屬性] 文字方塊中,輸入 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress 值。

    j. 選取儲存

設定 SonarQube 的 SAML 群組屬性

若要設定 SAML 群組屬性並使用 AzureAD 群組來取得 SonarQube 中的許可權,請遵循下列步驟:

  1. 在 SonarQube 的 [系統管理] 索引標籤中,流覽至 [設定 > 安全性 > Saml/]
  2. 在 [SAML 群組屬性] 文本框中,輸入下列值:'http://schemas.microsoft.com/ws/2008/06/identity/claims/role'
  3. 儲存變更
  4. 前往 SonarQube 中的「系統管理」>「安全性群組」>
  5. 將 AzureAD 群組對應至 SonarQube 群組:
    • 針對每個 AzureAD 群組,如果 SonarQube 不存在,請在 SonarQube 中建立對應的群組。
    • 請確定群組的名稱完全符合 AzureAD 和 SonarQube。

建立 SonarQube 測試使用者

在本節中,您會在 SonarQube 中建立名為 B.Simon 的使用者。 請與 SonarQube 用戶端支援小組合作,在 SonarQube 平台中新增使用者。 您必須先建立和啟動使用者,然後才能使用單一登入。

測試 SSO

在本節中,您會使用下列選項來測試您的 Microsoft Entra 單一登入設定。

  • 選取 [測試此應用程式],此選項會重新導向至您可以在其中起始登入流程的 SonarQube 登入 URL。

  • 直接移至 SonarQube 登入 URL,然後從該處起始登入流程。

  • 您可以使用 Microsoft 我的應用程式。 當您在 [我的應用程式] 中選取 SonarQube 圖格時,此選項會重新導向至 SonarQube 登入 URL。 如需「我的應用程式」的詳細資訊,請參閱我的應用程式簡介