このドキュメントでは、 Google Cloud コンソールまたは API を使用して、プロジェクトの Gemini Code Assist Standard と Enterprise のロギングを構成する方法について説明します。
制限事項
Google Cloud の Gemini Standard と Enterprise のログデータ記録は、IDE 内の Gemini Code Assist でのユーザー インタラクションに限定されます。
また、Gemini for Google Cloud では、ユーザーが VS Code テレメトリーをオフにしている場合、Gemini Code Assist の Standard と Enterprise のデータはログに記録されません。
始める前に
Google Cloud プロジェクトが請求先アカウントに紐づいていることを確認します。
(省略可)IAM 権限を付与する
Gemini Code Assist Standard と Enterprise のロギングを構成するには、特定の Identity and Access Management(IAM)権限が必要です。詳細については、次のセクションをご覧ください。これらの権限が IAM カスタムロールに追加されていることを確認します。
または、Gemini for Google Cloud 設定管理者(roles/cloudaicompanion.settingsAdmin
)IAM 事前定義ロールを付与することもできます。このロールには、すべての Gemini for Google Cloud管理者設定を操作するために必要なすべての権限が含まれています。
Gemini Code Assist のロギングを構成する
以降のセクションでは、Gemini Code Assist の Standard と Enterprise のアクティビティを Cloud Logging で収集して保存するために必要な手順について説明します。
Gemini Code Assist の Standard と Enterprise のプロンプトとレスポンスのログ(ユーザー入力、コンテキスト情報、レスポンスなど)。
Gemini Code Assist の Standard と Enterprise のメタデータログ(テレメトリー メタデータやユーザーが承認したコード行など)。
両方のタイプのログの詳細については、Gemini ログを表示するをご覧ください。
Gemini Code Assist のロギングを有効にする
次のオプションのいずれかを選択します。
コンソール
プロジェクトで Cloud Logging API が有効になっていることを確認します。
サブスクリプションを所有するプロジェクトに対して、次の Identity and Access Management(IAM)権限があることを確認します。
instance.queryEffectiveSetting
instance.queryEffectiveSettingBindings
loggingSettings.create
loggingSettings.list
loggingSettings.update
loggingSettings.get
cloudaicompanion.instances.loggingSettings.use
cloudaicompanion.instances.queryEffectiveSetting
settingBindings.loggingSettingsList
settingBindings.loggingSettingsGet
settingBindings.loggingSettingsUpdate
settingBindings.loggingSettingsCreate
cloudaicompanion.settingBindings.loggingSettingsUse
cloudaicompanion.instances.queryEffectiveSettingBindings
Google Cloud コンソールで、[Gemini の管理] ページに移動します。
[Gemini for Google Cloud] ページが読み込まれます。
左側のナビゲーション メニューで [設定] をクリックします。
[設定] ページが読み込まれます。
(省略可)[Code Assist メタデータのロギング] をクリックして、プロジェクトで Gemini Code Assist Standard と Enterprise のユーザーによって生成されたメタデータを記録します。
(省略可)[Code Assist のプロンプトと回答のロギング] をクリックして、プロジェクト内の Gemini Code Assist Standard と Enterprise のユーザーによって生成されたプロンプトと回答を記録します。
[変更を保存] をクリックします。
API
Gemini Code Assist Standard と Enterprise のロギングを有効にするには、loggingSettings
リソースを使用して必要なロギング設定を定義し、loggingSettings.settingBindings
リソースを使用して設定をプロジェクトにバインドします。
プロジェクトで Cloud Logging API が有効になっていることを確認します。
サブスクリプションを所有するプロジェクトに対して、次の Identity and Access Management(IAM)権限があることを確認します。
instance.queryEffectiveSetting
instance.queryEffectiveSettingBindings
loggingSettings.create
loggingSettings.list
loggingSettings.update
loggingSettings.get
cloudaicompanion.instances.loggingSettings.use
cloudaicompanion.instances.queryEffectiveSetting
settingBindings.loggingSettingsList
settingBindings.loggingSettingsGet
settingBindings.loggingSettingsUpdate
settingBindings.loggingSettingsCreate
cloudaicompanion.settingBindings.loggingSettingsUse
cloudaicompanion.instances.queryEffectiveSettingBindings
設定と設定固有の値を作成します。
トークンを取得します。
TOKEN=$(gcloud auth print-access-token)
Gemini Code Assist Standard と 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 と 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 のロギングを無効にする
次のオプションのいずれかを選択します。
コンソール
サブスクリプションを所有するプロジェクトに対して、次の Identity and Access Management(IAM)権限があることを確認します。
instance.queryEffectiveSetting
instance.queryEffectiveSettingBindings
loggingSettings.delete
loggingSettings.list
loggingSettings.update
loggingSettings.get
cloudaicompanion.instances.loggingSettings.use
cloudaicompanion.instances.queryEffectiveSetting
settingBindings.loggingSettingsList
settingBindings.loggingSettingsGet
settingBindings.loggingSettingsUpdate
settingBindings.loggingSettingsDelete
cloudaicompanion.settingBindings.loggingSettingsUse
cloudaicompanion.instances.queryEffectiveSettingBindings
Google Cloud コンソールで、[Gemini の管理] ページに移動します。
[Gemini for Google Cloud] ページが読み込まれます。
左側のナビゲーション メニューで [設定] をクリックします。
[設定] ページが読み込まれます。
[Code Assist メタデータのロギング] をクリックして、プロジェクトでの Gemini Code Assist Standard と Enterprise の使用状況に関するメタデータの記録をオフにします。
[変更を保存] をクリックします。
API
Gemini Code Assist Standard と Enterprise のロギングを無効にするには、loggingSetting
メソッドを使用します。
サブスクリプションを所有するプロジェクトに対して、次の Identity and Access Management(IAM)権限があることを確認します。
instance.queryEffectiveSetting
instance.queryEffectiveSettingBindings
loggingSettings.create
loggingSettings.list
loggingSettings.update
loggingSettings.get
cloudaicompanion.instances.loggingSettings.use
cloudaicompanion.instances.queryEffectiveSetting
settingBindings.loggingSettingsList
settingBindings.loggingSettingsGet
settingBindings.loggingSettingsUpdate
settingBindings.loggingSettingsCreate
serviceusage.services.enable
設定と設定固有の値を作成します。
トークンを取得します。
TOKEN=$(gcloud auth print-access-token)
次のコマンドを実行して、Gemini Code Assist Standard と 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 }