このページでは、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
内にある場合にのみフィードに通知を作成させます。
これにより、指定された条件式に一致する指定されたタイプのリソースが作成、削除、更新されると、通知が作成されます。