Afficher l'utilisation des clés

Cette page vous explique comment afficher les ressources Google Cloud de votre organisation qui sont protégées par vos clés Cloud KMS. Le suivi de l'utilisation des clés n'est disponible que pour les ressources de l'organisation.

Vous pouvez afficher des informations sur les ressources que vos clés protègent à deux niveaux :

  • Les informations du récapitulatif de l'utilisation des clés pour chaque clé incluent le nombre de ressources protégées, de projets et de produits Google Cloud uniques qui utilisent la clé. Ce niveau de détail est disponible pour toute personne disposant du rôle Lecteur Cloud KMS sur la clé.
  • Les informations Détails de l'utilisation de la clé identifient les ressources protégées par cette clé et qui en dépendent. Ce niveau de détail est privilégié et n'est disponible que pour les comptes disposant du rôle Lecteur de ressources protégées Cloud KMS dans l'organisation.

Avant de commencer

Cette page suppose que vous utilisez Cloud KMS dans uneGoogle Cloud ressource d'organisation.

  1. Demandez à l'administrateur de votre organisation d'attribuer à votre compte de service Cloud KMS le rôle Agent de service d'organisation Cloud KMS (roles/cloudkms.orgServiceAgent) sur la ressource de votre organisation. Ce rôle n'est pas disponible dans la console Google Cloud . Vous devez donc utiliser gcloud CLI pour l'attribuer :

    gcloud CLI

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
        --member=serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-cloudkms.iam.gserviceaccount.com \
        --role=roles/cloudkms.orgServiceAgent
    

    Remplacez ORGANIZATION_ID par l'ID numérique de votre organisation.

  2. Attribuez le rôle Lecteur Cloud KMS (roles/cloudkms.viewer) à toute personne ayant besoin de consulter les récapitulatifs d'utilisation des clés. Pour en savoir plus sur l'attribution de rôles, consultez Gérer les accès.

  3. Attribuez le rôle Lecteur de ressources protégées Cloud KMS (roles/cloudkms.protectedResourcesViewer) sur la ressource de votre organisation à toute personne ayant besoin de consulter les détails de l'utilisation des clés. Ce rôle n'est pas disponible dans la console Google Cloud . Vous devez donc utiliser gcloud CLI pour l'attribuer :

    gcloud CLI

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
        --member=user:USER_EMAIL \
        --role=roles/cloudkms.protectedResourcesViewer
    

    Remplacez les éléments suivants :

    • ORGANIZATION_ID : ID numérique de votre organisation.
    • USER_EMAIL : adresse e-mail de l'utilisateur.
  4. Activez l'API Cloud KMS Inventory.

    Activer l'API

Afficher les informations sur l'utilisation des clés

Console

  1. Dans la console Google Cloud , accédez à la page Inventaire des clés.

    Accéder à l'inventaire des clés

  2. Facultatif : Pour filtrer la liste des clés, saisissez vos termes de recherche dans la zone Filtrer filter_list, puis appuyez sur Entrée. Par exemple, vous pouvez filtrer par emplacement, trousseau de clés, état ou d'autres propriétés des clés.

  3. Cliquez sur le nom de la clé pour laquelle vous souhaitez afficher des informations sur l'utilisation.

  4. Cliquez sur l'onglet Suivi de l'utilisation.

  5. Facultatif : Pour filtrer la liste des ressources protégées, saisissez vos termes de recherche dans la zone Filtrer filter_list, puis appuyez sur Entrée.

Un récapitulatif et des détails sur l'utilisation de la clé s'affichent pour la clé sélectionnée.

gcloud CLI

Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour Google Cloud CLI.

Pour afficher le récapitulatif de l'utilisation des clés, utilisez la méthode get-protected-resources-summary :

gcloud kms inventory get-protected-resources-summary \
    --keyname  projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant le trousseau de clés.
  • LOCATION : emplacement Cloud KMS du trousseau de clés.
  • KEY_RING : nom du trousseau de clés qui inclut la clé
  • KEY_NAME : nom de la clé pour laquelle vous souhaitez afficher le récapitulatif de l'utilisation.

Pour afficher les détails de l'utilisation d'une clé, utilisez la méthode search-protected-resources :

gcloud kms inventory search-protected-resources \
    --keyname  projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
    --scope=organizations/ORGANIZATION_ID

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant le trousseau de clés.
  • LOCATION : emplacement Cloud KMS du trousseau de clés.
  • KEY_RING : nom du trousseau de clés qui inclut la clé
  • KEY_NAME : nom de la clé pour laquelle vous souhaitez afficher les détails d'utilisation.
  • ORGANIZATION_ID : ID numérique de votre organisation.

API

Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.

