Nesta página, mostramos como usar o Pub/Sub para criar notificações sobre alterações de estado dos recursos do Cloud KMS.
Antes de começar
Para ativar APIs, conceder as permissões necessárias e criar um tópico do Pub/Sub, siga as instruções em Antes de começar em "Como monitorar alterações de recursos".
Configurar um feed
Configure um feed que monitore o tipo de alterações e recursos em que você tem interesse.
Notificar sobre todas as mudanças de recursos
Para criar um feed, use o comando gcloud asset feeds create
.
gcloud asset feeds create FEED_NAME \ --project=PROJECT_ID \ --asset-types="RESOURCE_TYPE" \ --pubsub-topic="PUBSUB_TOPIC"
Substitua:
FEED_NAME
: o nome a ser usado para o feed do Pub/Sub.PROJECT_ID
: o ID do projeto do Cloud KMS que você quer monitorar.RESOURCE_TYPE
: os tipos de recurso sobre os quais você quer receber notificações. Use vírgulas entre os tipos de recursos, por exemplo,cloudkms.googleapis.com/CryptoKey,cloudkms.googleapis.com/CryptoKeyVersion
. É possível notificar sobre qualquer tipo de recurso compatível, incluindo:cloudkms.googleapis.com/CryptoKey
cloudkms.googleapis.com/CryptoKeyVersion
cloudkms.googleapis.com/EkmConnection
cloudkms.googleapis.com/ImportJob
cloudkms.googleapis.com/KeyRing
PUBSUB_TOPIC
: o nome do tópico do Pub/Sub que você criou em Antes de começar
Isso cria uma notificação quando os recursos do tipo indicado são criados ou
atualizados. A notificação indica que o recurso foi atualizado, mas não inclui informações detalhadas sobre a atualização. Por exemplo, uma notificação
de atualização de uma CryptoKeyVersion
pode significar que a versão passou a ser a principal ou
que a versão foi programada para destruição. Ao receber uma notificação
de que um recurso foi atualizado, verifique o recurso para encontrar o
estado atual.
Notificar sobre mudanças específicas em recursos
Para criar um feed com uma condição, use o comando gcloud asset feeds create
com a sinalização --condition-expression
.
gcloud asset feeds create FEED_NAME \ --project=PROJECT_ID \ --asset-types="RESOURCE_TYPE" \ --pubsub-topic="PUBSUB_TOPIC" \ --condition-expression="CONDITION_EXPRESSION"
Substitua:
FEED_NAME
: o nome a ser usado para o feed do Pub/Sub.PROJECT_ID
: o ID do seu projeto do Cloud KMSRESOURCE_TYPE
: o tipo de recurso para o qual você quer receber notificações, por exemplo,cloudkms.googleapis.com/CryptoKeyVersion
. É possível notificar sobre qualquer tipo de recurso compatível, incluindo:cloudkms.googleapis.com/CryptoKey
cloudkms.googleapis.com/CryptoKeyVersion
cloudkms.googleapis.com/EkmConnection
cloudkms.googleapis.com/ImportJob
cloudkms.googleapis.com/KeyRing
PUBSUB_TOPIC
: o nome do tópico do Pub/Sub que você criou em Antes de começarCONDITION_EXPRESSION
: uma expressão de condição em Common Expression Language (CEL). Por exemplo,"folders/FOLDER_NUMBER" in temporal_asset.asset.ancestors
faz com que o feed só crie notificações quando o recurso indicado está localizado na pastaFOLDER_NUMBER
.
Isso cria uma notificação quando os recursos do tipo indicado que correspondem à expressão de condição especificada são criados, excluídos ou atualizados.