Mettre à jour les buckets d'observabilité

Vous pouvez modifier le nom à afficher, la description ou la clé Cloud Key Management Service d'un bucket d'observabilité pour refléter les changements organisationnels ou faire pivoter les clés de chiffrement.

Vous ne pouvez pas utiliser ces opérations de mise à jour pour résoudre les problèmes de conformité. Par exemple, vous ne pouvez pas utiliser ces opérations pour modifier l'emplacement d'un bucket d'observabilité ou appliquer une clé Cloud KMS à un bucket qui utilise le chiffrement par défaut de Google.

Effets de la mise à jour d'une clé Cloud KMS

La mise à jour de la clé Cloud KMS d'un bucket d'observabilité n'affecte pas les données stockées. Avant la fin de la mise à jour, la clé d'origine chiffre les nouvelles données. Une fois la mise à jour terminée, la clé mise à jour chiffre les nouvelles données.

Vous pouvez continuer à accéder aux données stockées et à les afficher à condition que la clé Cloud KMS d'origine reste activée et que le compte de service Google Cloud Observability conserve les autorisations de chiffreur/déchiffreur.

Si vous désactivez ou détruisez la clé Cloud KMS d'origine, toutes les données écrites pendant que cette clé était active deviennent immédiatement définitivement inaccessibles et illisibles.

Limites

Les restrictions suivantes s'appliquent :

  • Vous ne pouvez pas modifier l'emplacement.
  • Vous ne pouvez pas appliquer une clé Cloud KMS à un bucket d'observabilité qui utilise le chiffrement par défaut de Google.
  • Le nom à afficher ne doit pas dépasser 100 octets encodés.
  • La description ne doit pas dépasser 1 000 octets encodés.
  • Les données sont stockées pendant 30 jours. Vous pouvez omettre la période de conservation ou la définir sur 30.
  • Si vous mettez à jour la clé Cloud KMS, l'emplacement de la clé doit correspondre exactement à l'emplacement parent du bucket d'observabilité.

Avant de commencer

Configurez votre projet et vos rôles IAM, puis sélectionnez l'interface que vous prévoyez d'utiliser.

Configurer votre projet et vos rôles

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  4. Pour obtenir les autorisations nécessaires pour créer des buckets d'observabilité, demandez à votre administrateur de vous accorder le rôle Éditeur Observability (roles/observability.editor) IAM dans votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Configurer les interfaces

gcloud

Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Une fois connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

gcloud init

REST

Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

    Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.

Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l' Google Cloud authentification.

Configurer la clé Cloud KMS

Facultatif. Si vous prévoyez de mettre à jour la clé Cloud KMS utilisée par le bucket d'observabilité, procédez comme suit :

  1. Activez l'API Cloud Key Management Service.

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.

    Activer l'API

  2. Créez un trousseau de clés et une clé.

    L'emplacement du bucket d'observabilité doit correspondre à celui de la clé.

  3. Remplacez PROJECT_ID par l'ID de votre projet, puis exécutez la commande suivante :

    gcloud beta observability settings describe \
    --location=global --project=PROJECT_ID
    

    La réponse à la commande précédente liste l'ID du compte de service Google Cloud Observability.

  4. Accordez le rôle Cloud KMS CryptoKey Encrypter/Decrypter au compte de service Google Cloud Observability.

    gcloud kms keys add-iam-policy-binding \
    --project=KMS_PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-observability. \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \
    --location=KMS_KEY_LOCATION \
    --keyring=KMS_KEY_RING \
    KMS_KEY_NAME
    

    Avant d'exécuter la commande précédente, effectuez les remplacements suivants :

    • KMS_PROJECT_ID : identifiant alphanumérique unique, composé du nom de votre Google Cloud projet et d'un numéro attribué de manière aléatoire, du Google Cloud projet exécutant Cloud KMS. Pour savoir comment obtenir cet identifiant, consultez Identifier des projets.
    • service-PROJECT_NUMBER : nom du compte de service Google Cloud Observability qui a été listé à l'étape précédente.
    • KMS_KEY_LOCATION : région de la clé Cloud KMS.
    • KMS_KEY_RING : nom du trousseau de clés Cloud KMS.
    • KMS_KEY_NAME : nom de la clé Cloud KMS. Il est au format suivant : projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY.