Pour afficher le récapitulatif de l'utilisation des clés, utilisez la méthode cryptoKeys.getProtectedResourcesSummary :

curl  "https://kmsinventory.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/protectedResourcesSummary"
    --request "GET" \
    --header "x-goog-user-project: CALLING_PROJECT_ID"
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN"

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant le trousseau de clés.
  • LOCATION : emplacement Cloud KMS du trousseau de clés.
  • KEY_RING : nom du trousseau de clés qui inclut la clé
  • KEY_NAME : nom de la clé pour laquelle vous souhaitez afficher le récapitulatif de l'utilisation.
  • CALLING_PROJECT_ID : ID du projet à partir duquel vous appelez l'API KMS Inventory.

Pour afficher les détails de l'utilisation d'une clé, utilisez la méthode protectedResources.search :

curl "https://kmsinventory.googleapis.com/v1/organizations/ORGANIZATION_ID/protectedResources:search?crypto_key=projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
    --request "GET" \
    --header "x-goog-user-project: CALLING_PROJECT_ID"
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer TOKEN"

Remplacez les éléments suivants :

  • ORGANIZATION_ID : ID numérique de votre organisation.
  • PROJECT_ID : ID du projet contenant le trousseau de clés.
  • LOCATION : emplacement Cloud KMS du trousseau de clés.
  • KEY_RING : nom du trousseau de clés qui inclut la clé
  • KEY_NAME : nom de la clé pour laquelle vous souhaitez afficher les détails d'utilisation.
  • CALLING_PROJECT_ID : ID du projet à partir duquel vous appelez l'API KMS Inventory.

Détails de l'utilisation de la clé

Les détails d'utilisation des ressources protégées chiffrées avec la clé sélectionnée incluent les éléments suivants :

  • Nom : nom de la ressource Google Cloud protégée par la clé sélectionnée.
  • Projet : nom du projet contenant la ressource protégée.
  • Version de la clé de chiffrement : version de la clé utilisée pour chiffrer cette ressource. Certaines ressources protégées n'indiquent pas la version de la clé cryptographique.
  • Produit Cloud : produit Google Cloud associé à cette ressource.
  • Type de ressource : type de ressource protégée (par exemple, "Bucket" pour Cloud Storage ou "Disque" pour Compute Engine).
  • Location (Emplacement) : région Google Cloud associée à la ressource.
  • Date de création : heure à laquelle la ressource a été créée.
  • Labels : ensemble de paires clé-valeur associées à la ressource.

Lister les versions de clé qui protègent une ressource

Si une ressource est protégée par plusieurs versions de clé, il est possible que vous ne puissiez pas voir la liste complète des versions de clé dans l'onglet Suivi de l'utilisation.

Pour lister les versions de clé qui protègent une ressource, utilisez gcloud CLI pour exécuter la commande suivante :

gcloud beta kms inventory search-protected-resources \
  --keyname=KEY_NAME \
  --scope=organizations/ORGANIZATION_ID \
  --filter="name:RESOURCE_NAME" \
  --flatten="cryptoKeyVersions" \
  --format="value(cryptoKeyVersions)"

Remplacez les éléments suivants :

  • KEY_NAME : nom de la clé pour laquelle vous souhaitez lister les versions.
  • ORGANIZATION_ID : ID numérique de votre organisation.
  • RESOURCE_NAME : nom de la ressource pour laquelle vous souhaitez lister les versions de clé.

Limites

Lorsque vous utilisez le suivi de l'utilisation des clés, tenez compte des points suivants :

  • Le suivi de l'utilisation des clés n'est disponible que pour les clés CMEK. Si vous utilisez une version de clé dans vos applications à l'intérieur ou à l'extérieur de Google Cloud, cette utilisation n'est pas incluse dans l'onglet Suivi de l'utilisation.
  • Certaines ressources CMEK ne sont pas suivies. Pour les types de ressources qui ne figurent pas dans la liste Types de ressources suivis, les informations sur l'utilisation des clés ne sont pas incluses dans les détails de l'utilisation des clés. Par exemple, l'utilisation de clés par Datastream pour chiffrer les ressources ConnectionProfile (datastream.googleapis.com/ConnectionProfile) n'est pas affichée dans l'onglet Suivi de l'utilisation.
  • Les données peuvent être retardées. Par exemple, si vous créez une ressource protégée, la ressource protégée et la version de clé associée ne sont pas immédiatement ajoutées à l'onglet Suivi de l'utilisation.
  • Les données d'utilisation des clés Cloud Storage sont soumises aux limites supplémentaires suivantes :
    • Les données d'utilisation des clés sont agrégées des objets aux buckets. Les noms des objets ne sont pas affichés. Un bucket est indiqué comme utilisant une clé s'il contient au moins un objet utilisant cette clé.
    • Il est possible que le suivi de l'utilisation des clés ne soit pas complet pour les buckets contenant des objets protégés avec plus de 4 000 versions de clés uniques.
  • Les informations de suivi de l'utilisation des clés sont fournies à titre informatif uniquement. Faites votre propre diligence raisonnable en utilisant d'autres sources avant d'apporter des modifications susceptibles d'entraîner des pannes ou une perte de données. Ne désactivez ni ne détruisez les versions de clés en vous basant uniquement sur les informations de suivi de l'utilisation des clés.

