チュートリアル: Microsoft Entra SSO と SonarQube の統合
このチュートリアルでは、SonarQube を Microsoft Entra ID と統合する方法について説明します。 SonarQube を Microsoft Entra ID を統合すると、次のことができます。
- SonarQube にアクセスできるユーザーを Microsoft Entra ID で制御する。
- ユーザーが自分の Microsoft Entra アカウントを使って SonarQube に自動的にサインインできるようにする。
- 1 つの場所でアカウントを管理します。
前提条件
開始するには、次が必要です。
- Microsoft Entra サブスクリプション。 サブスクリプションがない場合は、無料アカウントを取得できます。
- SonarQube でのシングル サインオン (SSO) が有効なサブスクリプション。
注意
SonarQube のインストールに関するヘルプは、オンライン ドキュメントで確認できます。
シナリオの説明
このチュートリアルでは、テスト環境で Microsoft Entra の SSO を構成してテストします。
- SonarQube では、SP Initiated SSO がサポートされます。
注意
このアプリケーションの識別子は固定文字列値であるため、1 つのテナントで構成できるインスタンスは 1 つだけです。
ギャラリーからの SonarQube の追加
Microsoft Entra ID への SonarQube の統合を構成するには、ギャラリーから管理対象 SaaS アプリの一覧に SonarQube を追加する必要があります。
- クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
- [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[新しいアプリケーション] に移動します。
- [ギャラリーから追加する] セクションで、検索ボックスに「SonarQube」と入力します。
- 結果のパネルから [SonarQube] を選択し、アプリを追加します。 お使いのテナントにアプリが追加されるのを数秒待機します。
または、Enterprise App Configuration ウィザードを使用することもできます。 このウィザードでは、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 のこのユーザーにリンクさせます。
- SSO のテスト - 構成が機能するかどうかを確認します。
Microsoft Entra SSO の構成
次の手順に従って Microsoft Entra SSO を有効にします。
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
[ID]、[アプリケーション]、[エンタープライズ アプリケーション]、[SonarQube]、[シングル サインオン] の順に移動します。
[シングル サインオン方式の選択] ページで、 [SAML] を選択します。
[SAML によるシングル サインオンのセットアップ] ページで、 [基本的な SAML 構成] の鉛筆アイコンをクリックして設定を編集します。
[基本的な SAML 構成] セクションで、次の手順を実行します。
a. [応答 URL] ボックスに、
https://sonar.<companyspecificurl>.io/oauth2/callback/saml
のパターンを使用して URL を入力します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 というテスト ユーザーを作成します。
- Microsoft Entra 管理センターにユーザー管理者以上でサインインしてください。
- [ID]>[ユーザー]>[すべてのユーザー] の順に移動します。
- 画面の上部で [新しいユーザー]>[新しいユーザーの作成] を選択します。
- [ユーザー] プロパティで、以下の手順を実行します。
- "表示名" フィールドに「
B.Simon
」と入力します。 - [ユーザー プリンシパル名] フィールドに「username@companydomain.extension」と入力します。 たとえば、「
B.Simon@contoso.com
」のように入力します。 - [パスワードを表示] チェック ボックスをオンにし、 [パスワード] ボックスに表示された値を書き留めます。
- [Review + create](レビュー + 作成) を選択します。
- "表示名" フィールドに「
- [作成] を選択します。
Microsoft Entra テスト ユーザーを割り当てる
このセクションでは、B.Simon に SonarQube へのアクセスを許可することで、このユーザーがシングル サインオンを使用できるようにします。
- クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
- [ID]、[アプリケーション]、[エンタープライズ アプリケーション]、[SonarQube] を参照します。
- アプリの概要ページで、[ユーザーとグループ] を選択します。
- [ユーザーまたはグループの追加] を選択し、 [割り当ての追加] ダイアログで [ユーザーとグループ] を選択します。
- [ユーザーとグループ] ダイアログの [ユーザー] の一覧から [B.Simon] を選択し、画面の下部にある [選択] ボタンをクリックします。
- ユーザーにロールが割り当てられることが想定される場合は、 [ロールの選択] ドロップダウンからそれを選択できます。 このアプリに対してロールが設定されていない場合は、[既定のアクセス] ロールが選択されていることを確認します。
- [割り当ての追加] ダイアログで、 [割り当て] をクリックします。
SonarQube の SSO 構成
新しい Web ブラウザー ウィンドウを開き、SonarQube 企業サイトに管理者としてサインインします。
[Administration](管理) > [Configuration](構成) > [Security](セキュリティ) の順にクリックして [SAML Plugin](SAML プラグイン) に移動し、次の手順を実行します。
次の IdP メタデータの詳細をコピーし、SonarQube プラグインの対応するテキスト フィールドに貼り付けます。
- IdP エンティティ ID
- ログイン URL
- X.509 証明書
すべての詳細を保存します。
[SAML] ページで、次の手順を実行します。
a. [Enabled](有効化) オプションを [yes](はい) に切り替えます。
b. [Application ID](アプリケーション ID) ボックスに、sonarqube のような名前を入力します。
c. [Provider Name](プロバイダー名) ボックスに、SAML のような名前を入力します。
d. [Provider ID] (プロバイダー ID) テキスト ボックスに、Microsoft Entra 識別子の値を貼り付けます。
e. [SAML ログイン URL] テキスト ボックスに [ログイン URL] の値を貼り付けます。
f. Base64 でエンコードされた証明書をメモ帳で開き、その内容をコピーして [Provider certificate](プロバイダー証明書) ボックスに貼り付けます。
g. [SAML user login attribute](SAML ユーザー ログイン属性) ボックスに、値「
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
」を入力します。h. [SAML user name attribute](SAML ユーザー名属性) ボックスに、値「
http://schemas.microsoft.com/identity/claims/displayname
」を入力します。i. [SAML user email attribute](SAML ユーザー メール属性) ボックスに、値「
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
」を入力します。j. [保存] をクリックします。
SonarQube テスト ユーザーの作成
このセクションでは、SonarQube で B.Simon というユーザーを作成します。 SonarQube クライアント サポート チームと連携して、SonarQube プラットフォームにユーザーを追加してください。 シングル サインオンを使用する前に、ユーザーを作成し、有効化する必要があります。
SSO のテスト
このセクションでは、次のオプションを使用して Microsoft Entra のシングル サインオン構成をテストします。
[このアプリケーションをテストします] をクリックすると、ログイン フローを開始できる SonarQube のサインオン URL にリダイレクトされます。
SonarQube のサインオン URL に直接移動し、そこからログイン フローを開始します。
Microsoft マイ アプリを使用することができます。 マイ アプリで [SonarQube] タイルをクリックすると、SonarQube のサインオン URL にリダイレクトされます。 マイ アプリの詳細については、マイ アプリの概要に関するページを参照してください。
次のステップ
- SonarQube を構成したら、組織の機密データを流出と侵入からリアルタイムで保護するセッション制御を適用できます。 セッション制御は、条件付きアクセスを拡張したものです。 Microsoft Defender for Cloud Apps でセッション制御を強制する方法をご覧ください。