オブザーバビリティ バケットを更新する

オブザーバビリティ バケットの表示名、説明、Cloud Key Management Service 鍵を更新して、組織の変更を反映したり、暗号鍵をローテーションしたりできます。

これらの更新オペレーションを使用してコンプライアンスの問題を解決することはできません。たとえば、これらのオペレーションを使用して、オブザーバビリティ バケットのロケーションを変更したり、Google デフォルトの暗号化を使用するバケットに Cloud KMS 鍵を適用したりすることはできません。

Cloud KMS 鍵を更新した場合の影響

オブザーバビリティ バケットの Cloud KMS 鍵を更新しても、保存されているデータには影響しません。つまり、更新が完了するまで、元の鍵で新しいデータが暗号化されます。更新が完了すると、更新された鍵で新しいデータが暗号化されます。

元の Cloud KMS 鍵が 有効になっていて 、Google Cloud Observability サービス アカウントに 暗号化/復号の権限が付与されている限り、保存されたデータに引き続きアクセスして表示できます。

元の Cloud KMS 鍵を無効にするか破棄すると、その鍵が有効になっている間に書き込まれたデータはすべて完全にアクセスできなくなり、読み取れなくなります

制限事項

次の制限が適用されます。

  • ロケーションを変更することはできません。
  • Google デフォルトの暗号化を使用するオブザーバビリティ バケットに Cloud KMS 鍵を適用することはできません。
  • 表示名は 100 エンコード バイトを超えないようにしてください。
  • 説明は 1,000 エンコード バイトを超えないようにしてください。
  • データは 30 日間保存されます。保持期間を省略するか、30 に設定できます。
  • Cloud KMS 鍵を更新する場合、鍵のロケーションはオブザーバビリティ バケットの親ロケーションと完全に一致する必要があります。

始める前に

プロジェクトと IAM ロールを構成し、使用するインターフェースを選択します。

プロジェクトとロールを構成する

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. 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

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

  4. 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

  5. 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

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

  7. 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

  8. オブザーバビリティ バケットの作成に必要な権限を取得するには、プロジェクトに対するオブザーバビリティ編集者 roles/observability.editor)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

    必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

インターフェースを構成する

gcloud

コンソール Google Cloud で Cloud Shell をアクティブにします。

Cloud Shell をアクティブにする

コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。

REST

このページの REST API サンプルをローカル開発環境で使用するには、 gcloud CLI に指定した認証情報を使用します。

    Google Cloud CLI をインストールします。

    外部 ID プロバイダ(IdP)を使用している場合は、まず フェデレーション ID を使用して gcloud CLI にログインする必要があります

詳細については、 REST を使用して認証する 認証ドキュメントの Google Cloud をご覧ください。

Cloud KMS 鍵を構成する

省略可。オブザーバビリティ バケットで使用する Cloud KMS 鍵を更新する場合は、次の操作を行います。

  1. Cloud Key Management Service API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限が付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください

    API の有効化

  2. 鍵リングと鍵を作成します

    オブザーバビリティ バケットのロケーションは、鍵のロケーションと一致している必要があります。

  3. PROJECT_ID をプロジェクトの ID に置き換えて、次の コマンドを実行します。

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

    上記のコマンドのレスポンスには、Google Cloud Observability サービス アカウントの ID が一覧表示されます。

  4. Cloud KMS CryptoKey の暗号化/復号 のロールを Google Cloud Observability サービス アカウントに付与します。

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

    上記のコマンドを実行する前に、次のように置き換えます。

    • KMS_PROJECT_ID: Cloud KMS を実行している プロジェクトの一意の英数字の ID で、 Google Cloud プロジェクト名とランダムに割り当てられた 番号で構成されます。 Google Cloud この ID を取得する方法については、 プロジェクトの識別をご覧ください。
    • service-PROJECT_NUMBER: 前の手順で一覧表示された Google Cloud Observability サービス アカウントの名前。
    • KMS_KEY_LOCATION: Cloud KMS 鍵のリージョン。
    • KMS_KEY_RING: Cloud KMS キーリングの名前。
    • KMS_KEY_NAME: Cloud KMS 鍵の名前。次のような形式になります。 projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY

オブザーバビリティ バケットを更新する

REST

オブザーバビリティ バケットを更新するには、 projects.locations.buckets.patch にリクエストを送信します。

更新するバケットを識別する親パラメータを指定する必要があります。このパラメータの形式は次のとおりです。

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

上記の式のフィールドの意味は次のとおりです。

  • PROJECT_ID: プロジェクトの ID。
  • LOCATION: オブザーバビリティ バケットのロケーション
  • BUCKET_ID: オブザーバビリティ バケットの ID。たとえば、この ID は _Trace になります。

クエリ パラメータには、変更するフィールドを識別する updateMask フィールドを指定する必要があります。次に例を示します。

  • 説明を更新するには、updateMask=description を使用します。
  • Cloud KMS 鍵と説明を更新するには、updateMask=description,cmekSettings.kmsKey を使用します。

リクエスト本文は Bucket オブジェクトです。更新マスクで指定されたすべてのフィールドに入力する必要があります。更新しないフィールドには入力しないでください。

たとえば、description フィールドのみを更新するには、次の Bucket オブジェクトを使用します。

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

レスポンスは Operation オブジェクトです。 通常、このメソッドは 1 分以内に完了します。

通常、Operation オブジェクト を返すメソッドが完了したかどうかを確認するには、Operation.done フィールドが true に設定されるまで projects.locations.operations.get を呼び出してオブジェクトをポーリングします。その後、Operation 構造の他のフィールドを使用して、メソッドが成功したか失敗したかを判断できます。

ただし、patch メソッドはすぐに完了します。そのため、1 分待ってからオブザーバビリティ バケットを一覧表示して更新を確認することをおすすめします。

gcloud

後述のコマンドデータを使用する前に、 次のように置き換えます。

  • LOCATION: オブザーバビリティ バケットのロケーション。ロケーションに関係なくすべてのオブザーバビリティ バケットを一覧表示するには、ロケーションをハイフン(-)に設定します。
  • PROJECT_ID: プロジェクトの ID。

gcloud beta observability buckets list コマンドを実行します。

Linux、macOS、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

レスポンスには、各オブザーバビリティ バケットの名前、説明、作成時刻が一覧表示されます。 コマンドが成功した場合のレスポンスの例を次に示します。

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

REST

プロジェクト内の特定の ロケーションにあるオブザーバビリティ バケットを一覧表示するには、 projects.locations.buckets.list エンドポイントにリクエストを送信します。

次の形式の親パラメータを指定する必要があります。

projects/PROJECT_ID/locations/LOCATION

上記の式のフィールドの意味は次のとおりです。

  • PROJECT_ID: プロジェクトの ID。
  • LOCATION: オブザーバビリティ バケットのロケーションLOCATION をハイフン (-) に設定すると、プロジェクト内のすべてのオブザーバビリティ バケット が一覧表示されます。

レスポンスは Bucket オブジェクトの配列です。各オブジェクトの name フィールドの値の形式は次のとおりです。

projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

たとえば、親パラメータを projects/my-project/locations/us に設定して buckets.list エンドポイントにコマンドを発行した場合、レスポンスは次のようになります。

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

BUCKET_ID が ID のバケットの詳細情報を取得するには、他の Observability API エンドポイントにコマンドを発行します。たとえば、そのバケットのデータセット、各データセットのビューとリンクを一覧表示できます。Observability API エンドポイントの一覧については、 Observability API リファレンス ドキュメントをご覧ください。

次のステップ