GitHub Enterprise Cloud に接続する

このページでは、GitHub Enterprise Cloud への接続を作成し、GitHub Enterprise Cloud リポジトリへのリンクを作成する方法について説明します。 これらのタスクは、 Google Cloud コンソールまたは Google Cloud CLI を使用して完了できます。

この手順は、GitHub Enterprise Cloud ソースコード リポジトリを Google で使用するアプリケーション デベロッパー、プラットフォーム管理者、セキュリティ マネージャーを対象としています。 具体的には、 Gemini Code Assist で GitHub Enterprise Cloud リポジトリを使用できます。

Developer Connect の詳細については、 Developer Connect の概要をご覧ください。

始める前に

  1. ログイン Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、 新しいアカウントを登録します

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Developer Connect を有効にすると、 Secret Manager API も有効になります。

  9. GitHub Enterprise Cloud のアカウントにアクセスできることを確認します。

    チームの作業を安全に保つため、このガイドの手順は、個人用アカウントではなく、ボット アカウントまたはチームで共有するアカウントを使用して完了することをおすすめします。

  10. GitHub Enterprise Cloud リポジトリを所有しているか、共有リポジトリに対する管理者レベルの権限があることを確認します。
  11. 省略可: Developer Connect が作成する認証シークレットを暗号化するための顧客管理の 暗号鍵(CMEK)を作成します。
  12. 省略可: このガイドのコマンドラインの手順を使用するには、次の手順を完了します。
    1. Google Cloud CLI をインストールする。すでに gcloud CLI をインストールしている場合は、 gcloud components update を実行して、最新のバージョンがインストールされていることを確認してください。
    2. 次のコマンドを実行して、Developer Connect サービス アカウント を作成します。PROJECT_IDGoogle Cloud プロジェクト IDです:
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

必要なロール

接続とリンクの作成に必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。

  • プロジェクト オーナーでない場合: Developer Connect 管理者 roles/developerconnect.admin) ユーザー アカウントに対する
  • CMEK を使用して Developer Connect が作成するシークレットを暗号化する場合: Cloud KMS CryptoKey の暗号化/復号 roles/cloudkms.cryptoKeyEncrypterDecrypter) Secret Manager サービス アカウントに対する権限。
  • gcloud CLI を使用してこのガイドの手順を完了する場合: Secret Manager 管理者ロール roles/secretmanager.admin) Developer Connect サービス アカウントに対する
  • コンソールを使用してこのガイドの手順を完了する場合: プロジェクト IAM 管理者 roles/resourcemanager.projectIamAdmin) をユーザー アカウントに付与します。 Google Cloud

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

接続を作成する

このセクションでは、Developer Connect と GitHub Enterprise Cloud の間に接続を作成する方法について説明します。コンソールを使用している場合は、接続の設定が完了したら、リポジトリへのリンクの追加を開始することもできます。 Google Cloud

新しい GitHub Enterprise Cloud 接続を作成するには、次のいずれかのオプションを選択します。

コンソール

