この記事では、自動ユーザー プロビジョニングを構成するために GitHub Enterprise Managed User (OIDC) と Microsoft Entra ID の両方で実行する必要がある手順について説明します。 構成すると、Microsoft Entra ID で、Microsoft Entra プロビジョニング サービスを使用して、GitHub Enterprise Managed User (OIDC) に対するユーザーとグループのプロビジョニングおよびプロビジョニング解除が自動的に行われます。 このサービスが実行する内容、しくみ、よく寄せられる質問の重要な詳細については、「Microsoft Entra ID による SaaS アプリへのユーザー プロビジョニングとプロビジョニング解除の自動化」を参照してください。
注意
GitHub Enterprise Managed User (EMU) は、別の種類の GitHub Enterprise アカウントです。 EMU インスタンスを特に要求していない限り、標準の GitHub Enterprise アカウントになります。 その場合は、ドキュメントを参照して、EMU 以外の組織でのユーザー プロビジョニングを構成してください。 ユーザー プロビジョニングは 標準の GitHub Enterprise アカウントではサポートされていませんが、標準の GitHub Enterprise アカウントの組織ではサポートされています。
サポートされる機能
- GitHub Enterprise Managed User でユーザーを作成する (OIDC)
- アクセスが不要になった場合に GitHub Enterprise Managed User (OIDC) のユーザーを削除する
- Microsoft Entra ID と GitHub Enterprise Managed User (OIDC) 間でユーザー属性の同期を維持する
- GitHub Enterprise Managed User (OIDC) でグループとグループ メンバーシップをプロビジョニングする
- GitHub Enterprise Managed User (OIDC) にシングル サインオンする (推奨)
前提条件
この記事で説明するシナリオでは、次の前提条件が既にあることを前提としています。
- Microsoft Entra テナント
- 次のいずれかのロール: アプリケーション管理者、クラウド アプリケーション管理者、アプリケーション所有者。
- Enterprise Managed User で GitHub Enterprise が有効にされ、Microsoft Entra テナントを介して OIDC SSO でログインするように構成済みであること。
注意
この統合は、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 (OIDC) を追加する
Microsoft Entra アプリケーション ギャラリーから GitHub Enterprise Managed User (OIDC) を追加して、GitHub Enterprise Managed User (OIDC) へのプロビジョニングの管理を開始します。 SSO のために GitHub Enterprise Managed User (OIDC) を以前に設定している場合は、その同じアプリケーションを使用できます。 ただし、統合を初めてテストするときは、別のアプリを作成することをお勧めします。 ギャラリーからアプリケーションを追加する方法の詳細については、こちらを参照してください。
手順 4: プロビジョニングのスコープに含まれるユーザーを定義する
Microsoft Entra プロビジョニング サービスを使用すると、アプリケーションへの割り当てに基づいて、またはユーザーまたはグループの属性に基づいてプロビジョニングされるユーザーをスコープできます。 割り当てに基づいてアプリにプロビジョニングされるユーザーのスコープを設定する場合は、 手順を使用してユーザーとグループをアプリケーションに割り当てることができます。 ユーザーまたはグループの属性のみに基づいてプロビジョニングする対象を決定する場合、スコープフィルターを使用できます。
小さいところから始めましょう。 全員にロールアウトする前に、少数のユーザーとグループでテストします。 プロビジョニングのスコープが割り当て済みユーザーとグループに設定される場合、これを制御するには、1 つまたは 2 つのユーザーまたはグループをアプリに割り当てます。 スコープがすべてのユーザーとグループに設定されている場合は、属性ベースのスコープ フィルターを指定できます。
追加のロールが必要な場合は、 アプリケーション マニフェストを更新 して新しいロールを追加できます。
手順 5: GitHub Enterprise Managed User (OIDC) への自動ユーザー プロビジョニングを構成する
このセクションでは、Microsoft Entra ID でのユーザー割り当てやグループ割り当てに基づいて、TestApp でユーザーが作成、更新、無効化されるように Microsoft Entra プロビジョニング サービスを構成する手順について説明します。
Microsoft Entra ID で GitHub Enterprise Managed User (OIDC) への自動ユーザー プロビジョニングを構成するには:
クラウド アプリケーション管理者以上の権限で Microsoft Entra 管理センターにサインインします。
Entra ID>企業向けアプリケーションを参照する
アプリケーションの一覧で、[GitHub Enterprise Managed User (OIDC)] を選択します。
[プロビジョニング] タブを選択します。
[プロビジョニング モード] を [自動] に設定します。
[管理者資格情報] セクションで、GitHub Enterprise Managed User (OIDC) のテナント URL とシークレット トークンを入力します。 [ テスト接続] を選択して、Microsoft Entra ID が GitHub Enterprise Managed User (OIDC) に接続できることを確認します。 接続に失敗する場合は、GitHub Enterprise Managed User (OIDC) アカウントによってシークレット トークンがエンタープライズ所有者として作成されていることを確認し、やり直してください。
[テナント URL] に、先ほど特定したテナント URL を入力します。
たとえば、エンタープライズ アカウントの URL が https://github.com/enterprises/octo-corp の場合、そのエンタープライズ アカウントの名前は octo-corp です。
[シークレット トークン] には、先ほど作成した GitHub 個人用アクセス トークンを貼り付けます。
[通知用メール] フィールドに、プロビジョニングのエラー通知を受け取るユーザーまたはグループのメール アドレスを入力して、[エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。
[保存] を選択します。
[マッピング] セクションで、[Microsoft Entra ユーザーのプロビジョニング] を選択します。
[属性マッピング] セクションで、Microsoft Entra ID から GitHub Enterprise Managed User (OIDC) に同期されるユーザー属性を確認します。 Matching プロパティとして選択されている属性は、更新処理で GitHub Enterprise Managed User (OIDC) のユーザー アカウントとの照合に使用されます。 一致する対象の属性を変更する場合は、その属性に基づいたユーザーのフィルター処理が確実に GitHub Enterprise Managed User API (OIDC) でサポートされているようにする必要があります。 [保存] ボタンをクリックして変更をコミットします。
属性 種類 フィルター処理のサポート エクスターナルID 文字列 ✓ ユーザー名 文字列 活動中 ブール値 役割 文字列 表示名 文字列 名前.名 文字列 名前.姓 文字列 名前.整形済み 文字列 emails[type eq "仕事"].value 文字列 メール[タイプ eq "自宅"].値 文字列 emails[タイプ eq "その他"].値 文字列 [マッピング] セクションで、[Microsoft Entra グループのプロビジョニング] を選択します。
[属性マッピング] セクションで、Microsoft Entra ID から GitHub Enterprise Managed User (OIDC) に同期されるグループ属性を確認します。 Matching プロパティとして選択されている属性は、更新処理で GitHub Enterprise Managed User (OIDC) のグループとの照合に使用されます。 [保存] ボタンをクリックして変更をコミットします。
属性 種類 フィルター処理のサポート エクスターナルID 文字列 ✓ 表示名 文字列 メンバー リファレンス スコープ フィルターを構成するには、スコープ フィルターに関する記事に記載されている次の手順 を参照してください。
GitHub Enterprise Managed User (OIDC) に対して Microsoft Entra プロビジョニング サービスを有効にするには、[設定] セクションで [プロビジョニングの状態] を [オン] に変更します。
[設定] セクションの [スコープ] で目的の値を選択することによって、GitHub Enterprise Managed User (OIDC) にプロビジョニングするユーザーまたはグループ、あるいはその両方を定義します。
プロビジョニングの準備ができたら、 [保存] を選択します。
この操作により、[設定] セクションの [スコープ] で定義したすべてのユーザーとグループの初期同期サイクルが開始されます。 初期サイクルは Microsoft Entra のプロビジョニング サービスが実行されている限り、約 40 分ごとに発生する後続のサイクルよりも実行に時間がかかります。
手順 6: デプロイを監視する
プロビジョニングを構成したら、次のリソースを使用してデプロイを監視します。
- プロビジョニング ログを使用して、どのユーザーが正常にプロビジョニングされたか、または正常にプロビジョニングされなかったかを判断する
- 進行状況バーを確認して、プロビジョニング サイクルの状態と完了までの時間を確認します
- プロビジョニング構成が異常な状態になったと考えられる場合、アプリケーションは検疫されます。 検疫状態についての詳細は、アプリケーションプロビジョニングの隔離状態に関する記事をご覧ください。