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 内にある場合にのみフィードに通知を作成させます。

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