チュートリアル: Microsoft Entra SSO と GitHub Enterprise Server の統合
このチュートリアルでは、GitHub Enterprise Server と Microsoft Entra ID を統合する方法について説明します。 GitHub Enterprise Serverと Microsoft Entra ID を統合すると、次のことができます。
- GitHub Enterprise Server にアクセスできるユーザーを Microsoft Entra ID で制御する。
- ユーザーが自分の Microsoft Entra アカウントを使用して GitHub Enterprise Server に自動的にサインインできるようにする。
- 1 つの場所でアカウントを管理します。
前提条件
開始するには、次が必要です。
- Microsoft Entra サブスクリプション。 サブスクリプションがない場合は、無料アカウントを取得できます。
- 初期化の準備が整っている GitHub Enterpriseサーバー。
- クラウド アプリケーション管理者と共に、アプリケーション管理者も、Microsoft Entra ID でアプリケーションを追加または管理することができます。 詳細については、Azure の組み込みロールに関するページを参照してください。
シナリオの説明
このチュートリアルでは、テスト環境で Microsoft Entra の SSO を構成してテストします。
- GitHub Enterprise サーバーでは、SP と IDP により開始された SSO がサポートされます。
- GitHub Enterprise サーバーでは、Just In Time ユーザー プロビジョニングがサポートされます。
- GitHub Enterprise サーバーでは、自動化ユーザー プロビジョニングがサポートされます。
ギャラリーからの GitHub Enterprise サーバーの追加
Microsoft Entra ID への GitHub Enterprise Server の統合を構成するには、ギャラリーからマネージド SaaS アプリのリストに GitHub Enterprise Server を追加する必要があります。
- クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
- [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[新しいアプリケーション] に移動します。
- [ギャラリーから追加する] セクションで、検索ボックスに「GitHub Enterprise サーバー」と入力します。
- 結果のパネルから [GitHub Enterprise サーバー] を選択し、アプリを追加します。 お使いのテナントにアプリが追加されるのを数秒待機します。
または、Enterprise App Configuration ウィザードを使用することもできます。 このウィザードでは、SSO の構成に加えて、テナントへのアプリケーションの追加、アプリへのユーザーとグループの追加、ロールの割り当てを行うことができます。 Microsoft 365 ウィザードの詳細をご覧ください。
GitHub Enterprise Server の Microsoft Entra SSO の構成とテスト
B.Simon というテスト ユーザーを使って、GitHub Enterprise Server に対する Microsoft Entra SSO を構成してテストします。 SSO が機能するには、Microsoft Entra ユーザーと GitHub Enterprise Server の関連ユーザーとの間にリンク関係を確立する必要があります。
GitHub Enterprise Server に対する Microsoft Entra SSO を構成してテストするには、次の手順を実行します。
- Microsoft Entra SSO を構成する - ユーザーがこの機能を使用できるようにします。
- Microsoft Entra のテスト ユーザーの作成 - B.Simon を使用して Microsoft Entra シングル サインオンをテストします。
- Microsoft Entra テスト ユーザーを割り当てる - B.Simon が Microsoft Entra シングル サインオンを使用できるようにします。
- GitHub Enterprise サーバーの SSO の構成 - アプリケーション側でシングル サインオン設定を構成します。
- GitHub Enterprise Server テスト ユーザーを作成する - GitHub Enterprise Server で B.Simon に対応するユーザーを作成し、Microsoft Entra のこのユーザーにリンクさせます。
- SSO のテスト - 構成が機能するかどうかを確認します。
Microsoft Entra SSO の構成
次の手順に従って Microsoft Entra SSO を有効にします。
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
[ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[GitHub Enterprise Server]>[シングル サインオン] に移動します。
[シングル サインオン方式の選択] ページで、 [SAML] を選択します。
[SAML によるシングル サインオンのセットアップ] ページで、 [基本的な SAML 構成] の鉛筆アイコンをクリックして設定を編集します。
[基本的な SAML 構成] セクションで、アプリケーションを IDP 開始モードで構成する場合は、次の手順を実行します。
a. [識別子 (エンティティ ID)] ボックスに、次のパターンを使用して URL を入力します。
https://<YOUR-GITHUB-ENTERPRISE-SERVER-HOSTNAME>
b. [応答 URL] ボックスに、
https://<YOUR-GITHUB-ENTERPRISE-SERVER-HOSTNAME>/saml/consume
のパターンを使用して URL を入力しますアプリケーションを SP 開始モードで構成する場合は、 [追加の URL を設定します] をクリックして次の手順を実行します。
[サインオン URL] ボックスに、次のパターンを使用して URL を入力します。
https://<YOUR-GITHUB-ENTERPRISE-SERVER-HOSTNAME>/sso
注意
これらは実際の値ではありません。 これらの値は、実際の識別子、応答 URL、サインオン URL で更新してください。 これらの値を取得するには、GitHub Enterprise サーバー クライアント サポート チームにお問い合わせください。 [基本的な SAML 構成] セクションに示されているパターンを参照することもできます。
GitHub Enterprise サーバー アプリケーションでは、特定の形式の SAML アサーションを使用するため、カスタム属性マッピングを SAML トークン属性の構成に追加する必要があります。 次のスクリーンショットには、既定の属性一覧が示されています。
[ユーザー属性と要求] を編集します。
[Add new claim](新しいクレームの追加) をクリックし、名前として「administrator」をテキスト ボックスに入力します (administrator の値は大文字と小文字が区別されます)。
[要求条件] を展開し、 [ユーザーの種類] から [メンバー] を選択します。
[グループの選択] をクリックし、この要求を含めるグループを検索します。そのメンバーは、GHES の管理者である必要があります。
[ソース] に [属性] を選択し、 [値] に引用符なしで「true」と入力します。
[保存] をクリックします。
Note
要求を追加する手順については、リンクに従ってください。
[SAML でシングル サインオンをセットアップします] ページの [SAML 署名証明書] セクションで、 [証明書 (Base64)] を見つけて、 [ダウンロード] を選択し、証明書をダウンロードして、お使いのコンピューターに保存します。
[GitHub Enterprise サーバーのセットアップ] セクションで、要件に基づいて適切な URL をコピーします。
Microsoft Entra テスト ユーザーを作成する
このセクションでは、B.Simon というテスト ユーザーを作成します。
- Microsoft Entra 管理センターにユーザー管理者以上でサインインしてください。
- [ID]>[ユーザー]>[すべてのユーザー] の順に移動します。
- 画面の上部で [新しいユーザー]>[新しいユーザーの作成] を選択します。
- [ユーザー] プロパティで、以下の手順を実行します。
- "表示名" フィールドに「
B.Simon
」と入力します。 - [ユーザー プリンシパル名] フィールドに「username@companydomain.extension」と入力します。 たとえば、「
B.Simon@contoso.com
」のように入力します。 - [パスワードを表示] チェック ボックスをオンにし、 [パスワード] ボックスに表示された値を書き留めます。
- [Review + create](レビュー + 作成) を選択します。
- "表示名" フィールドに「
- [作成] を選択します。
Microsoft Entra テスト ユーザーを割り当てる
このセクションでは、GitHub Enterprise Server へのアクセスを許可することで、B.Simon がシングル サインオンを使用できるようにします。
- クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
- [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[GitHub Enterprise Server] に移動します。
- アプリの概要ページで、[ユーザーとグループ] を選択します。
- [ユーザーまたはグループの追加] を選択し、 [割り当ての追加] ダイアログで [ユーザーとグループ] を選択します。
- [ユーザーとグループ] ダイアログの [ユーザー] の一覧から [B.Simon] を選択し、画面の下部にある [選択] ボタンをクリックします。
- ユーザーにロールが割り当てられることが想定される場合は、 [ロールの選択] ドロップダウンからそれを選択できます。 このアプリに対してロールが設定されていない場合は、[既定のアクセス] ロールが選択されていることを確認します。
- [割り当ての追加] ダイアログで、 [割り当て] をクリックします。
GitHub Enterprise サーバーの SSO を構成する
GitHub Enterprise サーバー側で SSO を構成するには、こちらに記載された手順に従う必要があります。
GitHub Enterprise サーバーのテスト ユーザーの作成
このセクションでは、GitHub Enterprise サーバーに B.Simon というユーザーを作成します。 GitHub Enterprise サーバーでは、Just-In-Time ユーザー プロビジョニングがサポートされており、既定で有効になっています。 このセクションでは、ユーザー側で必要な操作はありません。 GitHub Enterprise サーバーにユーザーがまだ存在していない場合は、認証後に新しく作成されます。
GitHub Enterprise サーバーは、自動ユーザー プロビジョニングもサポートしています。自動ユーザー プロビジョニングの構成方法の詳細については、こちらを参照してください。
SSO のテスト
このセクションでは、次のオプションを使用して Microsoft Entra のシングル サインオン構成をテストします。
SP Initiated:
[このアプリケーションをテストする] をクリックします。これにより、ログイン フローを開始できる GitHub Enterprise Server のサインオン URL にリダイレクトされます。
GitHub Enterprise サーバーのサインオン URL に直接移動し、そこからログイン フローを開始します。
IDP Initiated:
- [このアプリケーションをテストする] をクリックすると、SSO を設定した GitHub Enterprise Server に自動的にサインインされるはずです。
また、Microsoft マイ アプリを使用して、任意のモードでアプリケーションをテストすることもできます。 マイ アプリで [GitHub Enterprise サーバー] タイルをクリックすると、SP モードで構成されている場合は、ログイン フローを開始するためのアプリケーション サインオン ページにリダイレクトされます。IDP モードで構成されている場合は、SSO を設定した GitHub Enterprise サーバー に自動的にサインインされます。 詳細については、「Microsoft Entra のマイ アプリ」を参照してください。
次のステップ
GitHub Enterprise サーバーを構成したら、組織の機密データを流出と侵入からリアルタイムで保護するセッション制御を適用できます。 セッション制御は、条件付きアクセスを拡張したものです。 Microsoft Defender for Cloud Apps でセッション制御を強制する方法をご覧ください。