Mettre à jour un bucket d'observabilité

REST

Pour mettre à jour un bucket d'observabilité, envoyez une requête à projects.locations.buckets.patch.

Vous devez spécifier le paramètre parent, qui identifie le bucket à mettre à jour. Ce paramètre se présente comme suit :

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

Les champs de l'expression précédente ont les significations suivantes :

Le paramètre de requête doit spécifier un champ updateMask, qui identifie les champs à modifier. Exemple :

  • Pour mettre à jour la description, utilisez updateMask=description.
  • Pour mettre à jour la clé Cloud KMS et la description, utilisez updateMask=description,cmekSettings.kmsKey.

Le corps de la requête est un Bucket objet. Vous devez renseigner tous les champs spécifiés par le masque de mise à jour. Ne renseignez pas les champs que vous ne mettez pas à jour.

Par exemple, pour ne mettre à jour que le champ description, vous pouvez utiliser l'objet Bucket suivant :

{
    "description": "Updated description for my observability bucket."
}

La réponse est un Operation objet. En règle générale, cette méthode prend moins d'une minute.

En règle générale, pour déterminer si une méthode qui renvoie un objet Operation est terminée, vous interrogez l'objet en appelantprojects.locations.operations.get jusqu'à ce que le champ Operation.done soit défini sur true. Vous pouvez ensuite utiliser d'autres champs de la structure Operation pour déterminer si la méthode a réussi ou échoué.

Toutefois, la méthode patch se termine rapidement. Par conséquent, vous pouvez attendre une minute, puis vérifier la mise à jour en listant vos buckets d'observabilité.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • LOCATION : emplacement des buckets d'observabilité. Pour lister tous les buckets d'observabilité, quel que soit leur emplacement, définissez l'emplacement sur un trait d'union (-).
  • PROJECT_ID : identifiant du projet.

Exécutez la gcloud beta observability buckets list commande :

Linux, macOS ou Cloud Shell

gcloud beta observability buckets list \
 --location=LOCATION --project=PROJECT_ID

Windows (PowerShell)

gcloud beta observability buckets list `
 --location=LOCATION --project=PROJECT_ID

Windows (cmd.exe)

gcloud beta observability buckets list ^
 --location=LOCATION --project=PROJECT_ID

La réponse liste le nom, la description et l'heure de création de chaque bucket d'observabilité. Voici un exemple de réponse lorsque la commande réussit :

---
createTime: '2026-01-21T21:39:22.381083860Z'
description: Bucket for storing spans from Cloud Trace.
name: projects/my-project/locations/us/buckets/_Trace

REST

Pour lister les buckets d'observabilité qui se trouvent dans votre projet et dans un emplacement spécifique, envoyez une requête au projects.locations.buckets.list point de terminaison.

Vous devez spécifier le paramètre parent, qui se présente comme suit :

projects/PROJECT_ID/locations/LOCATION

Les champs de l'expression précédente ont les significations suivantes :

  • PROJECT_ID : identifiant du projet.
  • LOCATION : l'emplacement du bucket d'observabilité. Si vous définissez LOCATION sur un trait d'union, (-), tous les buckets d'observabilité de votre projet sont listés.

La réponse est un tableau d' Bucket objets. Pour chaque objet, la valeur du champ name est au format suivant :

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

Par exemple, lorsqu'une commande a été émise vers le point de terminaison buckets.list avec le paramètre parent défini sur projects/my-project/locations/us, la réponse était la suivante :

{
  "buckets": [
    {
      "name": "projects/my-project/locations/us/buckets/_Trace",
      "description": "Trace Bucket",
      "createTime": "2025-01-01T15:42:30.988919645Z",
      "updateTime": "2025-02-04T15:42:30.988919645Z",
      "retentionDays": 30
    }
  ]
}

Vous pouvez émettre des commandes vers d'autres points de terminaison de l'API Observability pour obtenir plus d'informations sur le bucket dont l'ID est BUCKET_ID. Par exemple, vous pouvez lister les ensembles de données de ce bucket, ainsi que les vues et les liens de chaque ensemble de données. Pour obtenir la liste complète des points de terminaison de l'API Observability, consultez la documentation de référence de l'API Observability.

Étape suivante