Gemini Code Assist Standard と Enterprise のロギングを構成する

このドキュメントでは、 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 のロギングを有効にする

次のオプションのいずれかを選択します。

コンソール

  1. プロジェクトで Cloud Logging API が有効になっていることを確認します。

  2. サブスクリプションを所有するプロジェクトに対して、次の 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
  3. Google Cloud コンソールで、[Gemini の管理] ページに移動します。

    [Gemini for Google Cloud] に移動

    [Gemini for Google Cloud] ページが読み込まれます。

  4. 左側のナビゲーション メニューで [設定] をクリックします。

    [設定] ページが読み込まれます。

  5. (省略可)[Code Assist メタデータのロギング] をクリックして、プロジェクトで Gemini Code Assist Standard と Enterprise のユーザーによって生成されたメタデータを記録します。

  6. (省略可)[Code Assist のプロンプトと回答のロギング] をクリックして、プロジェクト内の Gemini Code Assist Standard と Enterprise のユーザーによって生成されたプロンプトと回答を記録します。

  7. [変更を保存] をクリックします。

API

Gemini Code Assist Standard と Enterprise のロギングを有効にするには、loggingSettings リソースを使用して必要なロギング設定を定義し、loggingSettings.settingBindings リソースを使用して設定をプロジェクトにバインドします。

  1. プロジェクトで Cloud Logging API が有効になっていることを確認します。

  2. サブスクリプションを所有するプロジェクトに対して、次の 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
  3. 設定と設定固有の値を作成します。

    1. トークンを取得します。

      TOKEN=$(gcloud auth print-access-token)
      
  4. Gemini Code Assist Standard と Enterprise のログを有効にします。ユーザーログとメタデータログは、それぞれ log_prompts_and_responses フィールドと log_metadata フィールドで有効になります。フィールドのいずれかを有効にしない場合は、リクエストから除外します。

    1. 次のコマンドを実行して、設定を作成します。

      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_responseslog_metadatatrue に設定されていることを示すレスポンス本文が返されます。

      {
        "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
      }
      
    2. 次のコマンドを実行して、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 のロギングを無効にする

次のオプションのいずれかを選択します。

コンソール

  1. サブスクリプションを所有するプロジェクトに対して、次の 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
  2. Google Cloud コンソールで、[Gemini の管理] ページに移動します。

    [Gemini for Google Cloud] に移動

    [Gemini for Google Cloud] ページが読み込まれます。

  3. 左側のナビゲーション メニューで [設定] をクリックします。

    [設定] ページが読み込まれます。

  4. [Code Assist メタデータのロギング] をクリックして、プロジェクトでの Gemini Code Assist Standard と Enterprise の使用状況に関するメタデータの記録をオフにします。

  5. [変更を保存] をクリックします。

API

Gemini Code Assist Standard と Enterprise のロギングを無効にするには、loggingSetting メソッドを使用します。

  1. サブスクリプションを所有するプロジェクトに対して、次の 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
  2. 設定と設定固有の値を作成します。

    1. トークンを取得します。

      TOKEN=$(gcloud auth print-access-token)
      
  3. 次のコマンドを実行して、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_responseslog_metadatafalse に設定されていることを示すレスポンス本文が返されます。

      {
        "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
      }
      

次のステップ