次の手順で接続を開始します。

  1. コンソールで Developer Connect を開きます。 Google Cloud

    Developer Connect に移動

    Developer Connect に [Git リポジトリ] ページが表示されます。

    • ソースコード管理プロバイダのリストが表示された場合: ソースコード管理プロバイダを選択して、最初の接続の構成を開始します。GitHub Enterprise Cloud カードの [接続] をクリックします。
    • 既存の接続のリストが表示された場合: 接続を作成 > GitHub Enterprise Cloud をクリックして、ソースコード管理プロバイダを設定します。

      [接続を作成] ページが開きます。

  2. [**リージョン**] で、接続リソースのリージョン を選択します。

    1. [**名前**] に、新しい接続の名前を入力します。
  3. [データ所在地のコンプライアンスを満たす接続を有効化] チェックボックスをオンにして、この接続をデータ所在地の要件に準拠させます。

    コンソールを使用して作成された GitHub 接続は、接続の作成時にこのチェックボックスをオンにすると、データ所在地のコンプライアンスに準拠します。 Google Cloud この操作を行うと、Developer Connect は GitHub アプリを作成します

    Google Cloud CLI を使用して GitHub 接続を作成する場合、これらの接続はデータ所在地のコンプライアンスに準拠していません。他のすべての接続タイプはデータ所在地のコンプライアンスに準拠しています。

  4. [詳細を表示] をクリックして、省略可能な構成設定を表示します。

    1. 省略可: [暗号化] セクションで、Developer Connect が作成する Secret Manager シークレットを暗号化する [CMEK 鍵]を選択します。

    2. 省略可: デフォルトでは、Developer Connect は GitHub Enterprise Cloud への Git 呼び出しのプロキシとして機能できます。 このオプションを無効にするには、[Developer Connect プロキシを有効にする] チェックボックスをオフにします。

  5. [続行] をクリックします。

  6. [同意して続行] をクリックして、GitHub OAuth トークンを Developer Connect と共有し、Secret Manager に保存することに同意します。

  7. ログインを促すプロンプトが表示された場合は、GitHub にログインします。

  8. [Developer Connect を承認] をクリックして、Google Developer Connect アプリが GitHub アカウントにアクセスできるようにします。

    このプロンプトが表示されない場合は、このアカウントですでに承認が付与されています。

  9. [データ所在地のコンプライアンスを満たす接続を有効化] を選択した場合は、GitHub アプリを作成するように求められます。

    1. この GitHub アプリの名前を入力します。

    2. [Create GitHub app] をクリックします。

    3. アプリをインストールするターゲット(GitHub アカウントまたは組織)を選択します。

    4. GitHub アプリをインストールするリポジトリまたは [すべてのリポジトリ] を選択し、[インストール] をクリックします。

    5. この接続にリンクするリポジトリを選択し、[OK] をクリックします。

    6. [リンク] をクリックします。

GitHub はトークンを作成し、Developer Connect は Secret Manager シークレットとして Google Cloud プロジェクトに保存します。シークレットの管理の詳細については、 シークレットの詳細を表示するをご覧ください。

データ所在地を有効にした場合は、GitHub アプリが作成されます。このアプリは、[接続の詳細] ページの [インストールの管理] をクリックして管理できます。

接続を構成する

[データ所在地のコンプライアンスを満たす接続を有効化] チェックボックスをオンにしていない場合は、次の手順が必要です。

次の手順に沿って、GitHub アカウントに対する権限を付与し、リポジトリにリンクします。ウェブブラウザに表示されるプロンプトは、GitHub アカウントに Developer Connect GitHub アプリがすでにインストールされているかどうかによって異なります。

Developer Connect ダイアログで、次の手順を行います。

GitHub アカウントのリストが表示された場合は、次の手順でアプリをインストールしてリポジトリをリンクします。

  1. 使用する GitHub アカウントを選択します。

  2. アクセス権を付与するリポジトリを 1 つ以上選択します。

既存のアプリのインストールを再利用するように求められた場合は、次の手順でアプリを構成する場所を選択します。

  1. [GitHub アカウント] をクリックして、Google Developer Connect アプリがインストールされているアカウントを表示します。使用するアカウントが表示されたら、[確認] をクリックして選択します。

  2. 使用するアカウントが表示されない場合は、次の操作を行います。

    1. [GitHub アプリを別の GitHub アカウントにインストールする] を選択し、[確認] をクリックします。

    2. GitHub の手順に沿って、アプリのインストールを許可します。

    3. アクセス権を付与するリポジトリを 1 つ以上選択します。

ダイアログが閉じると、アプリのインストールは完了です。

接続が作成されると、[リポジトリをリンク] ページが表示されます。

次の手順で、リポジトリを接続にリンクします。

  1. 利用可能なリポジトリのリストで、使用するリポジトリを選択します。

  2. [OK] をクリックします。

  3. [リンク] をクリックします。

接続が [Connections] ページに追加され、リポジトリ リンクが [Repositories] ページに追加されます。 Google Cloud 既存の接続にリンクを追加することはいつでもできます。

gcloud

次のタスクでは、ウェブブラウザで操作が必要です。

