Configurer la journalisation de 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 Gemini Enterprise dans Google Cloud est limité aux interactions des utilisateurs avec Gemini Code Assist dans l'IDE.

De plus, Gemini pour Google Cloud n'enregistre 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.

(Facultatif) Accorder des autorisations IAM

Pour configurer la journalisation Gemini Code Assist Standard et Enterprise, vous devez disposer d'autorisations Identity and Access Management (IAM) spécifiques, détaillées dans les sections suivantes. Assurez-vous que ces autorisations sont ajoutées aux rôles IAM personnalisés.

Vous pouvez également attribuer le rôle IAM prédéfini Administrateur des paramètres 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.

Configurer la journalisation de 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 :

  • Journaux des requêtes et des réponses de Gemini Code Assist Standard et Enterprise, tels que les saisies utilisateur, les informations contextuelles et les réponses.

  • 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 Identity and Access Management (IAM) suivantes pour 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 pour 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 requêtes et réponses de Code Assist pour enregistrer les requêtes et les réponses générées 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 Identity and Access Management (IAM) suivantes pour 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 "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 même projet que le 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 réussit, 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 Identity and Access Management (IAM) suivantes pour 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 pour 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 Identity and Access Management (IAM) suivantes pour 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 des 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