本页介绍了如何使用 Pub/Sub 创建 Cloud KMS 资源状态更改通知。
准备工作
如需启用 API、授予必要权限并创建 Pub/Sub, 请按照准备工作 开始 “监控资产变化”。
配置 Feed
配置 Feed,以监控您要进行的更改和 。
针对所有资源更改发送通知
如需创建 Feed,请使用 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 的名称 Feed。PROJECT_ID
:您要创建的 Cloud KMS 项目的 ID 监控指标RESOURCE_TYPE
:您要关联的资源类型 接收通知。在资源类型之间使用英文逗号,例如cloudkms.googleapis.com/CryptoKey,cloudkms.googleapis.com/CryptoKeyVersion
。您可以通过任何 支持的资源 type、 包括: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
的通知可能表示相应版本已设为主要版本或
该版本已安排销毁。收到资源已更新的通知后,您应检查该资源以了解其当前状态。
针对特定资源更改发送通知
如需创建带有条件的 Feed,请使用带有 --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 的名称 Feed。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
:通用表达式语言 (CEL) 中的条件表达式。例如,"folders/FOLDER_NUMBER" in temporal_asset.asset.ancestors
会导致 Feed 仅在指定资源位于文件夹FOLDER_NUMBER
中时创建通知。
当与指定条件表达式匹配的指定类型的资源被创建、删除或更新时,此规则会创建通知。