Règles d'administration CMEK

Google Cloud propose deux contraintes de règle d'administration pour garantir l'utilisation des CMEK dans toute l'organisation:

  • constraints/gcp.restrictNonCmekServices est utilisé pour exiger la protection CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects permet 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.

Exiger la protection CMEK

Pour 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 des noms de 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 Deny, vous pouvez refuser de créer des ressources qui n'utilisent pas de CMEK dans les services configurés. En d'autres termes, les requêtes de création de ressource dans le service n'aboutissent pas sans spécifier de clé Cloud KMS. Cette contrainte ne peut être appliquée qu'aux services compatibles.

Limiter l'utilisation des clés Cloud KMS pour 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 n'autoriser que les 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 ne aboutissent pas si vous ne spécifiez pas de 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 lors de l'utilisation de CMEK
Cloud Bigtable bigtable.googleapis.com
Cloud Composer composer.googleapis.com
Compute Engine compute.googleapis.com
Google Kubernetes Engine container.googleapis.com
Dataflow dataflow.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

Exceptions d'application par type de ressource

Les contraintes de la règle d'administration CMEK sont appliquées lors de la création d'une ressource ou lorsque la clé Cloud KMS est modifiée sur une ressource existante (si nécessaire). Ils sont généralement appliqués à tous les types de ressources de service qui sont compatibles avec les clés CMEK et basés uniquement sur la configuration de cette ressource. Voici quelques exceptions notables:

Type de ressource Exception d'application
compute.googleapis.com/Instance Appliquée en fonction du disque de démarrage configuré
logging.googleapis.com/LogBucket Appliquée sur des buckets de journaux créés explicitement. Reportez-vous également à la configuration distincte requise pour garantir la conformité avec les buckets de journaux intégrés.
storage.googleapis.com/Bucket (Prévisualiser) L'application est appliquée à la clé Cloud KMS par défaut du bucket ; appliquée lors de la mise à jour de la clé Cloud KMS par défaut du bucket ; appliquée lors de la création d'un bucket via Google Cloud Console
storage.googleapis.com/Object Appliquée indépendamment du bucket (voir é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 présente la hiérarchie de ressources suivante:

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

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

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

Pour 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 provenant 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 dans un dossier

Supposons également que vous prévoyez d'ajouter des projets Cloud KMS supplémentaires sous folders/2 à l'avenir et que vous souhaitez exiger une clé CMEK plus largement dans folders/3. Ce scénario nécessite des configurations légèrement différentes.

Pour exiger une protection CMEK supplémentaire pour les nouvelles ressources Cloud SQL et Cloud Storage 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 CMEK pour une organisation

Pour exiger des clés CMEK dans l'ensemble de 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 des règles: (tous les services compatibles)

Limites

Si vous utilisez Google Cloud Console pour créer une ressource, vous remarquerez peut-être que vous ne pouvez pas utiliser d'options de chiffrement autres que CMEK lorsque constraints/gcp.restrictNonCmekServices est configuré pour un projet et un service. Dans la version bêta, 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 l'article Présentation du service de règles d'administration.

Pour plus d'exemples de création d'une règle d'administration avec des contraintes particulières, consultez la section Utiliser des contraintes.