このドキュメントでは、Developer Connect 分析情報を設定して、Gemini Cloud Assist Investigations と Cloud Logging で Developer Connect 分析情報を使用できるようにする方法について説明します。
Developer Connect 分析情報の詳細を確認する。
始める前に
-
ログイン 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.- Google Cloud CLI をインストールします。
以前にインストールした場合は、
gcloud components updateを実行して最新バージョンがインストールされていることを確認します。 -
Developer Connect サービス エージェントを作成します。
gcloud beta services identity create \ --service=developerconnect.googleapis.com \ --project=PROJECT_NUM
ロール
roles/developerconnect.serviceAgentがこのサービス エージェントに自動的に追加されます。
Developer Connect を有効にすると、 Secret Manager API も有効になります。
必要なロール
分析情報構成のスコープが 管理プロジェクト(フォルダ境界)で管理される App Hub アプリケーションに設定されている場合:
- 分析情報を構成するユーザー には、管理プロジェクトに対する次のロールが必要です。
- Developer Connect 分析情報管理者(
roles/developerconnect.insightsAdmin) - App Hub 閲覧者(
roles/apphub.viewer)
- Developer Connect 分析情報管理者(
- Developer Connect サービス エージェント には、次のロールが必要です。
- 管理プロジェクトに対する Developer Connect サービス エージェントのロール(
roles/developerconnect.serviceAgent)と Developer Connect 分析情報エージェントのロール(roles/developerconnect.insightsAgent)。 - 管理プロジェクトを含むフォルダ の Developer Connect 分析情報エージェントのロール(
roles/developerconnect.insightsAgent)。
- 管理プロジェクトに対する Developer Connect サービス エージェントのロール(
分析情報構成のスコープがホスト プロジェクトで管理される App Hub アプリケーションに設定されている場合:
- 分析情報を構成するユーザー には、ホスト プロジェクトに対する次のロールが必要です。
- Developer Connect 分析情報管理者(
roles/developerconnect.insightsAdmin) - App Hub 閲覧者(
roles/apphub.viewer)
- Developer Connect 分析情報管理者(
- Developer Connect サービス エージェント には、次のロールが必要です。
- ホスト プロジェクトに対する Developer Connect サービス エージェントのロール(
roles/developerconnect.serviceAgent)と Developer Connect 分析情報エージェントのロール(roles/developerconnect.insightsAgent)。 - すべてのサービス プロジェクトに対する Developer Connect 分析情報エージェントのロール(
roles/developerconnect.insightsAgent)。 - 同じフォルダにない既存のリソース(Cloud Build や Artifact Registry など)を使用している場合は、それらのプロジェクトのホスト プロジェクトから Developer Connect サービス エージェントに Developer Connect 分析情報エージェントのロールを付与します。
- ホスト プロジェクトに対する Developer Connect サービス エージェントのロール(
分析情報構成のスコープが個々のターゲット プロジェクトに設定されている場合:
- 分析情報を構成するユーザー には、ホスト プロジェクトに対する次のロールが必要です。
- Developer Connect 分析情報管理者(
roles/developerconnect.insightsAdmin)。
- Developer Connect 分析情報管理者(
- Developer Connect サービス エージェント には、次のロールが必要です。
- ホスト プロジェクトに対する Developer Connect サービス エージェントのロール(
roles/developerconnect.serviceAgent)と Developer Connect 分析情報エージェントのロール(roles/developerconnect.insightsAgent)。 - すべてのターゲット プロジェクトに対する Developer Connect 分析情報エージェントのロール(
roles/developerconnect.insightsAgent)。
- ホスト プロジェクトに対する Developer Connect サービス エージェントのロール(
コマンドラインから分析情報を表示するには、分析情報を表示するユーザー に次の権限が必要です。
- ホスト プロジェクトに対する Developer Connect 分析情報閲覧者(
roles/developerconnect.insightsViewer)。 - ホスト プロジェクトに対する Container Analysis 実行回数の閲覧者のロール(
roles/containeranalysis.occurrences.viewer)。
個々のツールを使用する場合や特定のユースケースでは、追加の Google Cloud ロールや Google 以外のロールと 権限が必要になる場合があります。権限エラーが発生した場合は、適切なロールと権限があることを管理者に確認してください。
これらのロールと権限に加えて、インタラクティブ ワークフローを使用して新しい分析情報構成を構成する場合は、指定したすべてのリソースにアクセスする権限が必要です。
追加の前提条件
Developer Connect 分析情報のスコープを App Hub アプリケーションに設定する場合は、そのアプリケーションを作成する必要があります。
Developer Connect 分析情報は、アプリケーションのすべての App Hub セットアップ モデルをサポートしています。 Gemini Cloud Assist やその他の アプリケーション中心の機能を使用できるように、アプリケーション管理用に構成された フォルダ を使用することをおすすめします。
Developer Connect 分析情報のスコープを App Hub アプリケーションではなくプロジェクトに設定することもできます。
Cloud Build とサポートされているソースコード管理システム(GitHub、GitLab、Bitbucket)を使用する必要があります。
ログに Provenance 情報を含めるには、ビルドで Provenance を生成する必要があります。
これは、次のいずれかのソースから取得できます。
Cloud Build と Artifact Registry を使用する。
Cloud Build を使用してイメージをビルドできます。ビルドはトリガーを使用して開始する必要があり、ビルドプロセスで Provenance を生成する必要があります。 ビルドによって生成されたアーティファクトは Artifact Registry に保存されます。
GitHub 署名を使用する。
docker/build-push-actionのバージョン 4 以降を使用すると、アクションによって Provenance 署名がイメージに自動的に追加されます。または、
actions/attest-build-provenanceをpush-to-registryオプションとともに使用して、Provenance 証明書を Container Registry に公開することもできます。これにより、 レジストリ プロバイダに関係なく、Developer Connect 分析情報で読み取ることができます。docker buildx provenanceフラグを使用する。docker buildxレジストリ エクスポータを使用する。また、
oci-artifactをtrueに設定します。 詳細
GitHub 署名は、一般公開されているリポジトリから取得する必要があります。
docker buildxアーティファクトは、コンテナ レジストリで一般公開されている必要があります。Provenance がなくても Developer Connect 分析情報を使用できますが、分析情報の有用性は低下します。
Gemini Cloud Assist
Developer Connect 分析情報では、アプリケーションのデプロイ イベントを調査コンテキストに追加することで、Gemini Cloud Assist のエクスペリエンスが向上します。Gemini Cloud Assist Investigations で Developer Connect 分析情報を使用するように Gemini Cloud Assist を有効にできます。
Developer Connect 分析情報のスコープを App Hub アプリケーションに設定する場合は、分析情報構成がそのアプリケーションと同じプロジェクトにある必要があります。
プロジェクトでスコープ設定されている場合、構成はスコープ内のプロジェクトと同じプロジェクトにある必要はありません。
他の該当するリソース(Developer Connect 分析情報、Google Kubernetes Engine クラスタ、Cloud Run サービス、Cloud Build、Artifact Registry リポジトリなど)を同じ場所に配置することをおすすめしますが、必須ではありません。
App Hub でアプリケーションを作成する
これは、Developer Connect 分析情報のスコープを App Hub アプリケーションに設定する場合にのみ関連します。
App Hub を設定する。Gemini Cloud Assist やその他の アプリケーション中心の機能を使用できるように、アプリケーション管理用に構成された フォルダ を使用することをおすすめします。
App Hub アプリケーションを作成する。
- 既存の Google Cloud リソースからアプリケーションを作成するには、 リソースをアプリケーションに登録するをご覧ください。
- 新しいアプリケーションを設計してデプロイするには、 App Design Center を使用します。
アプリケーションの Developer Connect 分析情報を構成する
次のコマンドを使用して、Developer Connect 分析情報のインサイトを作成します。
gcloud developer-connect insights-configs create DCI_CONFIG_NAME \
--project PROJECT_ID \
--app-hub-application APP_HUB_APPLICATION_NAME \
--target-projects TARGET_PROJECT_IDS \
--location LOCATION
ここで
DCI_CONFIG_NAME は、生成される分析情報 構成の名前です。
PROJECT_ID は、Developer Connect 分析情報構成を 作成するプロジェクトの ID です。
APP_HUB_APPLICATION_NAME は、以前に作成した App Hub アプリケーションの完全修飾名です。
これは、この分析情報構成のスコープをプロジェクトではなく App Hub アプリケーションに設定する場合にのみ適用されます。
TARGET_PROJECT_IDS は、この Developer Connect 分析情報構成のスコープを設定するプロジェクトの ID のカンマ区切りのリストです。
これは、この分析情報構成のスコープを App Hub アプリケーションではなくプロジェクト に設定する場合にのみ適用されます。
LOCATION は、この分析情報構成を作成するリージョンです。
このコマンドは自動検出プロセスをトリガーし、プロジェクト内のすべての App Hub ワークロードとサービスを検出します。このプロセスでは、必要な権限があるかどうかも確認します。
このコマンドは OPERATION_ID も返します。これを使用して、構成のステータスを確認できます。
Developer Connect 分析情報構成のステータスを確認できます。
gcloud developer-connect operations describe OPERATION_ID
ここで、OPERATION_ID は gcloud developer-connect insights-configs create
コマンドから返された完全指定のオペレーション ID
です。
このオペレーションは、最初のリクエストの受信です。その中の response フィールドは、作成タスクが受け入れられた瞬間のリソースのスナップショットです。
検出プロセスの状態を取得するには、insights-configs describe コマンドを実行します。
自動検出プロセスが完了したら、次のコマンドを実行して、この Developer Connect 分析情報のステータスを確認できます。
gcloud developer-connect insights-configs describe DCI_CONFIG_NAME \
--location=REGION
ここで
DCI_CONFIG_NAME は、
gcloud developer-connect insights-configs createコマンドで使用した名前です。REGION は、構成を作成したリージョンです。
次のステップ
- Developer Connect 分析情報の詳細を確認する
- Developer Connect 分析情報の使用方法を確認する