Supervisa los cambios de estado con Pub/Sub

En esta página, se muestra cómo usar Pub/Sub para crear notificaciones sobre cambios de estado de los recursos de Cloud KMS.

Antes de comenzar

Para habilitar las APIs, otorgar los permisos necesarios y crear un tema de Pub/Sub, sigue las instrucciones que se indican en Antes de comenzar en “Supervisa cambios de recursos”.

Configura un feed

Configura un feed que supervise el tipo de cambios y los recursos que te interesan.

Notificar sobre todos los cambios de recursos

Para crear un feed, usa el comando gcloud asset feeds create.

gcloud asset feeds create FEED_NAME \
  --project=PROJECT_ID  \
  --asset-types="RESOURCE_TYPE" \
  --pubsub-topic="PUBSUB_TOPIC"

Reemplaza lo siguiente:

  • FEED_NAME: Es el nombre que se usará para tu feed de Pub/Sub.
  • PROJECT_ID: El ID del proyecto de Cloud KMS que deseas supervisar.
  • RESOURCE_TYPE: Son los tipos de recursos para los que deseas recibir notificaciones. Usa comas entre los tipos de recursos, por ejemplo, cloudkms.googleapis.com/CryptoKey,cloudkms.googleapis.com/CryptoKeyVersion. Puedes notificar sobre cualquier tipo de recurso compatible, incluidos los siguientes:

    • cloudkms.googleapis.com/CryptoKey
    • cloudkms.googleapis.com/CryptoKeyVersion
    • cloudkms.googleapis.com/EkmConnection
    • cloudkms.googleapis.com/ImportJob
    • cloudkms.googleapis.com/KeyRing
  • PUBSUB_TOPIC: Es el nombre del tema de Pub/Sub que creaste en Antes de comenzar.

Esto crea una notificación cuando se crean o actualizan recursos del tipo indicado. La notificación indica que se actualizó el recurso, pero no incluye información detallada sobre ella. Por ejemplo, una notificación de actualización de una CryptoKeyVersion podría significar que la versión se estableció como principal o que se programó su destrucción. Cuando recibes una notificación de que se actualizó un recurso, debes verificar el recurso para encontrar su estado actual.

Notificar cambios específicos de recursos

Para crear un feed con una condición, usa el comando gcloud asset feeds create con la marca --condition-expression.

gcloud asset feeds create FEED_NAME \
  --project=PROJECT_ID  \
  --asset-types="RESOURCE_TYPE" \
  --pubsub-topic="PUBSUB_TOPIC" \
  --condition-expression="CONDITION_EXPRESSION"

Reemplaza lo siguiente:

  • FEED_NAME: Es el nombre que se usará para tu feed de Pub/Sub.
  • PROJECT_ID: Es el ID del proyecto de Cloud KMS.
  • RESOURCE_TYPE: Es el tipo de recurso para el que deseas recibir notificaciones, por ejemplo, cloudkms.googleapis.com/CryptoKeyVersion. Puedes notificar sobre cualquier tipo de recurso compatible, incluidos los siguientes:

    • cloudkms.googleapis.com/CryptoKey
    • cloudkms.googleapis.com/CryptoKeyVersion
    • cloudkms.googleapis.com/EkmConnection
    • cloudkms.googleapis.com/ImportJob
    • cloudkms.googleapis.com/KeyRing
  • PUBSUB_TOPIC: Es el nombre del tema de Pub/Sub que creaste en Antes de comenzar.

  • CONDITION_EXPRESSION: Es una expresión de condición en Common Expression Language (CEL). Por ejemplo, "folders/FOLDER_NUMBER" in temporal_asset.asset.ancestors hace que el feed solo cree notificaciones cuando el recurso indicado se encuentra en la carpeta FOLDER_NUMBER.

Esto crea una notificación cuando se crean, borran o actualizan recursos del tipo indicado que coinciden con la expresión de condición especificada.