Par défaut, Filestore chiffre le contenu client au repos. Filestore gère le chiffrement sans intervention de votre part. Cette option est appelée chiffrement par défaut de Google.
Si vous souhaitez contrôler vos clés de chiffrement, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) dans Cloud KMS avec des services bénéficiant d'une intégration des CMEK, y compris Filestore. L'utilisation de clés Cloud KMS vous permet de contrôler leur niveau de protection, leur emplacement, leur calendrier de rotation, leurs autorisations d'utilisation et d'accès, ainsi que leurs limites cryptographiques. Grâce à Cloud KMS, vous pouvez également afficher les journaux d'audit et contrôler les cycles de vie des clés. Au lieu de laisser Google posséder et gérer les clés de chiffrement de clés (KEK) symétriques qui protègent vos données, c'est vous qui vous chargez de cette tâche dans Cloud KMS.
Une fois que vous avez configuré vos ressources avec des CMEK, l'accès à vos ressources Filestore est semblable à celui du chiffrement par défaut de Google. Pour en savoir plus sur les options de chiffrement, consultez Clés de chiffrement gérées par le client (CMEK).
Les CMEK sont compatibles avec les instances et les sauvegardes Filestore.
Options CMEK
Filestore est compatible avec les CMEK stockées sous forme de clés logicielles, de clés matérielles dans un cluster HSM et de clés stockées en externe dans Cloud External Key Manager (Cloud EKM).
Pour en savoir plus, consultez Cloud Key Management Service.
Interruptions du service EKM
Par conception, les clés externes sont gérées par un tiers. Dans ce cas,Google Cloud n'est pas responsable de la disponibilité des clés.
Si le Cloud Key Management Service (Cloud KMS) est informé par l'External Key Manager (EKM) qu'une clé externe est inaccessible, les utilisateurs reçoivent une notification ekm_key_unreachable_detected
. Pendant une heure maximum, les utilisateurs ont un accès limité aux opérations sur l'instance. Si l'état de la clé n'a pas changé au bout d'une heure, les actions suivantes s'appliquent :
- La clé est désactivée.
- Toutes les opérations de chiffrement et de déchiffrement échouent.
- L'instance Filestore est suspendue.
Dans certains cas, comme un événement imprévu tel qu'un redémarrage de VM, l'accès à l'instance peut être interrompu avant une heure.
Les notifications de clés inaccessibles peuvent être consultées sur la page d'informations de l'instance Filestore :
Accéder à la page des instances Filestore
Les utilisateurs reçoivent également des notifications ekm_key_unreachable_detected
pour les opérations suivantes si elles sont effectuées dans l'heure suivant la première notification signalée :
- Rétablir un instantané
- Créer une sauvegarde d'instance
- Supprimer une sauvegarde
- Restaurer une instance à partir d'une sauvegarde
- Mettre à jour ou corriger une instance
Niveaux compatibles
Le tableau suivant présente les niveaux de service Filestore compatibles avec les CMEK :
Niveau | Compatibilité avec CMEK |
---|---|
HDD de base | Non |
SSD de base | Non |
Zonal | Oui |
Régional | Oui |
Entreprise | Oui |
Créer un trousseau et une clé à utiliser avec votre instance
Le trousseau de clés et la clé peuvent se trouver dans un projet différent de l'instance Filestore, mais ils doivent se trouver au même emplacement. Si vous possédez déjà un trousseau de clés Cloud KMS et une clé que vous souhaitez utiliser avec Filestore, passez à la section suivante. Sinon, suivez les instructions de la section Créer des clés de chiffrement symétriques pour créer un trousseau et une clé.
Accorder un accès en clé au compte de service Filestore
Pour que vous puissiez créer une instance Filestore qui utilise une clé CMEK, le compte de service Filestore doit disposer du rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter
).
Un compte de service Filestore est créé la première fois que vous créez une instance Filestore dans le projet. Si vous ne possédez pas encore de compte de service Filestore, exécutez la commande
services identity create
suivante :gcloud beta services identity create --service=file.googleapis.com --project=INSTANCE_PROJECT_NUMBER_OR_ID
Remplacez INSTANCE_PROJECT_NUMBER_OR_ID par le numéro ou l'ID du projet dans lequel vous souhaitez créer l'instance Filestore.
Attribuez le rôle Chiffreur/Déchiffreur de CryptoKey Cloud KMS au compte de service Filestore en exécutant la commande
projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER_OR_ID \ --member serviceAccount:service-INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Remplacez les éléments suivants :
- KMS_PROJECT_NUMBER_OR_ID par le numéro ou l'ID du projet contenant la clé Cloud KMS que vous souhaitez utiliser.
- INSTANCE_PROJECT_NUMBER par le numéro du projet (et non l'ID) du projet dans lequel vous souhaitez créer l'instance Filestore.
Créer une instance qui utilise votre clé Cloud KMS
Console Google Cloud
Pour créer une instance qui utilise votre clé Cloud KMS pour le chiffrement des données :
Dans la console Google Cloud , accédez à la page "Instances Filestore".
Cliquez sur Créer une instance.
Sélectionnez un niveau d'instance compatible avec les CMEK et remplissez tous les autres champs obligatoires et facultatifs comme vous le feriez normalement.
Cliquez sur Afficher les options avancées.
Cochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
Sélectionnez la clé Cloud KMS que vous souhaitez utiliser pour l'instance.
Cliquez sur Créer.
CLI gcloud
Pour créer une instance Filestore qui utilise votre clé Cloud KMS pour le chiffrement des données, spécifiez l'indicateur --kms-key
dans la commande filestore instances create
:
gcloud filestore instances create nfs-server \
--tier=<var>TIER</var> \
--location=us-central1 \
--file-share=name="vol1",capacity=1TiB \
--network=name="default" \
--kms-key=KMS_KEY
Remplacez les éléments suivants :
- TIER avec un niveau Filestore compatible avec les clés CMEK.
- KMS_KEY par le nom complet de la clé Cloud KMS que vous souhaitez utiliser. Vous pouvez également spécifier chaque argument séparément au format :
--kms-key=KMS_KEY : --kms-keyring=KEY_RING --kms-location=KMS_REGION --kms-project=KMS_PROJECT_NUMBER_OR_ID
Remplacez les éléments suivants :
- KMS_KEY par le nom de la clé Cloud KMS.
- KMS_PROJECT_NUMBER_OR_ID par le numéro ou l'ID du projet dans lequel la clé est créée.
- KMS_KEY_RING par le nom du trousseau de clés.
- KMS_REGION par la région du trousseau de clés. Le trousseau de clés et l'instance doivent se trouver dans la même région.
Obtenir une liste de clés
Vous pouvez obtenir la liste des clés en exécutant la commande kms keys list
:
gcloud kms keys list \
--project=KMS_PROJECT_NUMBER_OR_ID \
--keyring=KEY_RING \
--location=KMS_REGION
Remplacez les éléments suivants :
- KMS_PROJECT_NUMBER_OR_ID par le numéro ou l'ID du projet dans lequel la clé est créée.
- KEY_RING par le nom du trousseau de clés.
- KMS_REGION par la région du trousseau de clés.
La colonne Nom de la sortie donne le nom complet des clés existantes. Exemple :
projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
Obtenir des informations clés sur l'instance
Les sections suivantes expliquent comment obtenir des informations sur les clés d'instance.
Répertorier les instances qui utilisent une clé Cloud KMS particulière
Vous pouvez répertorier les instances Filestore qui utilisent une clé particulière en exécutant la commande instances list
:
gcloud filestore instances list --filter="kmsKeyName=KMS_KEY"
Remplacez KMS_KEY par le nom complet de la clé que vous souhaitez utiliser.
Exemple :
gcloud filestore instances list \
--filter="kmsKeyName=projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key"
Le résultat ressemble à ceci:
INSTANCE_NAME LOCATION TIER CAPACITY_GB FILE_SHARE_NAME IP_ADDRESS STATE CREATE_TIME
nfs-server us-central1 ENTERPRISE 1024 vol1 10.166.108.2 READY 2021-08-12T11:38:56
Obtenir des informations sur les clés Cloud KMS d'une instance
Utilisez l'une des méthodes suivantes pour obtenir des informations sur les clés Cloud KMS d'une instance Filestore :
Console Google Cloud
Accéder à la page des instances Filestore
Cliquez sur l'identifiant de l'instance pour ouvrir la page d'informations de l'instance.
Cliquez sur l'onglet Vue d'ensemble.
Si l'instance chiffre les données à l'aide d'une clé Cloud KMS au lieu d'uneGoogle-owned and Google-managed encryption key, le nom de la clé s'affiche dans le champ Clé de chiffrement.
CLI gcloud
Exécutez la commande instances describe
suivante :
gcloud filestore instances describe INSTANCE_ID \
--location=INSTANCE_LOCATION
Remplacez les éléments suivants :
- INSTANCE_ID par l'ID de l'instance Filestore pour laquelle vous souhaitez obtenir des informations.
- INSTANCE_LOCATION par la région ou la zone où se trouve l'instance.
Le résultat ressemble à ceci:
createTime: '2021-08-12T11:38:56.851157387Z'
fileShares:
- capacityGb: '1024'
name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
key: val
name: projects/consumer-project/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
- 10.0.100.2
modes:
- MODE_IPV4
network: network
reservedIpRange: 10.166.108.0/23
state: READY
tier: ENTERPRISE
Désactiver ou détruire une clé Cloud KMS utilisée par une instance
Si un changement d'état de la clé Cloud KMS est détecté, l'instance cesse automatiquement de diffuser des données. Voici quelques exemples :
- Désactiver une clé ou une version de clé.
- Détruire une clé ou une version de clé.
- Modifier les autorisations d'une clé
Cette détection se produit généralement quelques minutes après le changement d'état de la clé, mais peut parfois prendre jusqu'à une heure.
Une fois l'instance arrêtée, tout accès aux données de partage de fichiers et aux instantanés est bloqué. Les instances arrêtées continuent d'être facturées jusqu'à leur suppression.
Démarrer une instance arrêtée
Si une instance Filestore arrêtée utilise une clé Cloud KMS pour le chiffrement des données, toutes les versions de la clé doivent être activées ou restaurées avant de redémarrer l'instance.
Une fois l'état de la clé Cloud KMS défini sur "Activée", l'instance détecte automatiquement les modifications apportées à la clé et redémarre sans aucune action supplémentaire, généralement sous 20 minutes.
Compatibilité CMEK avec les chaînes de sauvegarde
Vous pouvez utiliser des CMEK pour chiffrer non seulement vos instances Filestore, mais aussi vos chaînes de sauvegarde.
La compatibilité CMEK n'est pas disponible pour les sauvegardes de niveau de base.
Les chaînes de sauvegarde se trouvent dans un seul bucket et une seule région. Pour stocker et chiffrer les données de sauvegarde dans une région autre que celle de l'instance source, les utilisateurs doivent appliquer deux clés CMEK distinctes : une pour l'instance et une pour la chaîne de sauvegarde. Certaines conditions s'appliquent :
- Une clé CMEK doit se trouver dans la même région que la chaîne de sauvegarde qu'elle chiffre.
- Une seule clé CMEK est appliquée au bucket dans lequel la chaîne de sauvegarde est stockée. Elle ne peut pas être combinée ni remplacée.
Limites de la rotation des clés
Lors de la rotation des clés, de nouvelles clés de chiffrement sont créées pour remplacer les clés existantes. Les actions suivantes liées à la rotation des clés peuvent vous empêcher de restaurer une chaîne de sauvegarde :
- Désactiver une clé ou une version de clé.
- Détruire une clé ou une version de clé.
- Modifier les autorisations des clés
Ces actions n'empêchent pas la création de sauvegardes dans la chaîne.
Si vous ne parvenez pas à restaurer votre chaîne de sauvegarde, procédez comme suit :
- Supprimez toutes les sauvegardes.
- Commencez une nouvelle chaîne. Vous pouvez utiliser l'une des options suivantes :
- Créez votre sauvegarde dans un autre emplacement avec la même clé CMEK.
- Créez votre sauvegarde au même emplacement avec une nouvelle clé CMEK.
Pour en savoir plus, consultez Présentation des sauvegardes.
Étapes suivantes
- Découvrez comment appliquer une règle d'administration CMEK.
- En savoir plus sur CMEK
- Découvrez le chiffrement en transit dans Google Cloud.