Surveiller les changements d'état à l'aide de Pub/Sub

Cette page explique comment utiliser Pub/Sub pour créer des notifications sur les modifications d'état des ressources Cloud KMS.

Avant de commencer

Pour activer les API, accorder les autorisations requises et créer un sujet Pub/Sub, suivez les instructions de la section Avant de commencer dans "Surveiller les modifications apportées aux composants".

Configurer un flux

Configurez un flux qui surveille le type de modifications et les ressources qui vous intéressent.

Recevoir des notifications pour toutes les modifications apportées aux ressources

Pour créer un flux, utilisez la commande gcloud asset feeds create.

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

Remplacez les éléments suivants :

  • FEED_NAME: nom à utiliser pour votre flux Pub/Sub.
  • PROJECT_ID: ID du projet Cloud KMS que vous souhaitez surveiller.
  • RESOURCE_TYPE: types de ressources pour lesquels vous souhaitez recevoir des notifications. Utilisez des virgules entre les types de ressources (par exemple, cloudkms.googleapis.com/CryptoKey,cloudkms.googleapis.com/CryptoKeyVersion). Vous pouvez envoyer des notifications pour n'importe quel type de ressource compatible, y compris les suivants:

    • cloudkms.googleapis.com/CryptoKey
    • cloudkms.googleapis.com/CryptoKeyVersion
    • cloudkms.googleapis.com/EkmConnection
    • cloudkms.googleapis.com/ImportJob
    • cloudkms.googleapis.com/KeyRing
  • PUBSUB_TOPIC: nom du sujet Pub/Sub que vous avez créé dans la section Avant de commencer

Une notification est alors créée lorsque des ressources du type indiqué sont créées ou mises à jour. La notification indique que la ressource a été mise à jour, mais n'inclut pas d'informations détaillées sur la mise à jour. Par exemple, une notification de mise à jour pour un CryptoKeyVersion peut signifier que la version a été définie comme principale ou qu'elle a été programmée pour destruction. Lorsque vous recevez une notification indiquant qu'une ressource a été modifiée, vous devez la vérifier pour connaître son état actuel.

Recevoir des notifications en cas de modifications spécifiques des ressources

Pour créer un flux avec une condition, exécutez la commande gcloud asset feeds create avec l'option --condition-expression.

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

Remplacez les éléments suivants :

  • FEED_NAME: nom à utiliser pour votre flux Pub/Sub.
  • PROJECT_ID : ID de votre projet Cloud KMS.
  • RESOURCE_TYPE: type de ressource pour lequel vous souhaitez recevoir des notifications (par exemple, cloudkms.googleapis.com/CryptoKeyVersion). Vous pouvez envoyer des notifications pour n'importe quel type de ressource compatible, y compris les suivants:

    • cloudkms.googleapis.com/CryptoKey
    • cloudkms.googleapis.com/CryptoKeyVersion
    • cloudkms.googleapis.com/EkmConnection
    • cloudkms.googleapis.com/ImportJob
    • cloudkms.googleapis.com/KeyRing
  • PUBSUB_TOPIC: nom du sujet Pub/Sub que vous avez créé dans la section Avant de commencer

  • CONDITION_EXPRESSION: expression de condition en CEL (Common Expression Language). Par exemple, "folders/FOLDER_NUMBER" in temporal_asset.asset.ancestors permet au flux de ne créer des notifications que lorsque la ressource indiquée se trouve dans le dossier FOLDER_NUMBER.

Une notification est créée lorsqu'une ressource du type indiqué qui correspond à l'expression de condition spécifiée est créée, supprimée ou mise à jour.