Monitorar alterações de estado usando o Pub/Sub

Esta página mostra como usar o Pub/Sub para criar notificações sobre mudanças de estado nos recursos do Cloud KMS.

Antes de começar

Para ativar APIs, conceda as permissões necessárias e crie um Pub/Sub tópico, siga as instruções em Antes de começar em "Monitoramento de alterações de recursos".

Configurar um feed

Configure um feed que monitore o tipo de mudanças e os recursos que você está interesse.

Notificar sobre todas as alterações 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 que será usado no Pub/Sub se alimentam.
  • PROJECT_ID: o ID do projeto do Cloud KMS que você que você quer monitorar.
  • RESOURCE_TYPE: os tipos de recurso que você quer para receber notificações. Use vírgulas entre os tipos de recursos, para exemplo, cloudkms.googleapis.com/CryptoKey,cloudkms.googleapis.com/CryptoKeyVersion: Você pode notificar em qualquer recurso com suporte tipo, incluindo o seguinte:

    • 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 criado em Antes de começar

Gera uma notificação quando recursos do tipo indicado são criados ou atualizado. A notificação indica que o recurso foi atualizado, mas não incluir informações detalhadas sobre a atualização. Por exemplo, uma atualização notificação de um CryptoKeyVersion pode significar que a versão foi definida como principal ou que a versão foi programada para destruição. Quando você recebe uma notificação que um recurso foi atualizado, verifique-o para encontrar o estado atual.

Notificar sobre alterações específicas em recursos

Para criar um feed com uma condição, use 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 que será usado no Pub/Sub se alimentam.
  • PROJECT_ID: o ID do seu projeto do Cloud KMS
  • RESOURCE_TYPE: o tipo de recurso em que você quer receber notificações, por exemplo, cloudkms.googleapis.com/CryptoKeyVersion. Você pode notificar em qualquer recurso com suporte tipo, incluindo o seguinte:

    • 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 criado em Antes de começar

  • CONDITION_EXPRESSION: uma expressão de condição em Common Linguagem de expressão (CEL, na sigla em inglês). Por exemplo: "folders/FOLDER_NUMBER" in temporal_asset.asset.ancestors faz com que o feed só crie notificações quando o recurso indicado for localizado na pasta FOLDER_NUMBER.

Isso cria uma notificação quando recursos do tipo indicado que correspondem ao expressão de condição especificada forem criadas, excluídas ou atualizadas.