propose deux contraintes de règles d'administration pour garantir l' utilisation des CMEK dans toute l'organisation :Google Cloud
constraints/gcp.restrictNonCmekServicespermet d'exiger une protection CMEK.constraints/gcp.restrictCmekCryptoKeyProjectspermet de limiter les clés Cloud KMS utilisées pour la protection CMEK.
Les règles d'administration CMEK ne s'appliquent qu'aux ressources nouvellement créées dans les services Google Cloud compatibles.
Rôles requis
Pour vous assurer que chaque utilisateur dispose des autorisations nécessaires
pour vérifier les règles d'administration lors de la création de ressources,
demandez à votre administrateur d'accorder à chaque utilisateur le
rôle IAM Lecteur des règles d'administration (roles/orgpolicy.policyViewer)
dans votre organisation.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour vérifier les règles d'administration lors de la création de ressources. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour vérifier les règles d'administration lors de la création de ressources :
-
Pour afficher les détails complets des règles d'administration :
orgpolicy.policy.get -
Pour vérifier les règles d'administration lors de la création de ressources :
orgpolicy.policies.check
Votre administrateur peut également attribuer ces autorisations à chaque utilisateur avec des rôles personnalisés ou d'autres rôles prédéfinis.
Lorsque les règles d'administration sont actives, l'autorisation orgpolicy.policies.check est requise pour les utilisateurs de la console qui créent des ressources protégées par des clés CMEK. Google Cloud Les utilisateurs ne disposant pas de cette autorisation peuvent créer des ressources protégées par des clés CMEK
à l'aide de la Google Cloud console, mais ils peuvent sélectionner une clé CMEK qui
n'est pas autorisée par la restrictCmekCryptoKeyProjects contrainte. Lorsqu'une clé qui
ne répond pas à cette contrainte est sélectionnée, la création de la ressource finit par échouer.
Exiger la protection CMEK
Pour exiger une protection CMEK pour votre organisation, configurez la
constraints/gcp.restrictNonCmekServices règle d'administration.
En tant que contrainte de liste, les valeurs acceptées pour cette contrainte sont Google Cloud
des noms de service (par exemple, bigquery.googleapis.com). Pour utiliser cette contrainte,
fournissez une liste de Google Cloud noms de service et définissez la contrainte sur
Refuser. Cette configuration empêche la création de ressources dans ces
services si la ressource n'est pas protégée par une clé CMEK. En
d'autres termes, les requêtes de création d'une ressource dans le service n'aboutissent pas sans
spécifier de clé Cloud KMS. De plus, cette contrainte empêche
la suppression de la protection CMEK des ressources dans ces services. Cette contrainte
ne peut être appliquée qu'aux services compatibles.
Limiter l'utilisation des clés Cloud KMS pour les clés CMEK
Pour limiter les clés Cloud KMS utilisées pour la protection CMEK,
configurez la contrainte constraints/gcp.restrictCmekCryptoKeyProjects.
En tant que contrainte de liste, les valeurs acceptées sont des indicateurs de hiérarchie des ressources (par
exemple, projects/PROJECT_ID,
under:folders/FOLDER_ID, et
under:organizations/ORGANIZATION_ID). Pour utiliser cette contrainte,
configurez une liste d'indicateurs de hiérarchie des ressources et définissez la contrainte
sur Autoriser. Cette configuration limite les services compatibles afin que les clés CMEK
ne puissent être choisies que parmi les projets, dossiers et organisations listés.
Les requêtes de création de ressources protégées par des clés CMEK dans les services configurés n'aboutissent pas
sans clé Cloud KMS
provenant de l'une des ressources autorisées. Lorsqu'elle est configurée, cette contrainte s'applique
à tous les services compatibles.
Services compatibles
| Service | Valeur de la contrainte lorsque les clés CMEK sont requises |
|---|---|
| Agent Assist | dialogflow.googleapis.com |
| AlloyDB pour PostgreSQL | alloydb.googleapis.com |
| Apigee | apigee.googleapis.com |
| Application Integration | integrations.googleapis.com |
| Artifact Registry | artifactregistry.googleapis.com |
| Sauvegarde pour GKE | gkebackup.googleapis.com |
| BigQuery | bigquery.googleapis.com |
| Bigtable | bigtable.googleapis.com |
| Cloud Composer | composer.googleapis.com |
| Cloud Data Fusion | datafusion.googleapis.com |
| Cloud Logging | logging.googleapis.com |
| Cloud Run | run.googleapis.com |
| Cloud Run Functions | cloudfunctions.googleapis.com |
| Cloud SQL | sqladmin.googleapis.com |
| Cloud Storage | storage.googleapis.com |
| Cloud Tasks | cloudtasks.googleapis.com |
| Cloud Workstations | workstations.googleapis.com |
| Colab Enterprise | aiplatform.googleapis.com |
| Compute Engine | compute.googleapis.com |
| Conversational Insights | contactcenterinsights.googleapis.com |
| Dataflow | dataflow.googleapis.com |
| Dataform | dataform.googleapis.com |
| Dataplex Universal Catalog | dataplex.googleapis.com |
| Dataproc | dataproc.googleapis.com |
| Dialogflow CX | dialogflow.googleapis.com |
| Document AI | documentai.googleapis.com |
| Eventarc Advanced (aperçu) | eventarc.googleapis.com |
| Eventarc Standard | eventarc.googleapis.com |
| Filestore | file.googleapis.com |
| Firestore | firestore.googleapis.com |
| Gemini Enterprise Enterprise | discoveryengine.googleapis.com |
| Google Cloud NetApp Volumes | netapp.googleapis.com |
| Google Kubernetes Engine (aperçu) | container.googleapis.com |
| Looker (Google Cloud Core) | looker.googleapis.com |
| Memorystore pour Redis | redis.googleapis.com |
| Memorystore pour Redis Cluster | redis.googleapis.com |
| Memorystore for Valkey | memorystore.googleapis.com |
| Pub/Sub | pubsub.googleapis.com |
| Secret Manager | secretmanager.googleapis.com |
| Secure Source Manager | securesourcemanager.googleapis.com |
| Security Command Center | securitycenter.googleapis.com |
| Spanner | spanner.googleapis.com |
| Speech-to-Text | speech.googleapis.com |
| Vertex AI | aiplatform.googleapis.com |
| Vertex AI Search | discoveryengine.googleapis.com |
| Instances Vertex AI Workbench | notebooks.googleapis.com |
Règles d'administration CMEK et service de transfert de stockage
Le service de transfert de stockage n'est pas intégré aux clés CMEK, mais il peut être utilisé avec des règles d'administration CMEK. Si vous utilisez le service de transfert de stockage et que vous souhaitez utiliser des clés CMEK pour
protéger les identifiants de base de données stockés dans Secret Manager, vous
devez ajouter storagetransfer.googleapis.com et
secretmanager.googleapis.com à la contrainteconstraints/gcp.restrictNonCmekServices. Pour en savoir plus, consultez la documentation sur les clés CMEK du service de transfert de stockage.
Exceptions d'application par type de ressource
Les contraintes des règles d'administration CMEK sont appliquées lors de la création d'une ressource ou lors de la modification (lorsque cela est possible) de la clé Cloud KMS sur une ressource existante. En règle générale, elles sont appliquées à tous les types de ressources d'un service compatibles avec les clés CMEK et uniquement en fonction de la configuration de la ressource. Voici un résumé de quelques exceptions notables :
| Type de ressource | Exception d'application |
|---|---|
bigquery.googleapis.com/Dataset |
Application partielle sur la clé Cloud KMS par défaut de l'ensemble de données (gcp.restrictCmekCryptoKeyProjects uniquement)
|
bigquery.googleapis.com/Job |
Requêtes uniquement : application sur la clé Cloud KMS fournie avec la requête ou par défaut à partir du projet de facturation. Consultez également la configuration distincte de la clé Cloud KMS par défaut du projet. |
bigquerydatatransfer.googleapis.com/TransferConfig |
Les configurations de transfert utilisent le nom de service du service de transfert de données (bigquerydatatransfer.googleapis.com) pour les contraintes des règles d'administration CMEK. |
container.googleapis.com/Cluster |
(Aperçu) Application uniquement sur la clé Cloud KMS du disque de démarrage du nœud disk only; not application sur les secrets au niveau de l'application |
logging.googleapis.com/LogBucket |
Application sur les buckets de journaux créés explicitement. Consultez également la configuration distincte requise pour garantir la conformité des buckets de journaux intégrés. |
storage.googleapis.com/Bucket |
Application sur la clé Cloud KMS par défaut du bucket |
storage.googleapis.com/Object |
Application indépendante du bucket. Consultez également la configuration distincte de la clé Cloud KMS par défaut du bucket. |
Exemples de configuration
Dans les exemples de configuration, supposons que l'organisation exemple présente la hiérarchie de ressources suivante :

