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 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 "Monitorar mudanças de recursos".

Configurar um feed

Configure um feed que monitore o tipo de mudanças e recursos em que você tem 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 a ser usado para seu feed do Pub/Sub.
  • PROJECT_ID: o ID do projeto do Cloud KMS que você quer monitorar.
  • RESOURCE_TYPE: os tipos de recurso para 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. 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

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 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 mudanças específicas de recursos

Para criar um feed com uma condição, use o comando gcloud asset feeds create com a flag --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 seu feed do Pub/Sub.
  • PROJECT_ID: o ID do seu projeto do Cloud KMS
  • RESOURCE_TYPE: o tipo de recurso para o qual você quer receber notificações, por exemplo, cloudkms.googleapis.com/CryptoKeyVersion. É possível notificar qualquer tipo de recurso com suporte, 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 criado em Antes de começar

  • CONDITION_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 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.