En esta página, se muestra cómo usar los módulos de plataforma de confianza virtuales (vTPM) con cargas de trabajo estándar de Google Kubernetes Engine (GKE) que se ejecutan en nodos de GKE confidenciales. Los vTPM proporcionan integridad de la plataforma junto con otras funciones de seguridad, como la certificación remota, el sellado secreto y la generación de números aleatorios. En esta página, aprenderás a instalar un complemento de dispositivo y a hacer que los vTPM sean visibles para las aplicaciones de GKE.
Esta página está dirigida a los ingenieros de seguridad que desean acceder de forma remota a las funciones de seguridad de los vTPM en las aplicaciones de GKE.
Antes de leer esta página, asegúrate de estar familiarizado con las siguientes funciones:
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta
gcloud components update
para obtener la versión más reciente.
Limitaciones
Puedes hacer que los vTPM sean visibles para las aplicaciones de GKE solo en los Confidential GKE Nodes que usan la SEV de AMD como tecnología de Confidential Computing. No se admiten Intel TDX ni AMD SEV-SNP.
Disponibilidad
Puedes usar Confidential GKE Nodes en las siguientes condiciones:
En zonas y regiones con instancias N2D o C2D disponibles.
Imágenes de nodos que usan Container-Optimized OS con containerd (
cos_containerd
).
Crea un clúster de Confidential GKE Nodes
Puedes crear un clúster nuevo con Confidential GKE Nodes habilitados con gcloud CLI o la consola de Google Cloud . Si habilitas Confidential GKE Node a nivel del clúster, todos los nodos del clúster se convierten en Confidential VMs.
gcloud
Crea un clúster nuevo que use la tecnología de Confidential Computing de SEV de AMD:
gcloud container clusters create CLUSTER_NAME \
--machine-type=MACHINE_TYPE \
--confidential-node-type=SEV
Reemplaza lo siguiente:
- CLUSTER_NAME: Es el nombre del clúster nuevo.
- MACHINE_TYPE: Es el tipo de máquina para el grupo de nodos predeterminado del clúster, que debe ser el tipo de máquina N2D o C2D.
Console
- En la consola de Google Cloud , ve a la página Crea un clúster de Kubernetes.
- En el menú de navegación, en Clúster, haz clic en Seguridad.
- Selecciona Habilitar Confidential GKE Nodes.
- En el cuadro de diálogo de confirmación, haz clic en Hacer cambios.
- En el menú Type, selecciona AMD SEV.
- Para configurar otras secciones del clúster, sigue las instrucciones en Crea un clúster regional.
- Haz clic en Crear.
Después de crear un clúster con Confidential GKE Node, cualquier grupo de nodos creado en este clúster solo puede usar nodos confidenciales. No puedes crear grupos de nodos normales en clústeres con Confidential GKE Nodes habilitado. Tampoco puedes inhabilitar Confidential GKE Nodes en grupos de nodos individuales cuando habilitas Confidential GKE Nodes a nivel del clúster.
Ejecuta un vTPM en cargas de trabajo de Confidential GKE Nodes
Para ejecutar vTPM en cargas de trabajo de Confidential GKE Nodes, Google proporciona un DaemonSet que se aplica a los clústeres de Confidential GKE Nodes. Ejecuta el siguiente comando para implementar el DaemonSet:
kubectl create -f https://raw.githubusercontent.com/google/cc-device-plugin/main/manifests/cc-device-plugin.yaml
Configura Pods para ver el vTPM
Usa un límite de recursos para configurar los Pods de modo que vean el vTPM. Especifica el límite de recursos como 1 en una especificación de Pod con el siguiente par clave-valor:
- Clave:
google.com/cc
- Valor: 1
A continuación, se muestra un ejemplo de una especificación de Pod que usa 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
¿Qué sigue?
- Obtén información para atestiguar de forma remota que las cargas de trabajo se ejecutan en Confidential VM.