次の手順で接続を開始します。

  1. gcloud developer-connect connections create コマンドを実行して、GitHub Enterprise Cloud への接続を作成します。

    データ所在地が有効になっている場合: :

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --github-enterprise-config-app=DEVELOPER-CONNECT \
        --github-enterprise-config-host-uri=HOST_URI
        --git-proxy-config-enabled
    

    データ所在地が有効になっていない場合:

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --github-config-app=DEVELOPER-CONNECT \
        --github-config-host-uri=HOST_URI
        --git-proxy-config-enabled
    

    次のように置き換えます。

    • CONNECTION_NAME: 接続の名前。
    • REGION: 接続のリージョン。
    • HOST_URI:接続先のホストの URI。データ所在地が有効になっている場合、サブドメイン(YOUR_SUBDOMAIN.ghe.com)を含むドメインが使用されます。データ所在地が有効になっていない場合は、github.com が使用されます。
    • --git-proxy-config-enabled: Developer Connect が GitHub Enterprise Cloud への Git 呼び出しのプロキシとして機能できるようにする省略可能なフラグ。 この機能はプレビュー版です。

    接続名が作成されます。

  2. Developer Connect GitHub アプリをインストールして、接続の作成を完了します。次のコマンドを実行して、アプリのインストール用の URI を取得します。

    gcloud developer-connect connections describe CONNECTION_NAME \
        --location=REGION
    

    次のように置き換えます。

    • CONNECTION_NAME: 接続の名前。
    • REGION: 接続のリージョン。

    Developer Connect は、ブラウザ ウィンドウに Google Developer Connect アプリをインストールするためのリンクを返します。このリンクをコピーします。

  3. ウェブブラウザでリンクを開きます。

  4. [同意して続行] をクリックして、GitHub OAuth トークンを Developer Connect と共有し、Secret Manager に保存することに同意します。

  5. ログインを促すプロンプトが表示された場合は、GitHub にログインします。

  6. [Developer Connect を承認] をクリックして、Google Developer Connect アプリが GitHub アカウントにアクセスできるようにします。このプロンプトが表示されない場合は、このアカウントですでに承認が付与されています。

GitHub はトークンを作成し、Developer Connect は Secret Manager シークレットとして Google Cloud プロジェクトに保存します。シークレットを表示するには、Secret Managerでシークレットを一覧表示します。Developer Connect へのアクセス権は、GitHub でいつでも取り消すことができます。

接続を構成する

次の手順に沿って、GitHub アカウントに対する権限を付与し、リポジトリにリンクします。ウェブブラウザに表示されるプロンプトは、GitHub アカウントに Developer Connect GitHub アプリがすでにインストールされているかどうかによって異なります。

Developer Connect ダイアログで、次の手順を行います。

GitHub アカウントのリストが表示された場合は、次の手順でアプリをインストールしてリポジトリをリンクします。

  1. 使用する GitHub アカウントを選択します。

  2. アクセス権を付与するリポジトリを 1 つ以上選択します。

既存のアプリのインストールを再利用するように求められた場合は、次の手順でアプリを構成する場所を選択します。

  1. [GitHub アカウント] をクリックして、Google Developer Connect アプリがインストールされているアカウントを表示します。使用するアカウントが表示されたら、[確認] をクリックして選択します。

  2. 使用するアカウントが表示されない場合は、次の操作を行います。

    1. [GitHub アプリを別の GitHub アカウントにインストールする] を選択し、[確認] をクリックします。

    2. GitHub の手順に沿って、アプリのインストールを許可します。

    3. アクセス権を付与するリポジトリを 1 つ以上選択します。

ダイアログが閉じると、アプリのインストールは完了です。

接続を確認する

次のコマンドを実行して、GitHub Enterprise Cloud 接続の作成を確認します。

gcloud developer-connect connections describe CONNECTION_NAME \
    --location=REGION

次のように置き換えます。

  • CONNECTION_NAME: 接続の名前。
  • REGION: 接続のリージョン。

