次の方法で共有


GitHub Server Pull Requests コネクタ インジェスト用の GitHub サービスを設定する

この記事では、Organizationが GitHub Server Pull Requests コネクタをデプロイするために GitHub 管理者が完了する必要がある構成手順について説明します。 構成すると、コネクタのインデックスによって GitHub Enterprise Server から要求データがプルされるため、ユーザーは Microsoft Search、Microsoft 365 Copilot、Copilot Search で PR 情報を検索、集計、取得できます。

この記事は、GitHub Server Pull Requests コネクタに適用されます。 コネクタをデプロイする方法の詳細については、「 GitHub Server Pull Requests コネクタをデプロイする」を参照してください。

セットアップ チェックリスト

次のチェックリストは、GitHub Server 環境の構成とコネクタの前提条件の設定に関連する手順の一覧です。

タスク 役割
organization名を特定する GitHub 管理者
ターゲット GitHub インスタンスへの API アクセスを確認する GitHub 管理者
ID マッピング ルールMicrosoft Entra ID識別する GitHub 管理者
GitHub アカウントにサインインする GitHub 管理者
認証用のカスタム GitHub アプリを構成する GitHub 管理者
GitHub Server API のレート制限を調整する GitHub 管理者
ファイアウォール設定を構成する ネットワーク管理者

organization名を特定する

コネクタが PR インジェストに使用する GitHub Enterprise Server organizationを決定します。 コネクタは、選択したorganizationにインストールされている GitHub アプリからアクセスできるコンテンツのみをインデックス化します。

ターゲット GitHub インスタンスへの API アクセスを確認する

GitHub Enterprise Server インスタンスに API 経由で到達可能であることを確認します。 コネクタでは、プル要求メタデータを取得するために API アクセスが必要です。 以下を確認してください。

  • GitHub インスタンスには HTTPS 経由でアクセスできます。
  • ファイアウォールまたはネットワークの制限により、受信/送信 API 要求が許可されます。
  • Graph コネクタ エージェント ホスト デバイスは、GitHub Enterprise Server ドメインに到達できます。

Microsoft Entra IDマッピングルールを特定する

Microsoft Entra IDマッピングルールを定義します。 ID マッピングを使用すると、ユーザーが Copilot と検索エクスペリエンスの PR データにアクセスするときに、適切なアクセス許可が適用されます。

サポートされているマッピング戦略は次のとおりです。

  • Email: GitHub のメール アドレスを Microsoft Entra ID プロパティに一致します。
  • ログイン:GitHub のユーザー名をMicrosoft Entra ID属性にマップします。
  • 名前: マッピングに GitHub プロファイル名を使用します。

ID が直接一致しない場合は、正規表現 (正規表現) を使用してデータを正規化できます。 例: [a-zA-Z0-9]+

ユーザーは、特に Bring Your Own User (BYOU) 環境で、必要な GitHub ID 属性を共有する必要があります。

GitHub アカウントにサインインする

organizationでシングル サインオン (SSO) が使用されている場合は、コネクタを構成する前に GitHub にサインインします。 現時点では、GitHub Server Pull Requests コネクタでは、コネクタの構成中に SSO に依存する認証フローの完了はサポートされていません。

認証にカスタム GitHub アプリを使用する

最も効率的なセットアップ エクスペリエンスを実現するために、Microsoft が管理する GitHub アプリを使用します。

独自の GitHub アプリを認証に使用することもできます。 このオプションを選択した場合は、次のチェックリストの手順に従ってセットアップを完了します。

タスク 役割
GitHub アプリを作成して構成する GitHub 管理者
GitHub アプリの資格情報を作成する GitHub 管理者
GitHub アプリをインストールする GitHub 管理者

GitHub アプリを作成して構成する

GitHub サービスを構成するための適切なアクセス許可が割り当てられていることを確認します。 詳細については、「organizationのロール」を参照してください。

GitHub Server Pull Requests コネクタで使用する GitHub アプリを作成するには:

  1. GitHub で、右上のプロフィール写真を選択し、[Organization]\(組織\) を選択し、コネクタがデータをプルするorganizationを選択します。

    [組織] にアクセスする方法を示すスクリーンショット。

  2. [organizationの概要] ページで、[設定] を選択します

    organization ページ内の [設定] にアクセスする方法を示すスクリーンショット。

  3. 左側のサイドバーで、[ 開発者設定 ] まで下にスクロールし、[ GitHub Apps] を選択します。

    GitHub Apps にアクセスする方法を示すスクリーンショット。

  4. [ 新しい GitHub アプリ] を選択します。

    新しいアプリの作成へのエントリ ポイントを示すスクリーンショット。

  5. アプリを構成します。

    • GitHub アプリ名: 任意の名前を入力します。
    • ホームページ URL: ブラウザーのアドレス バーから URL をコピーします。
    • コールバック URL:
      • Microsoft 365 for enterprise の場合: https://gcs.office.com/v1.0/admin/oauth/callback
      • Microsoft 365 Government の場合: https://gcsgcc.office.com/v1.0/admin/oauth/callback

    名前と URL を含むアプリ構成の最初の部分を示すスクリーンショット。

  6. [Webhook] オプションをオフにします。

  7. 次のアクセス許可を設定します。

    リポジトリのアクセス許可

    • コンテンツ - 読み取り専用
    • メタデータ - 読み取り専用
    • 管理 - 読み取り専用

    組織のアクセス許可

    • メンバー - 読み取り専用
    • 管理 - 読み取り専用

    アカウントのアクセス許可

    • Email アドレス - 読み取り専用
  8. [ この GitHub アプリをインストールできる場所] で、[ 任意のアカウント] を選択し、[ GitHub アプリの作成] を選択します。

