Clés de chiffrement gérées par le client pour Managed Lustre

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

Lorsque vous utilisez des clés CMEK dans Managed Lustre, vos projets peuvent consommer des quotas de requêtes de chiffrement Cloud KMS. Les instances chiffrées par CMEK consomment des quotas lors de la lecture ou de l'écriture de données dans Managed Lustre. Les opérations de chiffrement et de déchiffrement à l'aide de clés CMEK n'affectent les quotas Cloud KMS que si vous utilisez des clés externes (Cloud EKM). Pour en savoir plus, consultez Quotas Cloud KMS.

Limites

Les limites suivantes s'appliquent :

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

  • Lorsque vous créez une instance Managed Lustre protégée par CMEK dans un périmètre VPC Service Controls, votre clé Cloud KMS doit être :

Créer une clé Cloud KMS

Avant de créer une instance Lustre compatible avec les CMEK, vous devez disposer d'un trousseau de clés Cloud KMS 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é :

  1. Si vous n'en avez pas déjà un, créez un trousseau de clés.
  2. 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. Pour utiliser les CMEK, vous devez attribuer à l'agent de service le rôle IAM roles/cloudkms.cryptoKeyEncrypterDecrypter sur votre clé Cloud KMS.

Utilisateurs de la consoleGoogle Cloud

Si vous créez votre instance Managed Lustre protégée par CMEK à l'aide de la console Google Cloud , vous pouvez ignorer cette section. La console Google Cloud accorde les autorisations requises dans le cadre du flux de création d'instance.

Passez à la section Créer une instance Managed Lustre avec CMEK activé.

Si vous ne connaissez pas l'identité de l'agent de service de votre projet, consultez Créer ou récupérer l'identité de l'agent de service.

Accorder des autorisations à l'agent de service

Pour attribuer le rôle à l'agent de service, utilisez 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_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 où 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 (service-<var>PROJECT_NUMBER</var>@gcp-sa-lustre.).

Créer une instance Managed Lustre compatible avec les CMEK

Pour créer une instance Managed Lustre protégée par CMEK, utilisez l'une des interfaces suivantes. Pour configurer CMEK dans un plan Cluster Toolkit, consultez Utiliser des clés de chiffrement gérées par le client (CMEK) dans la documentation Cluster Toolkit.

gcloud

Pour créer une instance protégée par CMEK à l'aide de gcloud, suivez les étapes de la section 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 se trouver 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 CMEK à l'aide de l'API REST, suivez les étapes de la section 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 se trouver dans la même région que l'instance Managed Lustre 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 de la section Créer une instance. Sur la page Créer une instance de la console Google Cloud  :

  1. Dans la section Chiffrement, sélectionnez Clé Cloud KMS.

  2. 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 clé, puis sélectionnez votre clé. La clé Cloud KMS doit se trouver dans la même région que l'instance Managed Lustre que vous créez.

  3. Si votre agent de service Managed Lustre ne dispose pas des autorisations requises pour utiliser CMEK, vous êtes invité à lui accorder le rôle cloudkms.cryptoKeyEncrypterDecrypter. Cliquez sur Accorder pour appliquer le rôle.

Si la clé Cloud KMS n'est pas disponible ou si des problèmes d'autorisation surviennent 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. Ils 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é crée une autre 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 effectuez la demande d'augmentation de capacité, et toutes les données écrites dans cette capacité sont protégées par cette version de clé.

Cela signifie que vous pouvez avoir plusieurs versions de clé chiffrant votre instance Managed Lustre si vous avez augmenté la capacité de l'instance après avoir effectué une rotation de la version de clé.

Désactiver une clé

Vous pouvez désactiver une version de clé. Pendant la période où une version de clé utilisée par votre instance Managed Lustre est désactivée, l'instance est suspendue. Pour réactiver votre instance, rétablissez l'état "Disponible" de toutes les versions de clé qui la protègent. Pour en savoir plus sur les instances suspendues, consultez Clés indisponibles.

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 via l'API Cloud KMS. Consultez Activer et désactiver des versions de clé.

Pour réactiver 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 de clé 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 planifier la destruction d'une version de clé. Pendant la durée programmé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. Consultez Clés indisponibles pour en savoir plus sur les instances suspendues.

Une fois qu'une version de clé est détruite, elle ne peut pas être restaurée. Votre instance reste suspendue de manière permanente. 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 planifiée.
  • Les autorisations requises sont supprimées de l'agent de service.
  • La facturation est désactivée sur le projet de la clé Cloud KMS et reste désactivée pendant plus d'une heure.
  • Une clé externe reste inaccessible pendant plus d'une heure.

Dans ce cas, l'instance Managed Lustre est arrêtée quelques minutes après l'événement et son état est défini sur SUSPENDED.

Une instance SUSPENDED peut être récupérée en rendant la clé à nouveau disponible.

Voici les motifs de suspension possibles :

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 1 h SUSPENDED BILLING_DISABLED Oui
Clé EKM inaccessible depuis 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 l'importation/exportation, sont bloquées et renvoient une erreur FAILED_PRECONDITION.
  • Les opérations d'E/S cessent de répondre jusqu'à l'arrêt des nœuds du serveur. Cela se produit dans les 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 réactivées.

Facturation des instances suspendues

Si une instance Managed Lustre passe à l'état SUSPENDED en raison de l'indisponibilité de la clé, des frais continuent de s'accumuler pour l'instance. L'état de suspension ne met pas en pause la facturation. Pour ne plus payer de frais pour l'instance, vous devez la supprimer.

Cloud KMS vous facture également séparément 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é 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ù :

Vous pouvez également afficher les informations clés sur la page Inventaire des clés.

Accéder à la page "Inventaire des clés"