Supervisa los cambios de estado con Pub/Sub

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

Antes de comenzar

Para habilitar las APIs, otorga los permisos necesarios y crea una instancia de Pub/Sub sigue las instrucciones que se detallan en la sección Antes de comenzar en "Supervisión de cambios de elementos".

Configura un feed

Configura un feed que supervise el tipo de cambios y recursos que te resultan interesantes.

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 Pub/Sub. feed.
  • PROJECT_ID: Es el ID del proyecto de Cloud KMS que que deseas supervisar.
  • RESOURCE_TYPE: Los tipos de recursos para los que deseas para recibir notificaciones. Usa comas entre los tipos de recursos, por ejemplo, cloudkms.googleapis.com/CryptoKey,cloudkms.googleapis.com/CryptoKeyVersion. Puedes notificar sobre cualquier 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 recursos del tipo indicado o se actualicen. La notificación indica que el recurso se actualizó, pero incluir información detallada sobre la actualización. Por ejemplo, una actualización para una CryptoKeyVersion puede significar que la versión se estableció como principal que la versión estaba programada para su destrucción. Cuando recibes una notificación de que se actualizó un recurso, debes verificarlo para encontrar su el estado actual.

Notificar cambios de recursos específicos

Para crear un feed con una condición, usa la 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 Pub/Sub. feed.
  • 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 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 esté ubicado 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.