GitHub アプリの資格情報を作成する

  • GitHub アプリの [ 全般 ] ページで、[ 新しいクライアント シークレットの生成 ] を選択して、 クライアント シークレットを生成してコピーします。

    クライアント ID やクライアント シークレットなど、アプリの資格情報を示すスクリーンショット。

GitHub アプリをインストールする

  1. GitHub アプリの [ 全般 ] ページで、[アプリのインストール] を選択 します

    アプリのインストール ダイアログを示すスクリーンショット。

  2. アプリをインストールするorganizationを選択します。

GitHub Server API のレート制限を調整する

プル要求、問題、ナレッジ ファイルなど、大量の GitHub データを取り込む場合、GitHub Server 環境の API レート制限構成は、インジェスト プロセスの完了速度に直接影響します。 GitHub Server では、ユーザーまたはトークンごとに 1 時間あたり 15,000 件の認証済み要求の既定の API 制限が適用されます。 この制限では、より小さなデータセットがサポートされますが、数十万または数百万の項目が処理されると、インジェストが遅くなる可能性があります。

organizationでスループットを向上させる必要がある場合は、API レート制限を引き上げることができます。 制限が大きいほど、コネクタはアイテムをより迅速に取得できますが、GitHub Server インフラストラクチャの負荷も増加します。 レート制限設定を更新する前に、増加した要求ボリュームをサポートするために、環境に適切な CPU 容量、ストレージ I/O、およびネットワーク帯域幅があることを確認します。 制限を更新した後、システム パフォーマンスを監視して、より高いスループットで安定したインジェストを確保します。

レート制限の設定に関する推奨事項

次の表のガイダンスを使用して、GitHub 環境のプル要求のおおよその数に基づいて適切なレート制限設定を選択するのに役立ちます。

項目のおおよその数 推奨レート制限設定 インジェストを完了するまでのおおよその時間
最大 100,000 既定のレート制限設定を使用する (通常のインジェスト速度) 該当なし
100,000 から 1,000,000 レート制限を 30,000 要求/時間に引き上げる 2 日から 1 週間
1,000,000 以上 30,000 要求/時間以上を使用する (サーバーの容量に応じて) 1 ~ 2 週間 (環境の負荷によって異なります)

API レート制限設定を更新する

API 要求の制限を増やすには、次の手順を実行します。

  1. 管理者アカウントを使用して GitHub Server インスタンスにサインインします。
  2. 右上隅の [ サイト管理者 ] を選択して、管理モードに入ります。 詳細については、「 レート制限の構成」を参照してください。
  3. 左側のウィンドウで、[管理コンソール] (またはバージョンに応じて管理コンソール) を選択します。
  4. [ レート制限 ] タブを開きます。
  5. [HTTP API レート制限を有効にする] が選択されていることを確認します。
  6. [ API 要求 (1 時間あたり) – 認証済み] で、レート制限値 ( 30000 など) を入力します。
  7. [ 設定の保存] を選択します

GITHub Server の [レート制限] タブのスクリーンショット。API 要求と [保存] 設定が強調表示されています。

注:

変更を保存すると、特定の GitHub Server サービスが再起動され、サービスが短時間中断される可能性があります。 保存した後、構成がインスタンス全体に反映されるまでの時間を許可します。

ファイアウォール設定を構成する

セキュリティを強化するために、Azure SQL サーバーまたはデータベースの IP ファイアウォール規則を構成できます。 詳細については、「 IP ファイアウォール規則」を参照してください。

ファイアウォール設定に次のクライアント IP 範囲を追加します。

Region Microsoft 365 Enterprise Microsoft 365 Government
NAM 52.250.92.252/30, 52.224.250.216/30 52.245.230.216/30, 20.141.117.64/30
EUR 20.54.41.208/30, 51.105.159.88/30 該当なし
APC 52.139.188.212/30, 20.43.146.44/30 該当なし

IP 制限により、コネクタが動作を停止し、クロール エラーが発生する可能性があります。 この問題を解決するには、コネクタの IP アドレスを許可リストに追加します。

次の手順