このドキュメントでは、Developer Connect アカウント コネクタの詳細設定オプションを使用する方法について説明します。
アカウント コネクタは、Google Cloud アカウントを Google 以外のデベロッパー ツール プロバイダの個人アカウントに接続するのに役立つ Developer Connect の機能です。ユーザーは、アカウント コネクタがアクセスするデータの種類を指定できます。そのためには、そのコネクタに適切なスコープを選択します。組織のアカウント コネクタ接続が作成されると、その組織内のユーザーは、その接続を使用して、その接続で使用する個々のアカウントを承認できます。
Developer Connect の事前構成済み OAuth クライアント(GitHub や GitLab など)を使用するか、独自のカスタム OAuth クライアントを使用(オンプレミスの GitHub Enterprise インスタンスなど)して、アカウント コネクタを構成できます。
始める前に
-
Google アカウントにログインします。
Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- 省略可: Developer Connect が作成する認証シークレットを暗号化するための顧客管理の暗号鍵(CMEK)を作成します。
Developer Connect を有効にすると、Secret Manager API も有効になります。
必要なロール
アカウント コネクタの作成に必要な権限を取得するには、プロジェクトに対する Developer Connect OAuth 管理者 (roles/developerconnect.oauthAdmin)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
使用可能なプロバイダを使用してアカウント コネクタを作成する
次の手順では、組み込みプロバイダのアカウント コネクタを作成する方法について説明します。アカウント コネクタを作成してカスタム OAuth クライアントを指定する場合は、カスタム OAuth クライアントを使用してアカウント コネクタを作成するをご覧ください。
Google Cloud コンソール
Google Cloud コンソールで Developer Connect を開きます。
[アカウント コネクタ] を選択します。
[コネクタを作成] をクリックします。
このアカウント コネクタを作成する [リージョン] を選択します。
アカウント コネクタに名前を付けます。
[構成タイプ] で [事前構成済みの OAuth クライアント] を選択します。
OAuth プロバイダを選択します。
Developer Connect プロキシを有効にするかどうかを選択します。
プロキシが有効になっている場合、Developer Connect はユーザーに代わって Git コマンドを送信するか、プロバイダに HTTP 呼び出しを行います(またはその両方を行います)。詳細
このアカウント コネクタの Developer Connect に付与するスコープを選択します。
スコープは、選択したプロバイダのサービスで Developer Connect が実行できるアクションを決定します。スコープはプロバイダごとに異なります。プロバイダにスコープがない場合を除き、少なくとも 1 つのスコープを選択する必要があります。
プロバイダによっては、選択できるスコープがない場合があります。手動で追加できる場合があります。スコープが必要になる場合もあります。
[作成] をクリックして、このアカウント コネクタの作成を完了します。
Google Cloud CLI
アカウント コネクタを作成するには、次のコマンドを実行します。
gcloud alpha developer-connect account-connectors create my-ac \
--location=LOCATION \
--provider-oauth-config-system-id=PROVIDER \
--provider-oauth-config-scopes=SCOPES \
--project=PROJECT_ID
このコマンドで、次のように置き換えます。
LOCATIONは、このアカウント コネクタを作成するリージョンに置き換えます。PROVIDER(接続先の SCM プロバイダ):GITHUB、GITLAB、またはBITBUCKET_CLOUD。PROJECT_IDは、このアカウント コネクタを作成するプロジェクトのプロジェクト ID(プロジェクト番号ではない)に置き換えます。
カスタム OAuth クライアントを使用してアカウント コネクタを作成する
次の手順では、指定した OAuth クライアントを使用するようにアカウント コネクタを構成する方法について説明します。組み込みプロバイダを使用してアカウント コネクタを作成する場合は、使用可能なプロバイダを使用してアカウント コネクタを作成するをご覧ください。
Google Cloud コンソール
Google Cloud コンソールで Developer Connect を開きます。
[アカウント コネクタ] を選択します。
[コネクタを作成] をクリックします。
このアカウント コネクタを作成する [リージョン] を選択します。
アカウント コネクタに名前を付けます。
[構成タイプ] で [カスタム OAuth クライアント] を選択します。
[アカウント コネクタの作成] 画面にリダイレクト URI が表示されます。
リダイレクト URI をコピーします。
URI の形式は次のようになります。
https://developerconnect.google.com/redirect/custom/projects/<project_number>/locations/<location>/accountConnectors/<account_connector_id>この URI で、
<project_number>はプロジェクト ID ではなく、プロジェクト番号です。コピーしたリダイレクト URI を使用して、選択した SCM 用のカスタムアプリを作成し、このフォームに戻って OAuth クライアントの詳細を指定します。
プロバイダを選択します。
[ホスト URI] フィールドに、ソースコード管理システムの URI を指定します。
[Authorization URI] フィールドに、認証サーバーのアドレスを入力します。このアドレスの形式は次のとおりです。
GitHub Enterprise の場合:
https://<host_name>/login/oauth/authorizeGitLab Enterprise の場合:https://<host_name>/oauth/authorizeBitBucket データセンターの場合:https://<host_name>/rest/oauth2/latest/authorize[トークン URI] フィールドに、認証コードをアクセス トークンと交換するために使用する URI を指定します。このアドレスの形式は次のとおりです。
GitHub Enterprise の場合:
https://<host_name>/login/oauth/access_tokenGitLab Enterprise の場合:https://<host_name>/oauth/tokenBitBucket データセンターの場合:https://<host_name>/rest/oauth2/latest/token[クライアント ID] に、OAuth アプリのクライアント ID を入力します。
クライアント シークレットを指定して、認証サーバーでアプリを認証します。
アカウント コネクタが Git コマンドの発行に Developer Connect プロキシを使用する場合は、[Developer Connect プロキシを有効にする] を選択します。
[スコープ] で、使用可能なスコープのリストから選択します。
必要に応じて、ネットワークとセキュリティを構成します。
このアカウント コネクタで公共のインターネットを使用するか、プライベート ネットワークを使用するかを選択します。
プライベート ネットワークの場合は、次の情報を提供します。
使用する CA 証明書
Service Directory サービスの次の情報:
Service Directory サービスのプロジェクトを特定するか、リージョン、Namespace、サービス名を指定できます。
このアプリの PKCE を有効または無効にします。
OAuth サービスで PKCE がサポートされている必要があります。
[作成] をクリックして、このアカウント コネクタの作成を完了します。
Google Cloud CLI
```sh
gcloud alpha developer-connect account-connectors create my-ac \
--location=LOCATION \
--project=PROJECT_ID \
--custom-provider-oauth-config-system-id=PROVIDER \
--custom-oauth-config-host-uri= HOST_URI \
--custom-oauth-config-auth-uri=AUTH_URI \
--custom-provider-oauth-config-scopes=SCOPES \
--custom-oauth-config-token-uri=TOKEN_URI \
--custom-oauth-config-client-id=CLIENT_ID \
--custom-oauth-config-client-secret=SECRET
```
このコマンドで、次のように置き換えます。
LOCATIONは、このアカウント コネクタを作成するリージョンに置き換えます。PROJECT_IDは、このアカウント コネクタを作成するプロジェクトのプロジェクト ID(プロジェクト番号ではない)に置き換えます。PROVIDER(接続先の SCM プロバイダ):GITHUB_ENTERPRISE、GITLAB_ENTERPRISE、またはBITBUCKET_DATA_CENTER。HOST_URIは、ソースコード管理システムの URL に置き換えます。AUTH_URIは、選択した SCM プロバイダへの認証に使用される URL に置き換えます。次に例を示します。
GitHub Enterprise:
https://<host_name>/login/oauth/authorizeGitLab Self Hosted:
https://<host_name>/oauth/authorizeBitBucket データセンター:
https://<host_name>/rest/oauth2/latest/authorize
SCOPESは、このアカウント コネクタに含めるプロバイダの OAuth スコープのカンマ区切りのリストに置き換えます。TOKEN_URI(認証コードをアクセス トークンと交換するために使用する URI)。CLIENT_IDは、OAuth アプリのクライアント ID に置き換えます。SECRETは、接続先の SCMS から提供されたシークレットに置き換えます。
アカウントの接続
アカウント コネクタを作成した後も、アカウント コネクタを使用するには、プロバイダを使用して Developer Connect をアカウントに接続する必要があります。
Google Cloud コンソールで Developer Connect を開きます。
[アカウント コネクタ] を選択します。
[アカウント コネクタ] ページには、プロジェクト内のすべてのアカウント コネクタが一覧表示されます。
プロバイダ アカウントを接続するアカウント コネクタの名前をクリックします。
[コネクタの詳細] ページが表示されます。
[アカウントを接続] をクリックします。
OAuth 認証ダイアログが表示されます。
ダイアログに情報を入力して、プロバイダに対する認証を行います。
[承認] をクリックします。
アカウント コネクタを更新する
既存のアカウント コネクタを更新できますが、更新できるのは、そのコネクタのスコープ、プロキシ設定のオン / オフの切り替え、またはその両方のみです。特定のアカウント コネクタのスコープを更新すると、そのコネクタの既存のユーザーはすべて削除されます。
Google Cloud コンソールで Developer Connect を開きます。
Developer Connect に [Git リポジトリ] ページが表示されます。
[アカウント コネクタ] を選択します。
[アカウント コネクタ] ページには、プロジェクト内のすべてのアカウント コネクタが一覧表示されます。
更新するアカウント コネクタの名前をクリックします。
[コネクタの詳細] ページが表示されます。
[編集] をクリックします。
[スコープ] リストから、このアカウント コネクタで許可するスコープを選択します。
[保存] をクリックします。
アカウント コネクタを削除する
Google Cloud コンソールで Developer Connect を開きます。
Developer Connect に [Git リポジトリ] ページが表示されます。
[アカウント コネクタ] を選択します。
[アカウント コネクタ] ページには、プロジェクト内のすべてのアカウント コネクタが一覧表示されます。
[その他] メニューから [削除] を選択します。
[コネクタの詳細] ページが表示されます。
[編集] をクリックします。