Chiffrer les données de charge de travail utilisées à l'aide des nœuds Confidential Google Kubernetes Engine Node


Cette page vous explique comment appliquer le chiffrement des données utilisées dans vos nœuds et vos charges de travail à l'aide des nœuds Confidential Google Kubernetes Engine (GKE) Node.

Présentation

Les nœuds Confidential GKE Node s'appuient sur les Confidential VMs Compute Engine à l'aide de la plate-forme AMD SEV, qui chiffre le contenu de la mémoire des VM pendant l'utilisation. Le chiffrement en cours d'utilisation est l'un des trois états du chiffrement de bout en bout.

Lorsque vous activez les nœuds Confidential GKE Node sur un cluster ou un pool de nœuds, les données des charges de travail exécutées sur les nœuds confidentiels sont chiffrées en cours d'utilisation. Pour plus de visibilité sur votre plan de contrôle, utilisez Access Transparency.

Vous pouvez activer les nœuds Confidential GKE Node lorsque vous effectuez l'une des opérations suivantes:

  • Créer un cluster
  • Créer un pool de nœuds
  • Mettre à jour un pool de nœuds existant

Vous ne pouvez pas mettre à jour un cluster existant pour modifier le paramètre "Confidential GKE Nodes" au niveau du cluster.

Le tableau suivant présente le comportement de GKE qui s'applique lorsque vous activez les nœuds Confidential GKE Node au niveau du cluster ou du pool de nœuds:

Paramètre "Confidential GKE Nodes" Procédure de configuration Comportement
Au niveau du cluster Créer un cluster Tous les nœuds du cluster d'un pool de nœuds utilisent des nœuds Confidential GKE Node. Vous ne pouvez pas effectuer les opérations suivantes :
  • Désactiver les nœuds Confidential GKE Node pour un pool de nœuds nouveau ou existant dans le cluster
  • Désactiver les nœuds Confidential GKE Node sur le cluster
  • Activer les nœuds Confidential GKE Node sur des clusters existants
Au niveau du pool de nœuds
  • Créer un pool de nœuds
  • Mettre à jour un pool de nœuds existant
Vous ne pouvez configurer des nœuds Confidential GKE Node pour les pools de nœuds que lorsque cette fonctionnalité est désactivée au niveau du cluster.

Tarification

Le déploiement de nœuds Confidential GKE Node n'entraîne aucun coût supplémentaire, en dehors du coût des Confidential VMs de Compute Engine. Toutefois, les nœuds Confidential GKE Node sont susceptibles de générer un volume de données de journal légèrement supérieur au démarrage en comparaison aux nœuds standards. Pour en savoir plus sur la tarification des journaux, consultez la page Tarifs de Google Cloud Observability.

Qui peut en bénéficier ?

Les nœuds Confidential GKE Node sont disponibles dans les situations suivantes :

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Activer les nœuds Confidential GKE Node sur des clusters

Vous pouvez créer un cluster avec des nœuds Confidential GKE Node activés à l'aide de gcloud CLI ou de la console Google Cloud. Si vous activez les nœuds Confidential GKE Node au niveau du cluster, tous les nœuds du cluster sont des Confidential VM.

gcloud

Lors de la création d'un cluster, spécifiez l'option --enable-confidential-nodes dans gcloud CLI :

gcloud container clusters create CLUSTER_NAME \
    --machine-type=MACHINE_TYPE \
    --enable-confidential-nodes

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom de votre nouveau cluster
  • MACHINE_TYPE : type de machine du pool de nœuds par défaut de votre cluster, qui doit être le type de machine N2D ou le type de machine C2D

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Cliquez sur Créer.

  3. Dans la section Standard, cliquez sur Configurer.

  4. Dans le volet de navigation, cliquez sur Sécurité sous Cluster.

  5. Cochez la case Activer les nœuds Confidential GKE Node.

  6. Configurez le cluster selon vos besoins.

  7. Cliquez sur Create (Créer).

Pour en savoir plus sur la création de clusters, consultez la page Créer un cluster régional.

Après la création d'un cluster avec des nœuds Confidential GKE Node, les pools de nœuds créés dans ce cluster ne peuvent utiliser que des nœuds confidentiels. Vous ne pouvez pas créer de pools de nœuds standards dans des clusters où les nœuds Confidential GKE Node sont activés. Vous ne pouvez pas non plus désactiver les nœuds Confidential GKE Node sur des pools de nœuds individuels lorsque vous activez les nœuds Confidential GKE Node au niveau du cluster.

Activer les nœuds Confidential GKE Node sur des pools de nœuds