Types de ressources suivies

Les types de ressources suivants sont acceptés :

    Service Ressource
    AI Applications discoveryengine.googleapis.com/DataStore
    AlloyDB pour PostgreSQL alloydb.googleapis.com/Backup
    AlloyDB pour PostgreSQL alloydb.googleapis.com/Cluster
    Hub d'API Apigee apihub.googleapis.com/ApiHubInstance
    Artifact Registry artifactregistry.googleapis.com/Repository
    BigQuery bigquery.googleapis.com/Dataset
    BigQuery bigquery.googleapis.com/Model
    BigQuery bigquery.googleapis.com/Table
    BigQuery bigquerydatatransfer.googleapis.com/TransferConfig
    Bigtable bigtableadmin.googleapis.com/Backup
    Bigtable bigtableadmin.googleapis.com/Cluster
    Bigtable bigtableadmin.googleapis.com/Table
    Cloud Composer composer.googleapis.com/Environment
    Cloud Data Fusion datafusion.googleapis.com/Instance
    API Cloud Healthcare healthcare.googleapis.com/Dataset
    Cloud Logging logging.googleapis.com/LogBucket
    Cloud Run run.googleapis.com/Revision
    Fonctions Cloud Run cloudfunctions.googleapis.com/CloudFunction
    Fonctions Cloud Run cloudfunctions.googleapis.com/Function
    Cloud SQL sqladmin.googleapis.com/BackupRun
    Cloud SQL sqladmin.googleapis.com/Instance
    Cloud Storage storage.googleapis.com/Bucket
    Cloud Workstations workstations.googleapis.com/Workstation
    Cloud Workstations workstations.googleapis.com/WorkstationConfig
    Compute Engine compute.googleapis.com/Disk
    Compute Engine compute.googleapis.com/Image
    Compute Engine compute.googleapis.com/MachineImage
    Compute Engine compute.googleapis.com/Snapshot
    Database Migration Service datamigration.googleapis.com/MigrationJob
    Database Migration Service datamigration.googleapis.com/ConnectionProfile
    Dataflow dataflow.googleapis.com/Job
    Dataproc dataproc.googleapis.com/Cluster
    Dataproc dataproc.googleapis.com/Batch
    Dataproc Metastore metastore.googleapis.com/Service
    Datastream datastream.googleapis.com/Stream
    Document AI documentai.googleapis.com/HumanReviewConfig
    Document AI documentai.googleapis.com/Processor
    Document AI documentai.googleapis.com/ProcessorVersion
    Filestore file.googleapis.com/Instance
    Filestore file.googleapis.com/Backup
    Firestore firestore.googleapis.com/Database
    Firestore datastore.googleapis.com/Database
    Google Agentspace Enterprise discoveryengine.googleapis.com/DataStore
    Google Kubernetes Engine container.googleapis.com/Cluster
    Looker (Google Cloud Core) looker.googleapis.com/Instance
    Memorystore pour Redis redis.googleapis.com/Instance
    Migrate to Virtual Machines vmmigration.googleapis.com/Source
    Pub/Sub pubsub.googleapis.com/Topic
    Secret Manager secretmanager.googleapis.com/Secret
    Secret Manager secretmanager.googleapis.com/SecretVersion
    Secure Source Manager securesourcemanager.googleapis.com/Instance
    Spanner spanner.googleapis.com/Database
    Vertex AI aiplatform.googleapis.com/Dataset
    Vertex AI aiplatform.googleapis.com/Featurestore
    Vertex AI aiplatform.googleapis.com/Tensorboard
    Vertex AI aiplatform.googleapis.com/BatchPredictionJob
    Vertex AI aiplatform.googleapis.com/CustomJob
    Vertex AI aiplatform.googleapis.com/Endpoint
    Vertex AI aiplatform.googleapis.com/Model
    Vertex AI aiplatform.googleapis.com/TrainingPipeline
    Vertex AI aiplatform.googleapis.com/PipelineJob
    Vertex AI aiplatform.googleapis.com/MetadataStore
    Instances Vertex AI Workbench notebooks.googleapis.com/Instance
    Workflows workflows.googleapis.com/Workflow