Monitorize alterações de estado através do Pub/Sub

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

Antes de começar

Para ativar as APIs, conceder as autorizações necessárias e criar um tópico do Pub/Sub, siga as instruções em Antes de começar em "Monitorizar alterações aos recursos".

Configure um feed

Configure um feed que monitorize o tipo de alterações e recursos nos quais tem interesse.

Notificar 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 o seguinte:

  • FEED_NAME: o nome a usar para o seu feed do Pub/Sub.
  • PROJECT_ID: o ID do projeto do Cloud KMS que quer monitorizar.
  • RESOURCE_TYPE: os tipos de recursos para os quais quer receber notificações. Use vírgulas entre os tipos de recursos, por exemplo, cloudkms.googleapis.com/CryptoKey,cloudkms.googleapis.com/CryptoKeyVersion. Pode enviar notificações sobre qualquer tipo de recurso suportado, 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 que criou em Antes de começar

Isto 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 para um CryptoKeyVersion pode significar que a versão foi tornada principal ou que a versão foi agendada para destruição. Quando recebe uma notificação a indicar que um recurso foi atualizado, deve verificar o recurso para encontrar o respetivo estado atual.

Notifique sobre alterações 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 o seguinte:

  • FEED_NAME: o nome a usar para o seu feed do Pub/Sub.
  • PROJECT_ID: o ID do seu projeto do Cloud KMS.
  • RESOURCE_TYPE: o tipo de recurso para o qual quer receber notificações, por exemplo, cloudkms.googleapis.com/CryptoKeyVersion. Pode enviar notificações sobre qualquer tipo de recurso suportado, 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 que criou em Antes de começar

  • CONDITION_EXPRESSION: uma expressão de condição no Idioma de expressão comum (IEC). Por exemplo, "folders/FOLDER_NUMBER" in temporal_asset.asset.ancestors faz com que o feed só crie notificações quando o recurso indicado estiver localizado na pasta FOLDER_NUMBER.

Isto cria uma notificação quando os recursos do tipo indicado que correspondem à expressão de condição especificada são criados, eliminados ou atualizados.