Configurer la journalisation Gemini Code Assist Standard et Enterprise

Ce document explique comment configurer la journalisation Gemini Code Assist Standard et Enterprise pour un projet à l'aide de la console Google Cloud ou d'une API.

Limites

L'enregistrement des données de journaux Gemini Standard et Enterprise dans Google Cloud est limité aux interactions des utilisateurs avec Gemini Code Assist dans l'IDE.

De plus, Gemini pour Google Cloud ne consigne pas les données pour Gemini Code Assist Standard et Enterprise si la télémétrie VS Code est désactivée par l'utilisateur.

Avant de commencer

Vérifiez que votre projet Google Cloud est associé à un compte de facturation.

Vérifier les autorisations IAM

Pour configurer la journalisation Gemini Code Assist Standard et Enterprise, vous pouvez attribuer le rôle IAM (Identity and Access Management) prédéfini Administrateur des paramètres de Gemini pour Google Cloud (roles/cloudaicompanion.settingsAdmin), qui inclut toutes les autorisations requises pour utiliser tous les paramètres d'administrateur de Gemini pour Google Cloud.

Vous pouvez également modifier les rôles IAM personnalisés. Vous devez disposer d'autorisations IAM spécifiques, détaillées dans les sections suivantes.

Configurer la journalisation Gemini Code Assist

Les sections suivantes décrivent les étapes à suivre pour activer la collecte et le stockage de l'activité Gemini Code Assist Standard et Enterprise dans Cloud Logging, y compris :

  • les journaux des prompts et des réponses de Gemini Code Assist Standard et Enterprise, tels que les entrées utilisateur, les informations contextuelles et les réponses ;

  • les journaux de métadonnées Gemini Code Assist Standard et Enterprise, tels que les métadonnées de télémétrie et les lignes de code acceptées par l'utilisateur.

Pour en savoir plus sur les deux types de journaux, consultez Afficher les journaux Gemini.

Activer la journalisation pour Gemini Code Assist

Sélectionnez l'une des options suivantes :

Console

  1. Vérifiez que vous avez activé l'API Cloud Logging dans le projet.

  2. Vérifiez que vous disposez des autorisations IAM suivantes sur le projet propriétaire de l'abonnement :

    • 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. Dans la console Google Cloud , accédez à la page Administration de Gemini.

    Accéder à Gemini pour Google Cloud

    La page Gemini pour Google Cloud se charge.

  4. Cliquez sur Paramètres dans le menu de navigation de gauche.

    La page Paramètres se charge.

  5. (Facultatif) Cliquez sur Journalisation des métadonnées Code Assist pour enregistrer les métadonnées générées par les utilisateurs de Gemini Code Assist Standard et Enterprise dans le projet.

  6. (Facultatif) Cliquez sur Journalisation des prompts et des réponses de Code Assist pour enregistrer les prompts et les réponses générés par les utilisateurs de Gemini Code Assist Standard et Enterprise dans le projet.

  7. Cliquez sur Enregistrer les modifications.

API

Pour activer la journalisation pour Gemini Code Assist Standard et Enterprise, utilisez la ressource loggingSettings pour définir les paramètres de journalisation souhaités, puis utilisez la ressource loggingSettings.settingBindings pour associer les paramètres à un projet :

  1. Vérifiez que vous avez activé l'API Cloud Logging dans le projet.

  2. Vérifiez que vous disposez des autorisations IAM suivantes sur le projet propriétaire de l'abonnement :

    • 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. Créez le paramètre et une valeur spécifique à ce paramètre :

    1. Obtenez le jeton :

      TOKEN=$(gcloud auth print-access-token)
      
  4. Activez les journaux Gemini Code Assist Standard et Enterprise. Les journaux utilisateur et les journaux de métadonnées sont activés avec les champs log_prompts_and_responses et log_metadata, respectivement. Si vous ne souhaitez pas activer l'un des champs, excluez-le de la requête.

    1. Exécutez la commande suivante pour créer le paramètre :

      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"
      

      Remplacez les éléments suivants :

      • CONTAINER_PROJECT_NAME : saisissez l'ID du projet dans lequel la ressource de liaison est stockée. Il s'agit du projet parent de la liaison.
      • LOGS_SETTING_ID : saisissez un nom de paramètre unique, tel que gcalm.

      Si la commande aboutit, elle renvoie un corps de réponse qui indique que log_prompts_and_responses et log_metadata sont définis sur 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
      }
      
    2. Exécutez la commande suivante pour créer la liaison du paramètre de journaux Gemini Code Assist Standard et 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"
      

    Remplacez les éléments suivants :

    • TARGET_PROJECT_NAME : saisissez le projet cible auquel la liaison doit être associée. Il s'agit souvent du projet de conteneur. Toutefois, vous pouvez associer un paramètre à plusieurs projets afin que la ressource de paramètre n'ait pas besoin d'être dupliquée.
    • LOGS_BINDING_ID : utilisez le même LOGS_SETTING_ID que celui que vous avez utilisé pour créer le paramètre, mais ajoutez-y b1. Par exemple, utilisez gcalmb1.

    Si la commande aboutit, elle renvoie les métadonnées de l'opération au format suivant :

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

Désactiver la journalisation pour Gemini Code Assist

Sélectionnez l'une des options suivantes :

Console

  1. Vérifiez que vous disposez des autorisations IAM suivantes sur le projet propriétaire de l'abonnement :

    • 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. Dans la console Google Cloud , accédez à la page Administration de Gemini.

    Accéder à Gemini pour Google Cloud

    La page Gemini pour Google Cloud se charge.

  3. Cliquez sur Paramètres dans le menu de navigation de gauche.

    La page Paramètres se charge.

  4. Cliquez sur Journalisation des métadonnées Code Assist pour désactiver l'enregistrement des métadonnées liées à l'utilisation de Gemini Code Assist Standard et Enterprise dans le projet.

  5. Cliquez sur Enregistrer les modifications.

API

Pour désactiver la journalisation pour Gemini Code Assist Standard et Enterprise, utilisez la méthode loggingSetting.

  1. Vérifiez que vous disposez des autorisations IAM suivantes sur le projet propriétaire de l'abonnement :

    • 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. Créez le paramètre et une valeur spécifique à ce paramètre :

    1. Obtenez le jeton :

      TOKEN=$(gcloud auth print-access-token)
      
  3. Exécutez la commande suivante pour désactiver les paramètres de journaux Gemini Code Assist Standard et 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"
    

    Remplacez les éléments suivants :

    • CONTAINER_PROJECT_NAME : saisissez l'ID du projet parent.
    • LOGS_SETTING_ID : saisissez le nom du paramètre existant, par exemple gcalm.

      Si la commande aboutit, elle renvoie un corps de réponse qui indique que log_prompts_and_responses et log_metadata sont définis sur 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
      }
      

Étapes suivantes