Developer Connect は、installationState フィールドにステータスを返します。このフィールドの値が COMPLETE の場合、アプリのインストールは完了です。 それ以外の場合、Developer Connect はブラウザで構成に戻るための URI を返します。

接続が完了したら、 既存の接続にリポジトリ リンクを追加する の手順に沿って、リンクするリポジトリを選択します。

GitHub Enterprise Cloud への接続を確立したら、リポジトリにリンクできます。必要に応じて、後でこの手順を繰り返してリポジトリを追加でリンクできます。

既存の GitHub Enterprise Cloud 接続にリポジトリ リンクを作成するには、次のいずれかのオプションを選択します。

コンソール

  1. コンソールで [**リポジトリ**] ページを開きます。 Google Cloud

    [リポジトリ] ページを開く

  2. [リポジトリをリンクする] をクリックします。

    [Git リポジトリをリンク] ペインが開きます。

  3. 接続リストで、接続を選択します。

  4. [続行] をクリックします。

  5. リポジトリ リストで、リンクするリポジトリを選択します。

  6. [作成] をクリックします。

Developer Connect はリポジトリ リンクを作成し、 the Google Cloud コンソールに表示します。

gcloud

次のコマンドを実行します。

gcloud developer-connect connections git-repository-links create REPO_NAME \
    --clone-uri=REPO_URI \
    --connection=CONNECTION_NAME \
    --location=REGION

次のように置き換えます。

  • REPO_NAME: リポジトリの名前。
  • REPO_URI: GitHub Enterprise Cloud リポジトリへのリンク。 例: https://github.com/cloud-build/test-repo.git
  • CONNECTION_NAME: 接続の名前。
  • REGION:接続の リージョン

Developer Connect はリポジトリ リンクを作成します。

リンクされたリポジトリを一覧表示するには、 developer-connect connections git-repository-links list コマンドを実行します。

Gemini Code Assist を設定する場合は、 Gemini Code Assist のコード カスタマイズを構成して使用するの手順に沿ってプロセスを続行します。

IP 許可リストを構成する

Developer Connect は、IP 許可リストを使用してリソースへのアクセスを制限する GitHub Enterprise Cloud 組織と互換性があります。Developer Connect で使用するように GitHub Enterprise Cloud 許可リストを構成するには、次の手順を完了します。

GitHub Enterprise Cloud 組織オーナー アカウントを使用して、これらのタスクを完了します。

  1. GitHub Enterprise Cloud にログインします。

  2. GitHub Enterprise Cloud ドキュメントの手順に沿って、GitHub アプリによるアクセスを許可します。

    GitHub Enterprise Cloud は、Developer Connect GitHub アプリのアドレスを許可リストに追加します。

    Developer Connect アドレスは、managed by the Developer Connect GitHub app というテキストに似た説明で識別できます。

  3. Developer Connect GitHub アプリが GitHub Enterprise Cloud リソースにアクセスできるようになったので、Developer Connect と GitHub Enterprise Cloud 間の OAuth ベースのインタラクションに同じ IP アドレスを使用するように許可リストを構成します。これにより、Developer Connect は Git リポジトリへのリンクを作成できます。

    1. Developer Connect GitHub アプリのすべての IP アドレスをコピーします。

    2. GitHub Enterprise Cloud ドキュメントの手順に沿って、 各アドレスを許可リストに 新しいエントリとして追加します。

完了すると、Developer Connect が GitHub Enterprise Cloud との通信に使用する IP アドレスごとに 2 つの許可リスト エントリが作成されます。

OAuth エントリは、リポジトリへのリンクの作成にのみ使用されます。GitHub Enterprise Cloud リポジトリへのリンクの作成が完了したら、許可リストから OAuth エントリを削除できます。

データ共有

この接続にリンクされている Google Cloud リソースのコンテンツは、GitHub に転送される可能性があります。このステートメントは、この接続を使用するすべての既存のリソースと今後のリソースに適用されます。GitHub との情報の共有を停止するには、 コンソールまたは gcloud CLI で Developer Connect 接続を削除し、 GitHub でアクセス権を取り消します。 Google Cloud

次のステップ