チュートリアル: GitHub Enterprise Managed User を構成し、自動ユーザー プロビジョニングに対応させる

このチュートリアルでは、自動ユーザー プロビジョニングを構成するために GitHub Enterprise Managed User と Microsoft Entra ID の両方で行う必要がある手順について説明します。 構成すると、Microsoft Entra ID で、Microsoft Entra プロビジョニング サービスを使用して、GitHub Enterprise Managed User に対するユーザーとグループのプロビジョニングおよびプロビジョニング解除が自動的に行われます。 このサービスが実行する内容、しくみ、よく寄せられる質問の重要な詳細については、「Microsoft Entra ID による SaaS アプリへのユーザー プロビジョニングとプロビジョニング解除の自動化」を参照してください。

Note

GitHub Enterprise Managed User (EMU) は、別の種類の GitHub Enteprise アカウントです。 EMU インスタンスを特に要求していない限り、標準の GitHub Enterprise アカウントになります。 その場合は、ドキュメントを参照して、EMU 以外の組織でのユーザー プロビジョニングを構成してください。 ユーザー プロビジョニングは、標準の GitHub Enteprise アカウントではサポートされていませんが、GitHub Enterprise Managed User (EMU) の組織ではサポートされています。

サポートされる機能

  • GitHub Enterprise Managed User でユーザーを作成する
  • アクセスが不要になった場合に GitHub Enterprise Managed User のユーザーを削除する
  • Microsoft Entra ID と GitHub Enterprise Managed User 間でユーザー属性の同期を維持する
  • GitHub Enterprise Managed User でグループとグループ メンバーシップをプロビジョニングする
  • GitHub Enterprise Managed User へシングル サインオンする (推奨)

Note

このプロビジョニング コネクタは、Enterprise Managed User のベータ参加者に対してのみ有効になります。

前提条件

このチュートリアルで説明するシナリオでは、次の前提条件目があることを前提としています。

Note

この統合は、Microsoft Entra 米国政府クラウド環境から利用することもできます。 このアプリケーションは、Microsoft Entra 米国政府クラウドのアプリケーション ギャラリーにあり、パブリック クラウドの場合と同じように構成できます。

手順 1:プロビジョニングのデプロイを計画する

  1. プロビジョニング サービスのしくみを確認します。
  2. プロビジョニングの対象となるユーザーを決定します。
  3. Microsoft Entra ID と GitHub Enterprise Managed User の間でマップするデータを決定します。

手順 2: Microsoft Entra ID でのプロビジョニングをサポートするように GitHub Enterprise Managed User を構成する

  1. テナント URL は https://api.github.com/scim/v2/enterprises/{enterprise} です。 この値を、GitHub Enterprise Managed User アプリケーションの [プロビジョニング] タブにある [テナント URL] フィールドに入力します。

  2. GitHub Enterprise Managed の管理者として、右上隅に移動し、プロファイルの写真をクリックして、[設定] をクリックします。

  3. 左側のサイドバーで、 [開発者向け設定] をクリックします。

  4. 左側のサイドバーで、 [個人用アクセス トークン] を選択します。

  5. [新しいトークンの生成] をクリックします。

  6. このトークンに対して、 [admin:enterprise](管理者: エンタープライズ) スコープを選択します。

  7. [トークンの生成] をクリックします。

  8. シークレット トークンをコピーして保存します。 この値を、GitHub Enterprise Managed User アプリケーションの [プロビジョニング] タブにある [シークレット トークン] フィールドに入力します。

Microsoft Entra アプリケーション ギャラリーから GitHub Enterprise Managed User を追加して、GitHub Enterprise Managed User へのプロビジョニングの管理を開始します。 SSO のために GitHub Enterprise Managed User を以前に設定している場合は、その同じアプリケーションを使用できます。 ただし、統合を初めてテストするときは、別のアプリを作成することをお勧めします。 ギャラリーからアプリケーションを追加する方法の詳細については、こちらを参照してください。

手順 4:プロビジョニングの対象となるユーザーを定義する

Microsoft Entra プロビジョニング サービスを使うと、アプリケーションへの割り当てや、ユーザーやグループの属性に基づいて、プロビジョニングされるユーザーのスコープを設定できます。 割り当てに基づいてアプリにプロビジョニングされるユーザーのスコープを設定する場合、以下の手順を使用して、ユーザーとグループをアプリケーションに割り当てることができます。 ユーザーまたはグループの属性のみに基づいてプロビジョニングされるユーザーのスコープを設定する場合、こちらで説明されているスコープ フィルターを使用できます。

  • 小さいところから始めましょう。 全員にロールアウトする前に、少数のユーザーとグループでテストします。 プロビジョニングのスコープが割り当て済みユーザーとグループに設定される場合、これを制御するには、1 つまたは 2 つのユーザーまたはグループをアプリに割り当てます。 スコープがすべてのユーザーとグループに設定されている場合は、属性ベースのスコープ フィルターを指定できます。

  • 追加のロールが必要な場合は、アプリケーション マニフェストを更新して新しいロールを追加できます。