Exiger des clés CMEK et limiter les clés pour un projet
Supposons que vous souhaitiez exiger une protection CMEK pour toutes les ressources Cloud Storage
sous projects/5 et vous assurer que seules les clés provenant de projects/4 peuvent être
utilisées.
Pour exiger une protection CMEK pour toutes les nouvelles ressources Cloud Storage, utilisez le paramètre de règle d'administration suivant :
- Règle d'administration :
constraints/gcp.restrictNonCmekServices - Liaison à :
projects/5 - Type de règle : Refuser
- Valeur de la règle :
storage.googleapis.com
Pour vous assurer que seules les clés de projects/4 sont utilisées, utilisez la configuration suivante :
- Règle d'administration :
constraints/gcp.restrictCmekCryptoKeyProjects - Liaison à :
projects/5 - Type de règle : Autoriser
- Valeur de la règle :
projects/4
Exiger des clés CMEK et limiter les clés à un dossier
Supposons que vous prévoyiez d'ajouter d'autres projets Cloud KMS
sous folders/2 à l'avenir et que vous souhaitiez exiger des clés CMEK plus largement
dans folders/3. Dans ce cas, vous avez besoin de configurations légèrement différentes.
Pour exiger une protection CMEK supplémentaire pour les nouvelles ressources Cloud SQL et Cloud Storage
n'importe où sous folders/3 :
- Règle d'administration :
constraints/gcp.restrictNonCmekServices - Liaison à :
folders/3 - Type de règle : Refuser
- Valeurs de la règle :
sqladmin.googleapis.com,storage.googleapis.com
Pour vous assurer que seules les clés des projets Cloud KMS sous folders/2 sont
utilisées :
- Règle d'administration :
constraints/gcp.restrictCmekCryptoKeyProjects - Liaison à :
folders/3 - Type de règle : Autoriser
- Valeur de la règle :
under:folders/2
Exiger des clés CMEK pour une organisation
Pour exiger des clés CMEK partout dans l'organisation (dans les services compatibles),
configurez la contrainte constraints/gcp.restrictNonCmekServices avec le
paramètre suivant :
- Règle d'administration :
constraints/gcp.restrictNonCmekServices - Liaison à :
organizations/1 - Type de règle : Refuser
- Valeurs de la règle : (tous les services compatibles)
Limites
Si vous utilisez Google Cloud la console pour créer une ressource, vous remarquerez peut-être que
vous ne pouvez pas utiliser d'autres options de chiffrement que les clés CMEK lorsque
constraints/gcp.restrictNonCmekServices est configuré pour un projet et un
service. La restriction des règles d'administration CMEK n'est visible que lorsque le
compte client a reçu l'autorisation IAM
sur le projet.orgpolicy.policy.get
Étape suivante
Pour en savoir plus sur les avantages et les cas d'utilisation courants des règles d'administration, consultez la page Présentation du service de règles d'administration.
Pour obtenir d'autres exemples de création d'une règle d'administration avec des contraintes particulières, consultez la page Utiliser des contraintes.