Vous pouvez activer les nœuds Confidential GKE Node sur des pools de nœuds spécifiques si les nœuds Confidential GKE Node sont désactivés au niveau du cluster.

Créer un pool de nœuds

Pour créer un pool de nœuds avec les nœuds Confidential GKE Node activés, exécutez la commande suivante :

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --machine-type=MACHINE_TYPE \
    --enable-confidential-nodes

Remplacez les éléments suivants :

  • NODE_POOL_NAME : nom de votre nouveau pool de nœuds.
  • CLUSTER_NAME : nom du cluster
  • MACHINE_TYPE : type de machine de votre pool de nœuds, qui doit être un type de machine N2D ou le type de machine C2D

Mettre à jour un pool de nœuds existant

Vous pouvez activer les nœuds Confidential GKE Node sur des pools de nœuds existants qui utilisent le type de machine N2D ou le type de machine C2D. Exécutez la commande ci-dessous.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-confidential-nodes

Remplacez les éléments suivants :

  • NODE_POOL_NAME : nom de votre pool de nœuds.
  • CLUSTER_NAME : nom du cluster

Vérifier que les nœuds Confidential GKE Node sont activés

Sur des clusters

Vous pouvez vérifier que votre cluster utilise des nœuds Confidential GKE Node à l'aide de gcloud CLI ou de la console Google Cloud.

gcloud

Décrivez le cluster :

gcloud container clusters describe CLUSTER_NAME

Si les nœuds Confidential GKE Node sont activés, le résultat de la commande inclut les lignes suivantes :

confidentialNodes:
  enabled: true

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Cliquez sur le nom du cluster que vous souhaitez inspecter.

  3. Sous Sécurité, dans le champ Nœuds Confidential GKE Node, vérifiez que les nœuds Confidential GKE Node sont Activés.

Sur des pools de nœuds

Pour vérifier que votre pool de nœuds utilise des nœuds Confidential GKE Node, exécutez la commande suivante :

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

Si les nœuds Confidential GKE Node sont activés, le résultat ressemble à ce qui suit :

confidentialNodes:
  enabled: true

Sur les nœuds

Pour valider la confidentialité de nœuds spécifiques, vous pouvez :

  1. vérifier que la plate-forme AMD SEV est activée, ou
  2. vérifier qu'il s'agit d'une Confidential VM à l'aide de Cloud Monitoring.

Exécuter des applications sur des nœuds Confidential GKE Node

L'approche de Google en matière d'informatique confidentielle consiste à permettre une migration Lift and Shift sans effort pour les applications existantes. Les charges de travail GKE que vous exécutez aujourd'hui peuvent s'exécuter sur des nœuds Confidential GKE Node sans modification du code.

Si vous souhaitez indiquer de manière déclarative que vos charges de travail ne doivent s'exécuter que sur des clusters avec nœuds Confidential GKE Node, vous pouvez utiliser le sélecteur de nœuds cloud.google.com/gke-confidential-nodes. Voici un exemple de spécification de pod utilisant ce sélecteur :

apiVersion: v1
kind: Pod
spec:
  containers:
  - name: my-confidential-app
    image: us-docker.pkg.dev/myproject/myrepo/my-confidential-app
  nodeSelector:
    cloud.google.com/gke-confidential-nodes: "true"

Définir des contraintes de règle d'administration

Vous pouvez définir une contrainte de règle d'administration pour vous assurer que toutes les ressources de VM créées dans votre organisation sont des instances de Confidential VM. Pour GKE, vous pouvez personnaliser la contrainte Limiter l'informatique non confidentielle pour exiger que tous les clusters soient créés avec les nœuds Confidential GKE Node. Ajoutez le nom du service d'API container.googleapis.com à la liste de refus lors de l'application des contraintes de règle d'administration, par exemple :

gcloud resource-manager org-policies deny \
    constraints/compute.restrictNonConfidentialComputing compute.googleapis.com container.googleapis.com \
    --project=PROJECT_ID

en remplaçant PROJECT_ID par l'ID de votre projet :

Limites

Les nœuds Confidential GKE Node présentent les limites suivantes :

Désactiver les nœuds Confidential GKE Node

La désactivation des nœuds Confidential GKE Node ne fonctionne que pour les pools de nœuds sur lesquels les nœuds Confidential GKE Node sont activés. Si le cluster est créé avec des nœuds Confidential GKE Node, vous ne pouvez pas désactiver cette fonctionnalité. Exécutez la commande suivante pour désactiver les nœuds Confidential GKE Node sur un pool de nœuds :

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --no-enable-confidential-nodes

Étapes suivantes