チュートリアル: Microsoft Entra SSO と GitHub Enterprise Cloud Organization の統合

このチュートリアルでは、GitHub Enterprise Cloud Organization を Microsoft Entra ID と統合する方法について説明します。 GitHub Enterprise Cloud Organization を Microsoft Entra ID と統合すると、次のことができます。

  • GitHub Enterprise Cloud Organization にアクセスできるユーザーを Microsoft Entra ID で制御する。
  • GitHub Enterprise Cloud Organization へのアクセスを 1 つの中央の場所で管理します。

前提条件

開始するには、次が必要です。

シナリオの説明

このチュートリアルでは、テスト環境で Microsoft Entra シングル サインオンを構成してテストします。

Microsoft Entra ID への GitHub の統合を構成するには、ギャラリーから管理対象 SaaS アプリの一覧に GitHub を追加する必要があります。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[新しいアプリケーション] に移動します。
  3. [ギャラリーから追加する] セクションで、検索ボックスに「GitHub」と入力します。
  4. 結果のパネルから [GitHub Enterprise Cloud - Organization] を選択し、アプリを追加します。 お使いのテナントにアプリが追加されるのを数秒待機します。

または、Enterprise App Configuration ウィザードを使用することもできます。 このウィザードでは、SSO の構成に加えて、テナントへのアプリケーションの追加、アプリへのユーザーとグループの追加、ロールの割り当てを行うことができます。 Microsoft 365 ウィザードの詳細をご覧ください。

GitHub 用に Microsoft Entra SSO を構成してテストする

B.Simon というテスト ユーザーを使って、GitHub に対する Microsoft Entra SSO を構成してテストします。 SSO が機能するには、Microsoft Entra ユーザーと GitHub の関連ユーザーの間にリンク関係を確立する必要があります。

GitHub に対して Microsoft Entra SSO を構成してテストするには、次の手順を実行します。

  1. Microsoft Entra SSO を構成する - ユーザーがこの機能を使用できるようにします。
    1. Microsoft Entra のテスト ユーザーの作成 - B.Simon を使用して Microsoft Entra シングル サインオンをテストします。
    2. Microsoft Entra テスト ユーザーを割り当てる - B.Simon が Microsoft Entra シングル サインオンを使用できるようにします。
  2. GitHub の SSO の構成 - アプリケーション側でシングル サインオン設定を構成します。
    1. GitHub テスト ユーザーを作成する - GitHub で B.Simon に対応するユーザーを作成し、Microsoft Entra のこのユーザーにリンクさせます。
  3. SSO のテスト - 構成が機能するかどうかを確認します。

Microsoft Entra SSO の構成

次の手順に従って Microsoft Entra SSO を有効にします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[GitHub]>[シングル サインオン] に移動します。

  3. [シングル サインオン方式の選択] ページで、 [SAML] を選択します。

  4. [SAML によるシングル サインオンのセットアップ] ページで、 [基本的な SAML 構成] の鉛筆アイコンをクリックして設定を編集します。

    Edit Basic SAML Configuration

  5. [基本的な SAML 構成] セクションで、次のフィールドの値を入力します。

    a. [識別子 (エンティティ ID)] ボックスに、次のパターンを使用して URL を入力します。https://github.com/orgs/<Organization ID>

    b. [応答 URL] ボックスに、https://github.com/orgs/<Organization ID>/saml/consume のパターンを使用して URL を入力します

    c. [サインオン URL] ボックスに、次のパターンを使用して URL を入力します。https://github.com/orgs/<Organization ID>/sso

    注意

    これは実際の値ではないので注意してください。 実際の識別子、応答 URL、サインオン URL にこれらの値を置き換える必要があります。 ここでは、識別子に一意の文字列値を使用することをお勧めします。 これらの値を取得するには、GitHub 管理者セクションに移動します。

  6. GitHub アプリケーションでは、特定の形式の SAML アサーションを使用するため、カスタム属性マッピングを SAML トークン属性の構成に追加する必要があります。 次のスクリーンショットは、既定の属性の一覧を示しています。ここで、 [Unique User Identifier (Name ID)](一意のユーザー ID (名前 ID))user.userprincipalname にマップされています。 GitHub アプリケーションでは、 [Unique User Identifier (Name ID)](一意のユーザー ID (名前 ID))user.mail にマップされると想定されているため、 [編集] アイコンをクリックして属性マッピングを編集し、属性マッピングを変更する必要があります。

    Screenshot that shows the

  7. [SAML でシングル サインオンをセットアップします] ページの [SAML 署名証明書] セクションで、 [ダウンロード] をクリックして要件のとおりに指定したオプションからの証明書 (Base64) をダウンロードして、お使いのコンピューターに保存します。

    The Certificate download link

  8. [GitHub のセットアップ] セクションで、要件どおりの適切な URL をコピーします。

    Copy configuration URLs

Microsoft Entra テスト ユーザーを作成する

このセクションでは、B.Simon というテスト ユーザーを作成します。

  1. Microsoft Entra 管理センターユーザー管理者以上でサインインしてください。
  2. [ID]>[ユーザー]>[すべてのユーザー] の順に移動します。
  3. 画面の上部で [新しいユーザー]>[新しいユーザーの作成] を選択します。
  4. [ユーザー] プロパティで、以下の手順を実行します。
    1. "表示名" フィールドに「B.Simon」と入力します。
    2. [ユーザー プリンシパル名] フィールドに「username@companydomain.extension」と入力します。 たとえば、「 B.Simon@contoso.com 」のように入力します。
    3. [パスワードを表示] チェック ボックスをオンにし、 [パスワード] ボックスに表示された値を書き留めます。
    4. [Review + create](レビュー + 作成) を選択します。
  5. [作成] を選択します。