手順 5: GitHub Enterprise Managed User への自動ユーザー プロビジョニングを構成する

このセクションでは、Microsoft Entra ID でのユーザー割り当てやグループ割り当てに基づいて、TestApp でユーザーが作成、更新、無効化されるように Microsoft Entra プロビジョニング サービスを構成する手順について説明します。

Microsoft Entra ID で GitHub Enterprise Managed User への自動ユーザー プロビジョニングを構成するには:

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

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

    [エンタープライズ アプリケーション] ブレード

  3. アプリケーションの一覧で、 [GitHub Enterprise Managed User] を選択します。

    アプリケーションの一覧の [GitHub Enterprise Managed User] リンク

  4. [プロビジョニング] タブを選択します。

    [プロビジョニング] タブ

  5. [プロビジョニング モード][自動] に設定します。

    [プロビジョニング] タブの [自動]

  6. [管理者資格情報] セクションで、GitHub Enterprise Managed User のテナント URL とシークレット トークンを入力します。 [テスト接続] をクリックして、Microsoft Entra ID から GitHub Enterprise Managed User に接続できることを確認します。 接続に失敗する場合は、GitHub Enterprise Managed User アカウントによてシークレット トークンがエンタープライズ所有者として作成されていることを確認し、やり直してください。

    トークン

  7. [通知用メール] フィールドに、プロビジョニングのエラー通知を受け取るユーザーまたはグループの電子メール アドレスを入力して、 [エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。

    通知用メール

  8. [保存] を選択します。

  9. [マッピング] セクションで [Synchronize Azure Microsoft Entra Users to GitHub Enterprise Managed User](Microsoft Entra ユーザーを GitHub Enterprise Managed User に同期する) を選択します。

  10. [属性マッピング] セクションで、Microsoft Entra ID から GitHub Enterprise Managed User に同期されるユーザー属性を確認します。 [Matching](照合) プロパティとして選択されている属性は、更新処理で GitHub Enterprise Managed User のユーザー アカウントとの照合に使用されます。 一致する対象の属性を変更する場合は、その属性に基づいたユーザーのフィルター処理が確実に GitHub Enterprise Managed User API でサポートされているようにする必要があります。 [保存] ボタンをクリックして変更をコミットします。

    属性 Type フィルター処理のサポート
    externalId String
    userName String
    active Boolean
    roles String
    displayName String
    name.givenName String
    name.familyName String
    name.formatted String
    emails[type eq "work"].value String
    emails[type eq "home"].value String
    emails[type eq "other"].value String
  11. [マッピング] セクションで [Synchronize Azure Microsoft Entra Groups to GitHub Enterprise Managed User](Microsoft Entra グループを GitHub Enterprise Managed User に同期する) を選択します。

  12. [属性マッピング] セクションで、Microsoft Entra ID から GitHub Enterprise Managed User に同期されるグループ属性を確認します。 [Matching](照合) プロパティとして選択されている属性は、更新処理で GitHub Enterprise Managed User のグループとの照合に使用されます。 [保存] ボタンをクリックして変更をコミットします。

    属性 Type フィルター処理のサポート
    externalId String
    displayName String
    members リファレンス
  13. スコープ フィルターを構成するには、スコープ フィルターのチュートリアルの次の手順を参照してください。

  14. GitHub Enterprise Managed User に対して Microsoft Entra プロビジョニング サービスを有効にするには、[設定] セクションで [プロビジョニングの状態][オン] に変更します。

    プロビジョニングの状態を [オン] に切り替える

  15. [設定] セクションの [スコープ] で目的の値を選択することによって、GitHub Enterprise Managed User にプロビジョニングするユーザーまたはグループ、あるいはその両方を定義します。

    プロビジョニングのスコープ

  16. プロビジョニングの準備ができたら、 [保存] をクリックします。

    プロビジョニング構成の保存

この操作により、 [設定] セクションの [スコープ] で定義したすべてのユーザーとグループの初期同期サイクルが開始されます。 初期サイクルは後続の同期よりも実行に時間がかかります。後続のサイクルは、Microsoft Entra のプロビジョニング サービスが実行されている限り約 40 分ごとに実行されます。

手順 6:デプロイを監視する

プロビジョニングを構成したら、次のリソースを使用してデプロイを監視します。

  1. プロビジョニング ログを使用して、正常にプロビジョニングされたユーザーと失敗したユーザーを特定します。
  2. 進行状況バーを確認して、プロビジョニング サイクルの状態と完了までの時間を確認します。
  3. プロビジョニング構成が異常な状態になったと考えられる場合、アプリケーションは検疫されます。 検疫状態の詳細については、こちらを参照してください。

その他のリソース

次のステップ