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.
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.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.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.
Activez l'API Cloud KMS Inventory.
Afficher les informations d'utilisation des clés
Console
Dans la console Google Cloud , accédez à la page Inventaire des clés.
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.
Cliquez sur le nom de la clé pour laquelle vous souhaitez afficher des informations d'utilisation.
Cliquez sur l'onglet Suivi de l'utilisation.
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 |