チュートリアル: 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 Enterprise アカウントです。 EMU インスタンスを特に要求していない限り、標準の GitHub Enterprise アカウントになります。 その場合は、ドキュメントを参照して、EMU 以外の組織でのユーザー プロビジョニングを構成してください。 ユーザー プロビジョニングは、標準の GitHub Enterprise アカウントではサポートされていませんが、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 へシングル サインオンする (推奨)
前提条件
このチュートリアルで説明するシナリオでは、次の前提条件目があることを前提としています。
- Microsoft Entra テナント
- 次のいずれかのロール: アプリケーション管理者、クラウド アプリケーション管理者、アプリケーション所有者。
- Enterprise Managed User で GitHub Enterprise が有効にされ、Microsoft Entra テナントを介して SAML SSO でログインするように構成済みであること。
Note
この統合は、Microsoft Entra 米国政府クラウド環境から利用することもできます。 このアプリケーションは、Microsoft Entra 米国政府クラウドのアプリケーション ギャラリーにあり、パブリック クラウドの場合と同じように構成できます。
手順 1:プロビジョニングのデプロイを計画する
- プロビジョニング サービスのしくみを確認します。
- プロビジョニングの対象となるユーザーを決定します。
- Microsoft Entra ID と GitHub Enterprise Managed User の間でマップするデータを決定します。
手順 2: Microsoft Entra ID を使用してプロビジョニングを構成する準備を行う
テナントの URL を特定します。 これは、GitHub Enterprise Managed User アプリケーションの [プロビジョニング] タブにある [テナント URL] フィールドに入力する値です。
- GitHub.com のエンタープライズの場合、テナント URL は
https://api.github.com/scim/v2/enterprises/{enterprise}
です。 - GHE.com のエンタープライズの場合、テナント URL は
https://api.{subdomain}.ghe.com/scim/v2/enterprises/{subdomain}
です
- GitHub.com のエンタープライズの場合、テナント URL は
エンタープライズのセットアップ ユーザー用に scim:enterprise スコープでトークンを作成していることを確かめます。 この値を、GitHub Enterprise Managed User アプリケーションの [プロビジョニング] タブにある [シークレット トークン] フィールドに入力します。 GitHub Docs の「Enterprise Managed Users の概要」を参照してください。
手順 3: Microsoft Entra アプリケーション ギャラリーから 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 への自動ユーザー プロビジョニングを構成するには:
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
[ID]>[アプリケーション]>[エンタープライズ アプリケーション] の順に移動します
アプリケーションの一覧で、 [GitHub Enterprise Managed User] を選択します。
[プロビジョニング] タブを選択します。
[プロビジョニング モード] を [自動] に設定します。
[管理者資格情報] セクションで、GitHub Enterprise Managed User のテナント URL とシークレット トークンを入力します。 [テスト接続] をクリックして、Microsoft Entra ID から GitHub Enterprise Managed User に接続できることを確認します。 接続に失敗する場合は、GitHub Enterprise Managed User アカウントによてシークレット トークンがエンタープライズ所有者として作成されていることを確認し、やり直してください。
[通知用メール] フィールドに、プロビジョニングのエラー通知を受け取るユーザーまたはグループの電子メール アドレスを入力して、 [エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。
[保存] を選択します。
[マッピング] セクションで [Synchronize Azure Microsoft Entra Users to GitHub Enterprise Managed User](Microsoft Entra ユーザーを GitHub Enterprise Managed User に同期する) を選択します。
[属性マッピング] セクションで、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 [マッピング] セクションで [Synchronize Azure Microsoft Entra Groups to GitHub Enterprise Managed User](Microsoft Entra グループを GitHub Enterprise Managed User に同期する) を選択します。
[属性マッピング] セクションで、Microsoft Entra ID から GitHub Enterprise Managed User に同期されるグループ属性を確認します。 [Matching](照合) プロパティとして選択されている属性は、更新処理で GitHub Enterprise Managed User のグループとの照合に使用されます。 [保存] ボタンをクリックして変更をコミットします。
属性 Type フィルター処理のサポート externalId String ✓ displayName String members リファレンス スコープ フィルターを構成するには、スコープ フィルターのチュートリアルの次の手順を参照してください。
GitHub Enterprise Managed User に対して Microsoft Entra プロビジョニング サービスを有効にするには、[設定] セクションで [プロビジョニングの状態] を [オン] に変更します。
[設定] セクションの [スコープ] で目的の値を選択することによって、GitHub Enterprise Managed User にプロビジョニングするユーザーまたはグループ、あるいはその両方を定義します。
プロビジョニングの準備ができたら、 [保存] をクリックします。
この操作により、 [設定] セクションの [スコープ] で定義したすべてのユーザーとグループの初期同期サイクルが開始されます。 初期サイクルは後続の同期よりも実行に時間がかかります。後続のサイクルは、Microsoft Entra のプロビジョニング サービスが実行されている限り約 40 分ごとに実行されます。
手順 6:デプロイを監視する
プロビジョニングを構成したら、次のリソースを使用してデプロイを監視します。
- プロビジョニング ログを使用して、正常にプロビジョニングされたユーザーと失敗したユーザーを特定します。
- 進行状況バーを確認して、プロビジョニング サイクルの状態と完了までの時間を確認します
- プロビジョニング構成が異常な状態になったと考えられる場合、アプリケーションは検疫されます。 検疫状態の詳細については、こちらを参照してください。