Google Cloud propose deux contraintes de règles d'administration pour garantir l'utilisation des CMEK dans l'ensemble d'une organisation:
constraints/gcp.restrictNonCmekServices
permet d'exiger la protection CMEK.constraints/gcp.restrictCmekCryptoKeyProjects
permet de limiter les clés Filestore utilisées pour la protection CMEK.
Règles d'administration CMEK ne s'appliquent qu'aux ressources nouvellement créées dans les services Google Cloud compatibles.
Pour en savoir plus sur son fonctionnement, consultez les pages Hiérarchie des ressources Google Cloud et Règles d'administration CMEK.
Contrôler l'utilisation des CMEK avec une règle d'administration
Filestore s'intègre aux contraintes de règle d'administration CMEK pour vous permettre de spécifier des exigences de conformité en matière de chiffrement pour les ressources Filestore de votre organisation.
Cette intégration vous permet d'effectuer les opérations suivantes :
Les sections suivantes couvrent ces deux tâches.
Exiger des CMEK pour toutes les ressources Filestore
Une règle courante consiste à exiger que les clés CMEK soient utilisées pour protéger toutes les ressources d'une organisation. Vous pouvez utiliser la contrainte constraints/gcp.restrictNonCmekServices
pour appliquer cette règle dans Filestore.
Si cette règle d'administration est définie, toutes les requêtes de création de ressources sans clé Cloud KMS spécifiée échouent.
Une fois cette règle définie, elle ne s'applique qu'aux nouvelles ressources du projet. Toutes les ressources existantes sans clé Cloud KMS continuent d'exister et sont accessibles sans problème.
Console
Ouvrez la page Règles d'administration.
Dans le champ Filtre, saisissez
constraints/gcp.restrictNonCmekServices
, puis cliquez sur Restreindre les services autorisés à créer des ressources sans CMEK.Cliquez sur
Gérer la règle.Sur la page Modifier la règle, sélectionnez Remplacer la règle parente.
Sélectionnez Ajouter une règle.
Sous Valeurs de règles, sélectionnez Personnalisé.
Sous Policy type (Type de règle), sélectionnez Deny (Refuser).
Dans le champ Valeurs personnalisées, saisissez
is:file.googleapis.com
.Cliquez sur OK, puis sur Définir la règle.
gcloud
Créez un fichier temporaire
/tmp/policy.yaml
pour stocker la règle :name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:file.googleapis.com
Remplacez PROJECT_ID par l'ID du projet que vous souhaitez utiliser.
Exécutez la commande
org-policies set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Pour vérifier que la stratégie est appliquée, vous pouvez essayer de créer une instance ou une sauvegarde dans le projet. Le processus échoue, sauf si vous spécifiez une clé Cloud KMS.
Restreindre les clés Cloud KMS pour un projet Filestore
La contrainte constraints/gcp.restrictCmekCryptoKeyProjects
vous permet de restreindre les clés Cloud KMS que vous pouvez utiliser pour protéger une ressource dans un projet Filestore.
Vous pouvez spécifier une règle. Par exemple, "pour toutes les ressources Filestore dans projects/my-company-data-project, les clés Cloud KMS utilisées dans ce projet doivent provenir de projects/my-company-central-keys OU projects/team-specific-keys."
Console
Ouvrez la page Règles d'administration.
Dans le champ Filtre, saisissez
constraints/gcp.restrictCmekCryptoKeyProjects
, puis cliquez sur Limiter les projets pouvant fournir des clés CryptoKeys KMS pour CMEK.Cliquez sur
Gérer la règle.Sur la page Modifier la règle, sélectionnez Remplacer la règle parente.
Sélectionnez Ajouter une règle.
Sous Valeurs de règles, sélectionnez Personnalisé.
Sous Policy type (Type de règle), sélectionnez Deny (Refuser).
Dans le champ Valeurs personnalisées, saisissez les valeurs suivantes:
under:projects/KMS_PROJECT_ID
Remplacez KMS_PROJECT_ID par l'ID du projet dans lequel se trouvent les clés Cloud KMS que vous souhaitez utiliser.
Par exemple,
under:projects/my-kms-project
.Cliquez sur OK, puis sur Définir la règle.
gcloud
Créez un fichier temporaire
/tmp/policy.yaml
pour stocker la règle :name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects spec: rules: - values: allowedValues: - under:projects/KMS_PROJECT_ID
Où :
- PROJECT_ID est l'ID du projet que vous souhaitez utiliser.
- KMS_PROJECT_ID correspond à l'ID du projet dans lequel se trouvent les clés Cloud KMS que vous souhaitez utiliser.
Exécutez la commande org-policies set-policy:
gcloud org-policies set-policy /tmp/policy.yaml
Pour vérifier que la règle a bien été appliquée, vous pouvez essayer de créer une instance ou une sauvegarde à l'aide d'une clé Cloud KMS d'un autre projet. Le processus échoue.
Limites
Les limites suivantes s'appliquent lorsque vous définissez une règle d'administration.
Disponibilité du chiffrement CMEK
Pour rappel, la prise en charge de CMEK n'est pas disponible pour les niveaux de service HDD de base et SSD de base. Compte tenu de la façon dont ces contraintes sont définies, si vous appliquez une règle d'administration qui nécessite l'utilisation de CMEK, puis que vous essayez de créer une instance ou une sauvegarde de niveau de base dans le projet associé, ces opérations de création échouent.
Ressources existantes
Les ressources existantes ne sont pas soumises aux règles d'administration nouvellement créées.
Par exemple, si vous créez une règle d'administration qui vous oblige à spécifier un CMEK pour chaque opération create
, la règle ne s'applique pas rétroactivement aux instances et chaînes de sauvegarde existantes. Ces ressources restent accessibles sans CMEK. Si vous souhaitez appliquer la stratégie aux ressources existantes, qu'il s'agisse d'instances ou de chaînes de sauvegarde, vous devez les remplacer.
Autorisations requises pour définir une règle d'administration
L'autorisation de définir ou de mettre à jour la règle d'administration peut s'avérer difficile à obtenir à des fins de test. Vous devez disposer du rôle Administrateur des règles d'administration, qui ne peut être accordé qu'au niveau de l'organisation.
Bien que le rôle doit être accordé au niveau de l'organisation, il est toujours possible de spécifier une stratégie qui ne s'applique qu'à un projet ou un dossier spécifique.
Impact de la rotation des clés Cloud KMS
Filestore n'effectue pas automatiquement la rotation de la clé de chiffrement d'une ressource lorsque la clé Cloud KMS associée à cette ressource est modifiée.
Toutes les données des instances et des sauvegardes existantes continuent d'être protégées par la version de clé avec laquelle elles ont été créées.
Toutes les instances ou sauvegardes nouvellement créées utilisent la version de clé primaire spécifiée au moment de leur création.
Lors de la rotation d'une clé, les données chiffrées avec les versions de clé précédentes ne sont pas automatiquement rechiffrées. Pour chiffrer vos données avec la dernière version de clé, vous devez déchiffrer l'ancienne version de clé de la ressource, puis rechiffrer la même ressource avec la nouvelle version de clé. De plus, la rotation d'une clé n'entraîne ni la désactivation, ni la destruction automatique d'aucune version de clé existante.
Pour obtenir des instructions détaillées sur chacune de ces tâches, consultez les guides suivants:
- Effectuer la rotation d'une clé
- Déchiffrer et rechiffrer des données
- Activer et désactiver des versions de clés
- Détruire et restaurer des versions de clé
Accès de Filestore à la clé Cloud KMS
Une clé Cloud KMS est considérée comme disponible et accessible par Filestore si elle répond aux conditions suivantes:
- La clé est activée.
- Le compte de service Filestore détient des autorisations de chiffrement et de déchiffrement sur la clé.
Étape suivante
- Découvrez comment chiffrer une instance ou une sauvegarde Filestore.
- En savoir plus sur CMEK
- Découvrez le chiffrement en transit dans Google Cloud.
- En savoir plus sur les règles d'administration
- En savoir plus sur les règles d'administration CMEK