Cette page explique comment utiliser les modules de plate-forme virtuelle sécurisée (vTPM) avec les charges de travail Google Kubernetes Engine (GKE) Standard qui s'exécutent dans les nœuds GKE confidentiels. Les vTPM assurent l'intégrité de la plate-forme, ainsi que d'autres fonctionnalités de sécurité telles que l'attestation à distance, le scellement des secrets et la génération de nombres aléatoires. Sur cette page, vous allez apprendre à installer un plug-in d'appareil et à rendre les vTPM visibles pour les applications GKE.
Cette page s'adresse aux ingénieurs en sécurité qui souhaitent accéder à distance aux fonctionnalités de sécurité des vTPM dans les applications GKE.
Avant de lire cette page, assurez-vous de connaître les fonctionnalités 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
.
Limites
Vous ne pouvez rendre les vTPM visibles pour les applications GKE que dans les nœuds Confidential GKE Node qui utilisent AMD SEV comme technologie de informatique confidentielle. Intel TDX et AMD SEV-SNP ne sont pas compatibles.
Disponibilité
Vous pouvez utiliser des nœuds Confidential GKE Node dans les conditions suivantes :
Dans les zones et les régions dans lesquelles les instances N2D ou les instances C2D sont disponibles.
Images de nœud utilisant Container-Optimized OS avec containerd (
cos_containerd
).
Créer un cluster Confidential GKE Nodes
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 deviennent des Confidential VMs.
gcloud
Créez un cluster qui utilise AMD SEV comme technologie de informatique confidentielle :
gcloud container clusters create CLUSTER_NAME \
--machine-type=MACHINE_TYPE \
--confidential-node-type=SEV
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 C2D
Console
- Dans la console Google Cloud , accédez à la page Créer un cluster Kubernetes.
- Dans le menu de navigation, sous Cluster, cliquez sur Sécurité.
- Sélectionnez Activer les nœuds Confidential GKE Node.
- Dans la boîte de dialogue de confirmation, cliquez sur Apporter des modifications.
- Dans le menu Type, sélectionnez AMD SEV.
- Pour configurer d'autres sections du cluster, suivez les instructions de la section Créer un cluster régional.
- Cliquez sur Créer.
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.
Exécuter un module vTPM dans des charges de travail Confidential GKE Nodes
Pour exécuter vTPM dans les charges de travail Confidential GKE Nodes, Google fournit un DaemonSet à appliquer aux clusters Confidential GKE Nodes. Exécutez la commande suivante pour déployer le DaemonSet :
kubectl create -f https://raw.githubusercontent.com/google/cc-device-plugin/main/manifests/cc-device-plugin.yaml
Configurer des pods pour afficher le vTPM
Vous devez appliquer une limite de ressources pour configurer des pods afin qu'ils voient le vTPM. Définissez la limite de ressources sur 1 dans une spécification de pod à l'aide de la paire clé/valeur suivante :
- Clé :
google.com/cc
- Valeur : 1
Exemple de spécification de pod utilisant vTPM :
apiVersion: v1
kind: Pod
metadata:
name: my-vtpm-pod
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 8080
name: http
resources:
limits:
google.com/cc: 1
Étapes suivantes
- Découvrez comment attester à distance que les charges de travail s'exécutent sur une Confidential VM.