チュートリアル:GitHub を構成し、自動ユーザー プロビジョニングに対応させる
このチュートリアルの目的は、GitHub Enterprise Cloud 組織メンバーシップのプロビジョニングを自動化するために、GitHub と Microsoft Entra ID で実行する必要のある手順を示すことです。
Note
Microsoft Entra ID プロビジョニング統合では、GitHub Enterprise Cloud のお客様が GitHub Enterprise 課金プランで使用できる GitHub SCIM API が必要です。
前提条件
このチュートリアルで説明するシナリオでは、次の項目があることを前提としています。
- Microsoft Entra テナント
- GitHub Enterprise Cloud に作成された GitHub 組織 (GitHub Enterprise 課金プランが必要)
- 組織への Admin アクセス許可がある GitHub のユーザー アカウント
- GitHub Enterprise Cloud 組織用に構成された SAML
- こちらで説明しているように、組織に OAuth アクセスが提供されていることを確認します
- 1 つの組織に対する SCIM のプロビジョニングは、組織レベルで SSO が有効になっている場合のみサポートされます
Note
この統合は、Microsoft Entra 米国政府クラウド環境から利用することもできます。 このアプリケーションは、Microsoft Entra 米国政府クラウドのアプリケーション ギャラリーにあり、パブリック クラウドの場合と同じように構成できます。
GitHub へのユーザーの割り当て
Microsoft Entra ID では、選択されたアプリへのアクセスが付与されるユーザーを決定する際に "割り当て" という概念が使用されます。 自動ユーザー アカウント プロビジョニングのコンテキストでは、Microsoft Entra ID 内のアプリケーションに "割り当て済み" のユーザーとグループのみが同期されます。
プロビジョニング サービスを構成して有効にする前に、GitHub 組織へのアクセスが必要なユーザーを表す Microsoft Entra ID 内のユーザーやグループを決定しておく必要があります。 決定し終えたら、次の手順に従ってこれらのユーザーを割り当てることができます。
詳細については、「エンタープライズ アプリケーションにユーザーまたはグループを割り当てる」を参照してください。
ユーザーを GitHub に割り当てる際の重要なヒント
GitHub に Microsoft Entra ユーザーを 1 人だけ割り当てて、プロビジョニングの構成をテストすることをお勧めします。 後でユーザーやグループを追加で割り当てられます。
GitHub にユーザーを割り当てるときは、ユーザー ロールまたは別の有効なアプリケーション固有ロール (使用可能な場合) を割り当てダイアログで選ぶ必要があります。 [既定のアクセス] ロールはプロビジョニングでは使うことができず、このロールのユーザーはスキップされます。
GitHub へのユーザー プロビジョニングの構成
このセクションでは、Microsoft Entra ID を GitHub の SCIM プロビジョニング API に接続して、GitHub 組織メンバーシップのプロビジョニングを自動化する方法について説明します。 OAuth アプリを活用するこの統合により、Microsoft Entra ID でのユーザーとグループの割り当てに基づいて、GitHub Enterprise Cloud 組織へのメンバーのアクセスが自動的に追加、管理、および削除されます。 ユーザーが SCIM を介して GitHub 組織にプロビジョニングされると、招待メールがそのユーザーのメール アドレスに送信されます。
Microsoft Entra ID で GitHub への自動ユーザー アカウント プロビジョニングを構成する
クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
[ID]>[アプリケーション]>[エンタープライズ アプリケーション] の順に移動します。
シングル サインオンのために GitHub を既に構成している場合は、検索フィールドで GitHub のインスタンスを検索します。
GitHub のインスタンスを選択してから、[プロビジョニング] タブを選択します。
[プロビジョニング モード] を [自動] に設定します。
Azure portal で、[テナントの URL] を入力し、[接続のテスト] を選択して、Microsoft Entra ID から GitHub 組織に接続できることを確認します。 接続できない場合は、GitHub アカウントに管理者のアクセス許可があり、[テナントの URL] が正しく入力されていることを確認した後、"承認" 手順を再び試します (テナントの URL はルール
https://api.github.com/scim/v2/organizations/<Organization_name>
で作成でき、組織は GitHub アカウントの [設定]>[組織] でわかります)。[管理者資格情報] セクションにある [承認する] をクリックします。 これで、ブラウザーの新しいウィンドウで GitHub 承認ダイアログが開きます。 アクセスの承認が承認されていることを確認する必要があることに注意してください。 こちらに記載されている指示に従ってください。
新しいウィンドウで、Admin アカウントを使用して GitHub にサインインします。 表示された認可ダイアログで、プロビジョニングを有効にしたい GitHub 組織を選択して [承認する] を選択します。 終わったら Azure Portal に戻り、プロビジョニング構成を完了します。
プロビジョニングのエラー通知を受け取るユーザーまたはグループの電子メール アドレスを [通知用メール] フィールドに入力して、[エラーが発生したときにメール通知を送信します] チェック ボックスをオンにします。
[保存] をクリックします。
[マッピング] セクションの [Synchronize Microsoft Entra users to GitHub] (Microsoft Entra ユーザーを GitHub に同期する) を選びます。
[属性マッピング] セクションで、Microsoft Entra ID から GitHub に同期されるユーザー属性を確認します。 [Matching](照合) プロパティとして選択されている属性は、更新処理で GitHub のユーザー アカウントとの照合に使用されます。 エラーが発生する可能性があるため、[プロビジョニング] セクションの他のデフォルト属性に対して [照合の優先順位] 設定を有効にしないでください。 すべての変更をコミットするには、 [保存] を選択します。
GitHub に対して Microsoft Entra プロビジョニング サービスを有効にするには、[設定] セクションで [プロビジョニング状態] を [オン] に変更します
[保存] をクリックします。
これにより、[ユーザーとグループ] セクションで GitHub に割り当てたユーザーやグループの初期同期が開始されます。 初期同期は後続の同期よりも実行に時間がかかります。後続の同期は、サービスが実行されている限り約 40 分ごとに実行されます。 [同期の詳細] セクションを使用すると、進行状況を監視できるほか、リンクをクリックしてプロビジョニング アクティビティ ログを取得できます。このログには、プロビジョニング サービスによって実行されたすべてのアクションが記載されています。
Microsoft Entra プロビジョニング ログの読み方の詳細については、「自動ユーザー アカウント プロビジョニングについてのレポート」を参照してください。