Règles d'administration CMEK

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Google Cloud propose deux contraintes de règle d'administration pour assurer l'utilisation de CMEK dans une organisation:

  • constraints/gcp.restrictNonCmekServices permet d'exiger la protection CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects permet de limiter les clés Cloud KMS employé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.

Exiger la protection CMEK

Afin d'exiger la protection CMEK pour votre organisation, configurez la règle d'administration constraints/gcp.restrictNonCmekServices.

En tant que contrainte de liste, les valeurs acceptées pour cette contrainte sont les noms des services Google Cloud (par exemple, sqladmin.googleapis.com). En configurant une liste de noms de services Google Cloud et en définissant la contrainte sur Refuser, vous pouvez refuser la création de ressources qui n'utilise pas CMEK dans les services configurés. En d'autres termes, les requêtes de création d'une ressource dans le service échouent sans indiquer une clé Cloud KMS. 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). En configurant une liste d'indicateurs de hiérarchie des ressources et en définissant la contrainte sur Allow, vous pouvez restreindre les services compatibles pour autoriser uniquement l'utilisation des clés des projets, dossiers et organisations répertoriés pour la protection CMEK. Les requêtes de création d'une ressource protégée par une clé CMEK dans les services configurés échouent sans spécifier une clé Cloud KMS issue de l'un des projets, dossiers ou organisations autorisés. Lorsqu'elle est configurée, cette contrainte s'applique à tous les services compatibles.

Services compatibles

Service Valeur de contrainte lorsque l'authentification CMEK est requise
Artifact Registry artifactregistry.googleapis.com
BigQuery bigquery.googleapis.com
Cloud Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Compute Engine compute.googleapis.com
Google Kubernetes Engine APERÇU container.googleapis.com
Dataflow dataflow.googleapis.com
Document AI documentai.googleapis.com
Cloud Logging logging.googleapis.com
Pub/Sub pubsub.googleapis.com
Cloud Spanner spanner.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com

Appliquer des exceptions par type de ressource

Les contraintes de règles d'administration CMEK s'appliquent lors de la création d'une ressource ou de la modification (le cas échéant) de la clé Cloud KMS d'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 basées sur la configuration de la ressource. Voici quelques exceptions notables:

Type de ressource Exception à l'application du règlement
bigquery.googleapis.com/Dataset Application partielle à la clé Cloud KMS par défaut de l'ensemble de données (gcp.restrictCmekCryptoKeyProjects uniquement)
bigquery.googleapis.com/Job Tâches de requête uniquement: appliquées à la clé Cloud KMS fournie avec la requête ou la valeur par défaut du projet de facturation ; voir aussi configuration distincte de la clé Cloud KMS par défaut du projet
compute.googleapis.com/Instance Appliquée en fonction du disque de démarrage configuré
container.googleapis.com/Cluster (Aperçu) Appliquée sur la clé Cloud KMS pour le disque de démarrage des nœuds uniquement ; non appliquée aux secrets au niveau de la couche d'application
logging.googleapis.com/LogBucket Appliquée sur les buckets de journaux créés explicitement ; voir également une configuration distincte pour assurer la conformité des buckets de journaux intégrés
storage.googleapis.com/Bucket Appliquée sur la clé Cloud KMS par défaut du bucket
storage.googleapis.com/Object Appliqué indépendamment 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'exemple d'organisation ait la hiérarchie des ressources suivante:

Schéma d'une hiérarchie de ressources d'organisation

Exiger des CMEK et limiter les clés pour un projet

Supposons que vous souhaitiez exiger la protection CMEK pour toutes les ressources Cloud Storage sous projects/5 et que seules les clés provenant de projects/4 puissent être utilisées.

Afin d'exiger la 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 CMEK et limiter les clés à un dossier

Supposons également que vous prévoyez d'ajouter des projets Cloud KMS supplémentaires sous folders/2 à l'avenir et que vous souhaitiez utiliser CMEK plus largement dans folders/3. Dans ce scénario, 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 situées sous folders/3 :

  • Règle d'administration: constraints/gcp.restrictNonCmekServices
  • Liaison : folders/3
  • Type de règle : Refuser
  • Valeurs des règles : sqladmin.googleapis.com, storage.googleapis.com

Pour vous assurer que seules les clés de 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 CMEK pour une organisation

Pour exiger le chiffrement 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 Console pour créer une ressource, vous remarquerez peut-être que vous ne pouvez utiliser aucune option de chiffrement autre que CMEK lorsque constraints/gcp.restrictNonCmekServices est configuré pour un projet et un service. La restriction de la règle d'administration CMEK n'est visible que lorsque le compte client dispose de l'autorisation IAM orgpolicy.policy.get sur le projet.

É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 plus d'exemples sur la création d'une règle d'administration avec des contraintes particulières, consultez la page Utiliser des contraintes.