本页面介绍了如何使用 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
。您可以针对任何受支持的资源类型发送通知,包括以下资源类型: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
中时才创建通知。
这样,当创建、删除或更新指定类型的与指定条件表达式匹配的资源时,系统就会创建通知。