このドキュメントでは、Google Cloud コンソールまたは API を使用して、プロジェクトの Gemini Code Assist Standard と Gemini Code Assist Enterprise のロギングを構成する方法について説明します。
制限事項
Google Cloud の Gemini Standard と Gemini Enterprise のログデータの記録は、IDE 内の Gemini Code Assist でのユーザー インタラクションに限定されます。
また、Gemini for Google Cloud では、ユーザーが VS Code テレメトリーをオフにしている場合、Gemini Code Assist Standard と Gemini Code Assist Enterprise のデータはログに記録されません。
始める前に
Google Cloud プロジェクトが請求先アカウントに紐づいていることを確認します。
IAM 権限を確認する
Gemini Code Assist Standard と Gemini Code Assist Enterprise のロギングを構成するには、Gemini for Google Cloud の設定(管理者)(roles/cloudaicompanion.settingsAdmin)Identity and Access Management 事前定義ロールを付与します。このロールには、すべての Gemini for Google Cloud 管理者設定を操作するために必要なすべての権限が含まれています。
または、カスタム IAM ロールを更新することもできます。特定の IAM 権限が必要です。詳細については、次のセクションをご覧ください。
Gemini Code Assist のロギングを構成する
以降のセクションでは、Gemini Code Assist Standard と Gemini Code Assist Enterprise のアクティビティを Cloud Logging で収集して保存するために必要な手順について説明します。
Gemini Code Assist Standard と Gemini Code Assist Enterprise のプロンプトとレスポンスのログ(ユーザー入力、コンテキスト情報、レスポンスなど)。
Gemini Code Assist Standard と Gemini Code Assist Enterprise のメタデータログ(テレメトリー メタデータやユーザーが承認したコード行など)。
両方のタイプのログの詳細については、Gemini ログを確認するをご覧ください。
Gemini Code Assist のロギングを有効にする
次のオプションのいずれかを選択します。
コンソール
プロジェクトで Cloud Logging API が有効になっていることを確認します。
サブスクリプションを所有するプロジェクトに対して、次の IAM 権限があることを確認します。
instance.queryEffectiveSettinginstance.queryEffectiveSettingBindingsloggingSettings.createloggingSettings.listloggingSettings.updateloggingSettings.getcloudaicompanion.instances.loggingSettings.usecloudaicompanion.instances.queryEffectiveSettingsettingBindings.loggingSettingsListsettingBindings.loggingSettingsGetsettingBindings.loggingSettingsUpdatesettingBindings.loggingSettingsCreatecloudaicompanion.settingBindings.loggingSettingsUsecloudaicompanion.instances.queryEffectiveSettingBindings
Google Cloud コンソールで、[Gemini の管理] ページに移動します。
[Gemini for Google Cloud] ページが読み込まれます。
左側のナビゲーション メニューで [設定] をクリックします。
[設定] ページが読み込まれます。
(省略可)[Gemini Code Assist メタデータのロギング] をクリックして、プロジェクトで Gemini Code Assist Standard と Gemini Code Assist Enterprise のユーザーによって生成されたメタデータを記録します。
(省略可)[Gemini Code Assist のプロンプトと回答のロギング] をクリックして、プロジェクト内の Gemini Code Assist Standard と Gemini Code Assist Enterprise のユーザーによって生成されたプロンプトと回答を記録します。
[変更を保存] をクリックします。
API
Gemini Code Assist Standard と Gemini Code Assist Enterprise のロギングを有効にするには、loggingSettings リソースを使用して必要なロギング設定を定義し、loggingSettings.settingBindings リソースを使用して設定をプロジェクトにバインドします。
プロジェクトで Cloud Logging API が有効になっていることを確認します。
サブスクリプションを所有するプロジェクトに対して、次の IAM 権限があることを確認します。
instance.queryEffectiveSettinginstance.queryEffectiveSettingBindingsloggingSettings.createloggingSettings.listloggingSettings.updateloggingSettings.getcloudaicompanion.instances.loggingSettings.usecloudaicompanion.instances.queryEffectiveSettingsettingBindings.loggingSettingsListsettingBindings.loggingSettingsGetsettingBindings.loggingSettingsUpdatesettingBindings.loggingSettingsCreatecloudaicompanion.settingBindings.loggingSettingsUsecloudaicompanion.instances.queryEffectiveSettingBindings
設定と設定固有の値を作成します。
トークンを取得します。
TOKEN=$(gcloud auth print-access-token)
Gemini Code Assist Standard と Gemini Code Assist Enterprise のログを有効にします。ユーザーログとメタデータログは、それぞれ
log_prompts_and_responsesフィールドとlog_metadataフィールドで有効になります。フィールドのいずれかを有効にしない場合は、リクエストから除外します。次のコマンドを実行して、設定を作成します。
curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "log_prompts_and_responses": true, "log_metadata": true, } ' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=LOGS_SETTING_ID"次のように置き換えます。
CONTAINER_PROJECT_NAME: バインディング リソースが保存されているプロジェクトのプロジェクト ID を入力します。これはバインディングの親プロジェクトです。LOGS_SETTING_ID: 一意の設定名を入力します(gcalmなど)。
コマンドが成功すると、
log_prompts_and_responsesとlog_metadataがtrueに設定されていることを示すレスポンス本文が返されます。{ "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID", "createTime": "2025-01-23T15:22:49.717166932Z", "updateTime": "2025-01-23T15:22:49.717166932Z", "log_prompts_and_responses": true, "log_metadata": true }次のコマンドを実行して、Gemini Code Assist Standard と Gemini Code Assist Enterprise のログ設定バインディングを作成します。
curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "target": "projects/TARGET_PROJECT_NAME" }' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID/settingBindings?setting_binding_id=LOGS_BINDING_ID"
次のように置き換えます。
TARGET_PROJECT_NAME: バインディングをバインドするターゲット プロジェクトを入力します。多くの場合、これはコンテナ プロジェクトと同じです。ただし、設定を複数のプロジェクトにバインドして、設定リソースを複製する必要をなくすことができます。LOGS_BINDING_ID: 設定を作成したときと同じ LOGS_SETTING_ID を使用しますが、b1を追加します。たとえば、gcalmb1を使用します。
コマンドが成功すると、オペレーション メタデータが次の形式で返されます。
{ "name": "projects/<var>CONTAINER_PROJECT_NAME</var>/locations/global/operations/operation-1737646069712-62c6140bb04bb-49261230-43701daf", "metadata": { "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata", "createTime": "2025-01-23T15:27:50.076075570Z", "target": "projects/<var>TARGET_PROJECT_NAME</var>/locations/global/loggingSettings/<var>LOGS_SETTING_ID</var>/settingBindings/<var>LOGS_BINDING_ID</var>", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Gemini Code Assist のロギングを無効にする
次のオプションのいずれかを選択します。
コンソール
サブスクリプションを所有するプロジェクトに対して、次の IAM 権限があることを確認します。
instance.queryEffectiveSettinginstance.queryEffectiveSettingBindingsloggingSettings.deleteloggingSettings.listloggingSettings.updateloggingSettings.getcloudaicompanion.instances.loggingSettings.usecloudaicompanion.instances.queryEffectiveSettingsettingBindings.loggingSettingsListsettingBindings.loggingSettingsGetsettingBindings.loggingSettingsUpdatesettingBindings.loggingSettingsDeletecloudaicompanion.settingBindings.loggingSettingsUsecloudaicompanion.instances.queryEffectiveSettingBindings
Google Cloud コンソールで、[Gemini の管理] ページに移動します。
[Gemini for Google Cloud] ページが読み込まれます。
左側のナビゲーション メニューで [設定] をクリックします。
[設定] ページが読み込まれます。
[Gemini Code Assist メタデータのロギング] をクリックして、プロジェクトでの Gemini Code Assist Standard と Gemini Code Assist Enterprise の使用状況に関するメタデータの記録をオフにします。
[変更を保存] をクリックします。
API
Gemini Code Assist Standard と Gemini Code Assist Enterprise のロギングを無効にするには、loggingSetting メソッドを使用します。
サブスクリプションを所有するプロジェクトに対して、次の IAM 権限があることを確認します。
instance.queryEffectiveSettinginstance.queryEffectiveSettingBindingsloggingSettings.createloggingSettings.listloggingSettings.updateloggingSettings.getcloudaicompanion.instances.loggingSettings.usecloudaicompanion.instances.queryEffectiveSettingsettingBindings.loggingSettingsListsettingBindings.loggingSettingsGetsettingBindings.loggingSettingsUpdatesettingBindings.loggingSettingsCreateserviceusage.services.enable
設定と設定固有の値を作成します。
トークンを取得します。
TOKEN=$(gcloud auth print-access-token)
次のコマンドを実行して、Gemini Code Assist Standard と Gemini Code Assist Enterprise のログ設定を無効にします。
curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "log_prompts_and_responses": false, "log_metadata": false, } ' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_metadata_id=LOGS_SETTING_ID"次のように置き換えます。
CONTAINER_PROJECT_NAME: 親プロジェクト ID を入力します。LOGS_SETTING_ID: 既存の設定名を入力します(gcalmなど)。コマンドが成功すると、
log_prompts_and_responsesとlog_metadataがfalseに設定されていることを示すレスポンス本文が返されます。{ "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID", "createTime": "2025-01-23T15:22:49.717166932Z", "updateTime": "2025-01-23T15:22:49.717166932Z", "log_prompts_and_responses": false, "log_metadata": false }