Gérer les buckets de stockage chiffrés

Cette page explique comment gérer les buckets de stockage chiffrés, en particulier comment actualiser et alterner les AEADKeys pour le chiffrement v2. Elle couvre les prérequis et les étapes à suivre pour utiliser les commandes kubectl afin de gérer les AEADKeys et les secrets kekRef. Ces informations vous permettent d'appliquer une sécurité des données robuste et de minimiser le risque de compromettre vos clés de chiffrement grâce à une gestion efficace du cycle de vie.

Cette page s'adresse aux audiences telles que les administrateurs informatiques du groupe d'opérateurs d'infrastructure ou les développeurs du groupe d'opérateurs d'application qui gèrent les paramètres de chiffrement des buckets de stockage dans les environnements Google Distributed Cloud (GDC) sous air gap. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.

Avant de commencer

Les buckets de stockage sont des ressources limitées à un projet spécifique. Le projet agit comme un conteneur, regroupant vos buckets et permettant leur gestion via le serveur d'API Management. Avant de pouvoir effectuer les opérations décrites sur cette page, vous devez créer un projet ou en sélectionner un existant pour lequel vous disposez des autorisations suffisantes.

Rôles IAM requis

Contactez votre administrateur de projet IAM pour demander les rôles suivants dans l'espace de noms de votre projet :

  • Administrateur de bucket de projet (project-bucket-admin) : créez, mettez à jour et supprimez des buckets de stockage.
  • Lecteur d'objets de bucket de projet (project-bucket-object-viewer) : affichez et vérifiez les détails des buckets et des objets de stockage.

Pour en savoir plus, consultez Accorder l'accès à un bucket.

Préparer votre environnement

Pour exécuter des commandes sur le serveur d'API de gestion ou le serveur d'API global, procédez comme suit :

  1. Connectez-vous et générez le fichier kubeconfig pour le serveur d'API de gestion zonale si vous n'en avez pas.
  2. Pour les buckets à double zone, procédez comme suit :
    • Vérifiez auprès de votre opérateur d'infrastructure (OI) que la ressource personnalisée BucketLocationConfig a été créée pour vos zones appairées.
    • Générez le fichier kubeconfig pour le serveur d'API global.

Gérer les ressources de chiffrement

Les buckets avec chiffrement v2 comportent un secret kekRef et plusieurs AEADKeys créées, dans lesquels kekRef est utilisé pour référencer les AEADKeys par défaut actives utilisées, et les AEADKeys incluent les AEADKeys actives et archivées appartenant au bucket.

Actualiser les AEADKeys par défaut actives pour un bucket

Nous vous recommandons d'actualiser les AEADKeys par défaut de votre bucket après environ 42 milliards d'écritures d'objets. Cette étape proactive améliore la sécurité et empêche l'épuisement des clés. Le processus d'actualisation crée un nouveau kekRef et désactive les AEADKeys précédentes. Pour lancer le processus d'actualisation, supprimez le secret kekRef associé au bucket.

Vous pouvez récupérer le kekRef précédent en exécutant la commande suivante :

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

Vous pouvez ensuite exécuter la commande suivante pour supprimer le kekRef existant :

kubectl delete secrets OLD_KEKREF_NAME -n  NAMESPACE_NAME

Une fois la suppression effectuée, vous pouvez exécuter la commande suivante pour confirmer qu'un nouveau kekRef a été créé en fonction de AGE :

kubectl get secrets -n NAMESPACE_NAME -l  object.gdc.goog/bucket-name=BUCKET_NAME

Vérifiez que de nouvelles AEADKeys par défaut ont été créées en fonction de AGE :

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

Alterner les AEADKeys par défaut pour un bucket

Si une AEADKey de votre bucket est compromise, vous devez alterner manuellement les clés de chiffrement associées au bucket.

Pour lancer le processus, vous devez d'abord actualiser les clés par défaut actives. Cela crée de nouvelles AEADKeys par défaut actives et marque les clés de chiffrement précédentes comme désactivées. Une fois les clés par défaut actualisées, les importations d'objets suivantes utilisent les nouvelles AEADKeys comme clés de chiffrement. Les AEADKeys précédentes ne sont pas détruites. Vous pouvez donc toujours déchiffrer les objets existants qui ont déjà été chiffrés à l'aide de ces clés.

Ensuite, suivez les étapes pour télécharger et importer à nouveau les objets dans votre bucket, puis supprimez les anciens objets.

Une fois que vous avez importé à nouveau tous les objets dans votre bucket, vous pouvez nettoyer les AEADKeys inactives et les anciens objets. Identifiez les AEADKeys désactivées en fonction de AGE :

kubectl get aeadkeys -n NAMESPACE_NAME -l  cmek.security.gdc.goog/resource-name=BUCKET_NAME

Enfin, suivez les étapes pour supprimer les AEADKeys.