在本文中,您將瞭解如何整合 SonarQube 與 Microsoft Entra ID。 在整合 SonarQube 與 Microsoft Entra ID 時,您可以:
- 在 Microsoft Entra ID 中控制可存取 SonarQube 的人員。
- 讓使用者以其 Microsoft Entra 帳戶自動登入 SonarQube。
- 在一個集中式位置管理您的帳戶。
必要條件
本文中所述的案例假設您已經具備下列必要條件:
- 具有有效訂閱的 Microsoft Entra 用戶帳戶。 若尚未有帳戶,可以免費建立帳戶。
- 下列其中一個角色:
- 已啟用 SonarQube 單一登入 (SSO) 功能的訂用帳戶。
- 正確設定 SonarQube「SAML 群組屬性」以使用 AzureAD 群組用於權限的步驟(詳情如下)。
注意
如需安裝 SonarQube 的說明,請參閱線上文件。
案例描述
在本文中,您會在測試環境中設定與測試 Microsoft Entra SSO。
- SonarQube 支援由 SP 起始的 SSO。
注意
此應用程式的識別碼是固定的字串值,因此一個租用戶中只能設定一個執行個體。
從畫廊新增 SonarQube
若要設定將 SonarQube 整合至 Microsoft Entra ID 中,您需要將 SonarQube 從資源庫新增至受控 SaaS 應用程式清單。
- 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
- 請流覽至 Entra ID>企業應用程式>新增應用程式。
- 在 [從資源庫新增] 區段的搜尋方塊中,輸入 SonarQube。
- 從結果面板中選取 [SonarQube],然後新增應用程式。 將應用程式新增至您的租用戶時,請稍候幾秒鐘。
或者,您也可以使用企業應用程式組態精靈。 在此精靈中,您可以將應用程式新增至租用戶、將使用者/群組新增至應用程式、指派角色,以及逐步進行 SSO 設定。 深入了解 Microsoft 365 精靈。
設定及測試適用於 SonarQube 的 Microsoft Entra SSO
以名為 B.Simon 的測試使用者,設定及測試與 SonarQube 搭配運作的 Microsoft Entra SSO。 若要讓 SSO 能夠運作,您必須建立 Microsoft Entra 使用者與 SonarQube 中相關使用者之間的連結關聯性。
若要設定及測試與 SonarQube 搭配運作的 Microsoft Entra SSO,請執行下列步驟:
-
設定 Microsoft Entra SSO - 讓使用者能夠使用此功能。
- 建立 Microsoft Entra 測試使用者 - 以使用 B.Simon 測試 Microsoft Entra 單一登入。
- 指派 Microsoft Entra 測試使用者 - 讓 B.Simon 使用 Microsoft Entra 單一登入。
-
設定 SonarQube SSO - 在應用程式端設定單一登入設定。
- 建立 SonarQube 測試使用者,以便在 SonarQube 中創建 B.Simon 的對應帳戶,並將其與 Microsoft Entra 中的使用者表示連接。
- ** 設定 SonarQube 的 SAML 群組屬性 - 讓 B.Simon 能夠使用 Microsoft Entra 單一登錄。
- 測試 SSO - 確認組態是否正常運作。
設定 Microsoft Entra SSO
遵循下列步驟來啟用 Microsoft Entra SSO。
以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
流覽至 Entra ID>企業應用程式>SonarQube>單一登入。
在 [選取單一登入方法] 頁面上,選取 [SAML]。
在 [以 SAML 設定單一登入] 頁面上,選取 [基本 SAML 組態] 的鉛筆圖示,以編輯設定。
在 [基本 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 來更新值。
在 [使用 SAML 設定單一登入] 頁面上的 [SAML 簽署憑證] 區段中,尋找 [憑證 (Base64)],然後選取 [下載] 以下載憑證並儲存在電腦上。
在 [ 設定 SonarQube ] 區段上,根據您的需求複製適當的 URL。
建立並指派Microsoft Entra 測試使用者
請遵循 建立並指派用戶帳戶 快速入門中的指導方針,以建立名為 B.Simon 的測試用戶帳戶。
設定 SonarQube SSO
開啟新的網頁瀏覽器視窗,並以管理員身分登入您的 SonarQube 公司網站。
選取 [系統管理 > 設定 > 安全性 ],然後移至 [SAML 外掛程式 ] 執行下列步驟。
複製 IdP 中繼資料中的下列詳細資料,並將其貼到 SonarQube 外掛程式的對應文字欄位中。
- IdP 實體識別碼
- 登入網址
- X.509 憑證
儲存所有詳細資料。
在 [SAML] 頁面上,執行下列步驟:
一。 將 [啟用] 選項切換為 [是]。
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 中的許可權,請遵循下列步驟:
- 在 SonarQube 的 [系統管理] 索引標籤中,流覽至 [設定 > 安全性 > Saml/]
- 在 [SAML 群組屬性] 文本框中,輸入下列值:'http://schemas.microsoft.com/ws/2008/06/identity/claims/role'
- 儲存變更
- 前往 SonarQube 中的「系統管理」>「安全性群組」>
- 將 AzureAD 群組對應至 SonarQube 群組:
- 針對每個 AzureAD 群組,如果 SonarQube 不存在,請在 SonarQube 中建立對應的群組。
- 請確定群組的名稱完全符合 AzureAD 和 SonarQube。
建立 SonarQube 測試使用者
在本節中,您會在 SonarQube 中建立名為 B.Simon 的使用者。 請與 SonarQube 用戶端支援小組合作,在 SonarQube 平台中新增使用者。 您必須先建立和啟動使用者,然後才能使用單一登入。
測試 SSO
在本節中,您會使用下列選項來測試您的 Microsoft Entra 單一登入設定。
選取 [測試此應用程式],此選項會重新導向至您可以在其中起始登入流程的 SonarQube 登入 URL。
直接移至 SonarQube 登入 URL,然後從該處起始登入流程。
您可以使用 Microsoft 我的應用程式。 當您在 [我的應用程式] 中選取 SonarQube 圖格時,此選項會重新導向至 SonarQube 登入 URL。 如需「我的應用程式」的詳細資訊,請參閱我的應用程式簡介。
相關內容
- 設定 SonarQube 後,您可以強制執行工作階段控制項,以即時防止組織的敏感資料遭到外洩和滲透。 工作階段控制項擴展自條件式存取。 了解如何利用 Microsoft Defender for Cloud Apps 實施工作階段控制。