Afficher l'utilisation des clés

Cette page vous explique comment afficher les Google Cloud ressources 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 dans les ressources de l'organisation.

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

  • Les informations du résumé de l'utilisation des clés pour chaque clé incluent le nombre de ressources, de projets et de produits Google Cloud uniques protégés qui utilisent la clé. Ce niveau de détail est disponible pour toute personne disposant du rôle de lecteur Cloud KMS sur la clé.
  • Les informations de détail de l'utilisation des clés 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 de 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'accorder à votre compte de service Cloud KMS le rôle Agent de service d'organisation Cloud KMS (cloudkms.orgServiceAgent) sur votre ressource d'organisation. Ce rôle n'est pas disponible dans la console Google Cloud . Vous devez donc utiliser gcloud CLI pour l'accorder:

    CLI gcloud

    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 qui doit afficher des récapitulatifs d'utilisation des clés. Pour en savoir plus sur l'attribution de rôles, consultez la section 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 qui doit afficher les détails d'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:

    CLI gcloud

    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 d'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 le champ Filtre filter_list, puis appuyez sur Entrée. Par exemple, vous pouvez filtrer par emplacement, par anneau de clé, par état ou par d'autres propriétés des clés.

  3. Cliquez sur le nom de la clé pour laquelle vous souhaitez afficher des informations d'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 le champ Filtre filter_list, puis appuyez sur Entrée.

Le résumé et les détails de l'utilisation de la clé sélectionnée s'affichent.

CLI gcloud

Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de 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 d'utilisation.

Pour afficher les détails sur l'utilisation des clés, 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 d'utilisation.
  • CALLING_PROJECT_ID: ID du projet à partir duquel vous appelez l'API KMS Inventory.

Pour afficher les détails sur l'utilisation des clés, 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.
  • Project (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 ne signalent pas la version de la clé cryptographique.
  • Produit Cloud: Google Cloud produit associé à cette ressource.
  • Type de ressource: type de ressource protégée, par exemple Bucket (Cloud Storage) ou Disk (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 (Libellés) : 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é, vous ne pourrez peut-être 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, exécutez la commande suivante à l'aide de gcloud CLI:

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 l'utilisation des 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 section Types de ressources suivis, les informations sur l'utilisation des clés peuvent ne pas être incluses dans les détails sur l'utilisation des clés. Par exemple, l'utilisation des 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.
  • Un décalage dans les données est possible. 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 qui utilise cette clé.
    • Le suivi de l'utilisation des clés peut ne pas être complet pour les buckets contenant des objets protégés par plus de 4 000 versions de clés uniques.
  • Les informations de suivi de l'utilisation des clés sont fournies à titre informatif uniquement. Effectuez votre propre diligence raisonnable à l'aide d'autres sources avant d'apporter des modifications susceptibles de provoquer des pannes ou une perte de données. Ne désactivez ni ne détruisez pas les versions de clé uniquement en fonction des informations de suivi de l'utilisation des clés.

Types de ressources suivis

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
    Cloud Run Functions cloudfunctions.googleapis.com/CloudFunction
    Cloud Run Functions 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