Microsoft Entra テスト ユーザーを割り当てる

このセクションでは、GitHub へのアクセスを許可することで B.Simon がシングル サインオンを使用できるようにします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[GitHub] に移動します。

  3. アプリの概要ページで、 [管理] セクションを見つけて、 [ユーザーとグループ] を選択します。

  4. [ユーザーの追加] を選択し、 [割り当ての追加] ダイアログで [ユーザーとグループ] を選択します。

  5. [ユーザーとグループ] ダイアログの [ユーザー] の一覧から [B.Simon] を選択し、画面の下部にある [選択] ボタンをクリックします。

  6. ユーザーにロールが割り当てられることが想定される場合は、 [ロールの選択] ドロップダウンからそれを選択できます。 このアプリに対してロールが設定されていない場合は、[既定のアクセス] ロールが選択されていることを確認します。

    user role

  7. [割り当ての追加] ダイアログで、 [割り当て] をクリックします。

GitHub の SSO の構成

  1. 別の Web ブラウザー ウィンドウで、GitHub 組織サイトに管理者としてサインインします。

  2. [Settings](設定) に移動し、 [Security](セキュリティ) をクリックします。

    Screenshot that shows the GitHub

  3. [Enable SAML authentication](SAML 認証を有効にする) チェック ボックスをオンにしてシングル サインオンの構成フィールドを表示し、次の手順を実行します。

    Screenshot that shows the

    a. シングル サインオン URL の値をコピーして、この値を [基本的な SAML 構成][サインオン URL] テキスト ボックスに貼り付けます。

    b. Assertion Consumer Service URL の値をコピーして、この値を [基本的な SAML 構成][Reply URL] テキスト ボックスに貼り付けます。

  4. 次のフィールドを構成します。

    Screenshot that shows the

    a. [サインオン URL] テキストボックスに、前にコピーしたログイン URL の値を貼り付けます。

    b. [発行者] テキストボックスに、先ほどコピーした Microsoft Entra 識別子の値を貼り付けます。

    c. Azure Portal からダウンロードした証明書 をメモ帳で開き、その内容を [Public Certificate](公開証明書) ボックスに貼り付けます。

    d. [Edit](編集) アイコンをクリックし、 [Signature Method](署名方法)[Digest Method](ダイジェスト方法) を編集して、RSA-SHA1 および SHA1 から RSA-SHA256 および SHA256 に変更します (下図参照)。

    e. GitHub の URL が Azure アプリ登録の URL と一致するように、Assertion Consumer Service URL (応答 URL) を既定の URL から更新します。

    Screenshot that shows the image.

  5. [Test SAML configuration (SAML 構成のテスト)] をクリックして、SSO の際に検証の失敗やエラーがないことを確認します。

    Screenshot that shows the Settings.

  6. [Save](保存) をクリックします。

注意

GitHub でのシングル サインオンは GitHub で特定の組織を認証するものです。GitHub そのものの認証に取って代わることはできません。 つまり、ユーザーの github.com セッションの有効期限が切れた場合は、シングル サインオン プロセス中に GitHub の ID とパスワードで認証するように求められることがあります。

GitHub テスト ユーザーの作成

このセクションの目的は、GitHub で Britta Simon というユーザーを作成することです。 GitHub では、自動ユーザー プロビジョニングがサポートされています。この設定は、既定で有効になっています。 自動ユーザー プロビジョニングの構成方法について詳しくは、こちらをご覧ください。

ユーザーを手動で作成する必要がある場合は、次の手順を実行します:

  1. GitHub 企業サイトに管理者としてログインします。

  2. [People](ユーザー) をクリックします。

    Screenshot shows the GitHub site with People selected.

  3. [Invite member](メンバーの招待) をクリックします。

    Screenshot that shows the Invite Users.

  4. [メンバーの招待] ダイアログ ページで、次の手順を実行します。

    a. [Email](電子メール) ボックスに、Britta Simon アカウントの電子メール アドレスを入力します。

    Screenshot that shows the Invite People.

    b. [Send Invitation](招待状の送信) をクリックします。

    Screenshot that shows the

    Note

    Microsoft Entra アカウント所有者がメールを受信し、リンクに従ってアカウントを確認するとそのアカウントがアクティブになります。

SSO のテスト

このセクションでは、次のオプションを使用して Microsoft Entra のシングル サインオン構成をテストします。

  • [このアプリケーションをテストする] をクリックします。これにより、ログイン フローを開始できる GitHub のサインオン URL にリダイレクトされます。

  • GitHub のサインオン URL に直接移動し、そこからログイン フローを開始します。

  • Microsoft マイ アプリを使用することができます。 マイ アプリで [GitHub] タイルをクリックすると、GitHub のサインオン URL にリダイレクトされます。 マイ アプリの詳細については、マイ アプリの概要に関するページを参照してください。

次のステップ

GitHub を構成したら、ご自分の組織の機密データの流出と侵入をリアルタイムで保護するセッション制御を適用することができます。 セッション制御は、条件付きアクセスを拡張したものです。 Microsoft Defender for Cloud Apps でセッション制御を強制する方法をご覧ください。