Appliquer une règle d'administration CMEK

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

  1. Ouvrez la page Règles d'administration.

    Accéder à la page Règles d'administration

  2. Dans le champ Filtre, saisissez constraints/gcp.restrictNonCmekServices, puis cliquez sur Restreindre les services autorisés à créer des ressources sans CMEK.

  3. Cliquez sur Gérer la règle.

  4. Sur la page Modifier la règle, sélectionnez Remplacer la règle parente.

  5. Sélectionnez Ajouter une règle.

  6. Sous Valeurs de règles, sélectionnez Personnalisé.

  7. Sous Policy type (Type de règle), sélectionnez Deny (Refuser).

  8. Dans le champ Valeurs personnalisées, saisissez is:file.googleapis.com.

  9. Cliquez sur OK, puis sur Définir la règle.

gcloud

  1. 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.

  2. 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

  1. Ouvrez la page Règles d'administration.

    Accéder à la page Règles d'administration

  2. Dans le champ Filtre, saisissez constraints/gcp.restrictCmekCryptoKeyProjects, puis cliquez sur Limiter les projets pouvant fournir des clés CryptoKeys KMS pour CMEK.

  3. Cliquez sur Gérer la règle.

  4. Sur la page Modifier la règle, sélectionnez Remplacer la règle parente.

  5. Sélectionnez Ajouter une règle.

  6. Sous Valeurs de règles, sélectionnez Personnalisé.

  7. Sous Policy type (Type de règle), sélectionnez Deny (Refuser).

  8. 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.

  9. Cliquez sur OK, puis sur Définir la règle.

gcloud

  1. 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.
  2. 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:

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