Par défaut, Google Cloud Managed Lustre chiffre le contenu client au repos. Managed Lustre 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 Managed Lustre. 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. Cloud KMS vous permet également de suivre l'utilisation des clés, de consulter les journaux d'audit et de 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 Managed Lustre 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 données Managed Lustre suivantes sont protégées par CMEK :
- Données des fichiers
- Métadonnées du système de fichiers, telles que les noms de fichiers
Limites
Le provisionnement dynamique des instances Managed Lustre protégées par CMEK n'est pas compatible avec Google Kubernetes Engine, mais le provisionnement statique l'est.
Cluster Toolkit n'est pas compatible avec les instances Lustre gérées protégées par CMEK.
VPC Service Controls n'est pas compatible avec les instances Managed Lustre protégées par CMEK. Si vous tentez de créer une instance protégée par CMEK dans un périmètre VPC Service Controls, l'opération de création de l'instance échoue.
Créer une clé Cloud KMS
Avant de créer une instance Lustre compatible avec CMEK, vous devez disposer d'un trousseau de clés et d'une clé Cloud KMS.
Managed Lustre est compatible avec trois niveaux de protection :
- Logiciel (
SOFTWARE) - Matériel (
HSM) - Externe via Internet (
EXTERNAL)
Lorsque vous créez votre clé, nous vous recommandons de créer votre clé Cloud KMS dans un projet différent de celui contenant votre instance Managed Lustre. Consultez Séparation des tâches.
La clé Cloud KMS doit être créée dans la même région que l'instance Managed Lustre que vous créez.
Pour créer une clé :
- Si vous n'en avez pas encore, créez un trousseau de clés.
- Créez une clé Cloud KMS
Accorder des autorisations IAM à l'agent de service Managed Lustre
Managed Lustre utilise un agent de service pour accéder à vos ressources et effectuer des actions en votre nom. Vous accordez au compte de service des rôles IAM pour gérer son accès. L'agent de service Managed Lustre est créé automatiquement lorsque vous créez une instance Managed Lustre.
L'identité de l'agent de service se présente sous la forme service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.
Si vous prévoyez de créer votre Managed Lustre protégé par CMEK à l'aide de la console Google Cloud , vous pouvez ignorer cette section. La console Google Cloud accorde les autorisations requises lors du processus de création d'instance.
Accédez à Créer une instance Managed Lustre activée par CMEK.
Créer ou récupérer l'agent de service
Si vous ne disposez pas encore d'un agent de service Managed Lustre
Si vous n'avez jamais créé d'instance Managed Lustre dans le projet, exécutez la commande suivante pour créer manuellement l'agent de service :
gcloud beta services identity create \
--service=lustre.googleapis.com \
--project=PROJECT_NUMBER_OR_ID
Remplacez PROJECT_NUMBER_OR_ID par le numéro ou l'ID du projet dans lequel vous souhaitez créer l'instance Managed Lustre. Le résultat ressemble à ce qui suit :
Service identity created: service-1234567890@gcp-sa-lustre.iam.gserviceaccount.com
Copiez la valeur de l'identité de l'agent de service à utiliser à l'étape suivante.
Si vous avez déjà créé une instance Managed Lustre
Pour créer l'identité de l'agent de service, obtenez le numéro de votre projet. Un PROJECT_NUMBER n'est pas la même chose qu'un ID de projet :
- Un ID de projet est une chaîne unique pouvant être une combinaison de lettres, de chiffres et de traits d'union. Vous spécifiez un ID de projet lorsque vous créez votre projet. Exemple :
example-project-123 - Le numéro de projet est un identifiant unique généré automatiquement pour votre projet. Il ne comporte que des chiffres. Exemple :
1234567890
Pour obtenir le PROJECT_NUMBER d'un ID de projet donné, utilisez la commande
gcloud projects describe:gcloud projects describe PROJECT_ID --format="value(projectNumber)"- Un ID de projet est une chaîne unique pouvant être une combinaison de lettres, de chiffres et de traits d'union. Vous spécifiez un ID de projet lorsque vous créez votre projet. Exemple :
Copiez le numéro de projet renvoyé dans l'identité de l'agent de service :
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.comCopiez l'identité de l'agent de service pour l'utiliser à l'étape suivante.
Accorder des autorisations à l'agent de service
Managed Lustre a besoin d'une autorisation pour effectuer des opérations avec votre clé.
Vous devez attribuer le rôle IAM roles/cloudkms.cryptoKeyEncrypterDecrypter à l'agent de service Managed Lustre sur votre clé Cloud KMS.
Exécutez la commande gcloud kms keys add-iam-policy-binding :
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:service-SERVICE_AGENT_IDENTITY \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Remplacez les variables suivantes :
- KEY_NAME : nom de votre clé Cloud KMS.
- KEY_RING : nom du trousseau de clés qui inclut la clé.
- REGION : région dans laquelle se trouve votre trousseau de clés.
- KMS_PROJECT_ID : ID du projet contenant votre clé Cloud KMS.
- SERVICE_AGENT_IDENTITY : identité de l'agent de service Managed Lustre de l'étape précédente, au format
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.
Créer une instance Managed Lustre activée avec CMEK
Pour créer une instance Managed Lustre protégée par CMEK :
gcloud
Pour créer une instance protégée par une clé CMEK à l'aide de gcloud, suivez les étapes décrites dans Créer une instance. Spécifiez l'identifiant de clé comme valeur de --kms-key-name, comme indiqué ci-dessous :
gcloud lustre instance create INSTANCE_ID \
--filesystem=FILESYSTEM_NAME \
--per-unit-storage-throughput=PERF_TIER \
--capacity-gib=CAPACITY_GIB \
--location=ZONE \
--network=NETWORK_NAME \
--project=PROJECT_ID \
--kms-key-name=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
La clé Cloud KMS doit exister dans la même région que l'instance Managed Lustre que vous créez.
REST
Pour créer une instance protégée par une clé CMEK à l'aide de l'API REST, suivez les étapes décrites dans Créer une instance. Spécifiez l'identifiant de clé comme valeur de kmsKey, comme indiqué ci-dessous :
POST https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_NAME
Authorization: Bearer AUTH_TOKEN
{
"filesystem": "FILESYSTEM_NAME",
"perUnitStorageThroughput": PERF_TIER,
"capacityGib": CAPACITY_GIB,
"network": "NETWORK_NAME",
"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
}
La clé Cloud KMS doit exister dans la même région que l'instance Lustre gérée que vous créez.
Pour obtenir la liste complète des champs et leur description, consultez la documentation de référence sur la ressource Instance.
Console Google Cloud
Pour créer une instance protégée par CMEK à l'aide de la console Google Cloud , suivez les étapes décrites dans Créer une instance. Sur la page Créer une instance de la console Google Cloud :
Dans la section Chiffrement, sélectionnez Clé Cloud KMS.
Sélectionnez Cloud KMS comme type de gestion des clés, puis sélectionnez votre clé. Si votre clé se trouve dans un autre projet (recommandé), cliquez sur Changer de projet, sélectionnez le projet de la clé, puis sélectionnez votre clé. La clé Cloud KMS doit exister dans la même région que l'instance Managed Lustre que vous créez.
Si votre agent de service Managed Lustre ne dispose pas des autorisations requises pour utiliser CMEK, vous êtes invité à lui attribuer le rôle
cloudkms.cryptoKeyEncrypterDecrypter. Cliquez sur Attribuer pour appliquer le rôle.
Si la clé Cloud KMS n'est pas disponible ou si des problèmes d'autorisation se produisent lorsque vous lancez l'opération de création, l'opération échoue et renvoie une erreur FAILED_PRECONDITION.
Gestion des clés
Les clés Cloud Key Management Service peuvent être alternées, désactivées, réactivées ou détruites. Elles peuvent devenir indisponibles pour diverses raisons.
Effectuer la rotation d'une clé
Vous pouvez effectuer une rotation de votre clé Cloud KMS. La rotation d'une clé entraîne la création d'une version de clé.
La rotation d'une clé ne rechiffre pas les données de votre instance Managed Lustre. Managed Lustre ne permet pas de déchiffrer ni de rechiffrer les données.
La capacité existante de votre instance Managed Lustre continue d'être chiffrée par la version de la clé utilisée lors de la création de l'instance.
Lorsque vous augmentez la capacité de stockage de votre instance, la nouvelle capacité est protégée par la version de clé principale au moment où vous envoyez la demande d'augmentation de capacité. Toutes les données écrites dans cette capacité sont protégées par cette version de clé.
Cela signifie que plusieurs versions de clé peuvent chiffrer votre instance Managed Lustre si vous avez augmenté la capacité de l'instance après la rotation de la version de clé.
Désactiver une clé
Vous pouvez désactiver une version de clé. Tant que l'une des versions de clé utilisées par votre instance Managed Lustre est désactivée, l'instance est suspendue. Pour réactiver votre instance, remettez toutes les versions de clé qui la protègent à l'état "Disponible". Pour en savoir plus sur les instances suspendues, consultez Clés non disponibles.
Pour en savoir plus, consultez Activer et désactiver des versions de clé.
Réactiver une clé
Si une version de clé est désactivée, vous pouvez la réactiver à l'aide de l'API Cloud KMS. Consultez Activer et désactiver des versions de clés.
Pour reprendre l'instance Managed Lustre, toutes les versions de la clé qui chiffrent la capacité de stockage doivent être activées ou restaurées.
Une fois que toutes les clés requises sont revenues à l'état ENABLED, Managed Lustre détecte automatiquement les modifications apportées aux clés et redémarre l'instance. L'état de l'instance devient ACTIVE et le service Managed Lustre reprend son fonctionnement normal. Vous pouvez effectuer des opérations d'E/S et toutes les autres opérations de longue durée.
Détruire une clé
Les versions de clé Cloud KMS peuvent être détruites, ce qui signifie que le matériel de clé est définitivement supprimé.
Les clés Cloud KMS ne peuvent pas être détruites immédiatement. Vous devez plutôt programmer la destruction d'une version de clé. Pendant la durée de suppression planifiée, vous pouvez restaurer une version de clé pour annuler sa destruction. Pour en savoir plus, consultez Détruire et restaurer des versions de clé.
Une version de clé dont la destruction est programmée n'est pas disponible. Toutes les instances Managed Lustre protégées par cette version de clé sont suspendues. Pour en savoir plus sur les instances suspendues, consultez Clés indisponibles.
Une fois qu'une version de clé est détruite, elle ne peut pas être restaurée. Votre instance reste suspendue définitivement. La seule opération disponible sur l'instance Managed Lustre est la suppression de l'instance.
Clés non disponibles
Une clé peut devenir indisponible pour les raisons suivantes :
- La clé est désactivée.
- La clé est détruite ou sa destruction est programmée.
- Les autorisations requises sont supprimées de l'agent de service.
- La facturation est désactivée pour le projet de la clé Cloud KMS et le reste pendant plus d'une heure.
- Une clé externe reste inaccessible pendant plus d'une heure.
Dans ce cas, quelques minutes après l'événement, l'instance Lustre gérée est arrêtée et son état est défini sur SUSPENDED.
Il est possible de récupérer une instance SUSPENDED en rendant à nouveau la clé disponible.
Voici les raisons possibles de la suspension :
| Action sur la clé | État de l'instance | Motif de la suspension | Peut être réactivé |
|---|---|---|---|
| Désactiver | SUSPENDED |
KEY_DISABLE |
Oui |
| Programmer la destruction | SUSPENDED |
KEY_DESTROY_SCHEDULED |
Oui |
| Détruire | SUSPENDED |
KEY_DESTROY |
Non |
| Supprimer l'autorisation | SUSPENDED |
PERMISSION_DENIED |
Oui |
| Désactiver la facturation pendant une heure | SUSPENDED |
BILLING_DISABLED |
Oui |
| Clé EKM inaccessible pendant 1 h | SUSPENDED |
EKM_KEY_UNREACHABLE |
Oui |
Lorsqu'une instance est suspendue :
- Les opérations de longue durée, telles que les mises à jour d'instances et les importations/exportations, sont bloquées et renvoient une erreur
FAILED_PRECONDITION. - Les opérations d'E/S cessent de répondre jusqu'à ce que les nœuds de serveur soient arrêtés. Cela prend environ 30 minutes.
- La seule opération de longue durée autorisée est
DeleteInstance.
Il est possible que les instances suspendues depuis plus de quatre mois ne puissent pas être reprises.
Facturation des instances suspendues
Si une instance Managed Lustre passe à l'état SUSPENDED en raison de l'indisponibilité de clés, les frais liés à l'instance continuent de s'accumuler. L'état de suspension ne met pas en veille la facturation. Pour ne plus être facturé pour l'instance, vous devez la supprimer.
Vous recevrez également une facture distincte de Cloud KMS pour toutes les versions de clé utilisées.
Afficher l'utilisation des clés et lister les versions de clé
Vous pouvez afficher les ressources Google Cloud de votre organisation qui sont protégées par vos clés Cloud KMS. Pour en savoir plus, consultez Afficher l'utilisation des clés.
Pour afficher la liste complète des versions de clés utilisées par votre instance Managed Lustre, utilisez la commande gcloud kms inventory search-protected-resources :
gcloud kms inventory search-protected-resources \
--keyname=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--scope=organizations/ORGANIZATION_ID \
--filter="name:projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID" \
--flatten="cryptoKeyVersions" \
--format="value(cryptoKeyVersions)"
Où :
- ORGANIZATION_ID est l'ID numérique de votre organisation. Consultez Obtenir l'ID de ressource de votre organisation.
Vous pouvez également afficher des informations clés sur la page Inventaire des clés.
Accéder à l'inventaire des clés