Pub/Sub を使用して状態の変更をモニタリングする

このページでは、Pub/Sub を使用して Cloud KMS リソースの状態変化に関する通知を作成する方法について説明します。

始める前に

API を有効にして必要な権限を付与し、Pub/Sub トピックを作成するには、「アセットの変更のモニタリング」の始める前にの手順に沿って操作します。

フィードの構成

関心のある変更のタイプとリソースをモニタリングするフィードを構成します。

すべてのリソース変更について通知する

フィードを作成するには、gcloud asset feeds create コマンドを使用します。

gcloud asset feeds create FEED_NAME \
  --project=PROJECT_ID  \
  --asset-types="RESOURCE_TYPE" \
  --pubsub-topic="PUBSUB_TOPIC"

以下を置き換えます。

  • FEED_NAME: Pub/Sub フィードに使用する名前。
  • PROJECT_ID: モニタリングする Cloud KMS プロジェクトの ID。
  • RESOURCE_TYPE: 通知を受け取るリソースのタイプ。リソースタイプの間にはカンマを使用します(例: cloudkms.googleapis.com/CryptoKey,cloudkms.googleapis.com/CryptoKeyVersion)。次を含むサポートされているリソースタイプについて通知できます。

    • cloudkms.googleapis.com/CryptoKey
    • cloudkms.googleapis.com/CryptoKeyVersion
    • cloudkms.googleapis.com/EkmConnection
    • cloudkms.googleapis.com/ImportJob
    • cloudkms.googleapis.com/KeyRing
  • PUBSUB_TOPIC: 始める前にで作成した Pub/Sub トピックの名前

これにより、指定されたタイプのリソースが作成または更新されたときに通知が作成されます。この通知には、リソースが更新されたことが示されますが、更新に関する詳細情報は含まれません。たとえば、CryptoKeyVersion の更新通知は、バージョンがプライマリになったか、バージョンの破棄がスケジュールされたことを意味する場合があります。リソースが更新されたという通知を受け取ったら、リソースをチェックして現在の状態を確認する必要があります。

特定のリソースの変更について通知する

条件付きフィードを作成するには、--condition-expression フラグを指定して gcloud asset feeds create コマンドを使用します。

gcloud asset feeds create FEED_NAME \
  --project=PROJECT_ID  \
  --asset-types="RESOURCE_TYPE" \
  --pubsub-topic="PUBSUB_TOPIC" \
  --condition-expression="CONDITION_EXPRESSION"

以下を置き換えます。

  • FEED_NAME: Pub/Sub フィードに使用する名前。
  • PROJECT_ID: Cloud KMS プロジェクトの ID。
  • RESOURCE_TYPE: 通知を受け取るリソースのタイプ(例: cloudkms.googleapis.com/CryptoKeyVersion)。次を含むサポートされているリソースタイプについて通知できます。

    • cloudkms.googleapis.com/CryptoKey
    • cloudkms.googleapis.com/CryptoKeyVersion
    • cloudkms.googleapis.com/EkmConnection
    • cloudkms.googleapis.com/ImportJob
    • cloudkms.googleapis.com/KeyRing
  • PUBSUB_TOPIC: 始める前にで作成した Pub/Sub トピックの名前

  • CONDITION_EXPRESSION: Common Expression Language(CEL)の条件式。たとえば、"folders/FOLDER_NUMBER" in temporal_asset.asset.ancestors は、指定されたリソースがフォルダ FOLDER_NUMBER 内にある場合にのみフィードに通知を作成させます。

これにより、指定された条件式に一致する指定されたタイプのリソースが作成、削除、更新されると、通知が作成されます。