En esta página, se muestra cómo usar los módulos de plataforma segura virtual (vTPM) con las cargas de trabajo de Google Kubernetes Engine (GKE) Standard que se ejecutan en Confidential GKE Nodes. 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 hacer que los vTPM sean visibles para las aplicaciones de GKE.
Esta página está destinada a 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 el comando
gcloud components updatepara obtener la versión más reciente. Es posible que las versiones anteriores de gcloud CLI no admitan la ejecución de los comandos de este documento.
Limitaciones
Puedes hacer que los vTPM sean visibles para las aplicaciones de GKE solo en Confidential GKE Nodes que usan AMD SEV 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 instancias 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 mediante gcloud CLI o la Google Cloud consola de. Si habilitas Confidential GKE Nodes a nivel de clúster, todos los nodos del clúster se convierten en Confidential VMs.
gcloud
Crea un clúster nuevo que use AMD SEV como tecnología de Confidential Computing:
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 tu clúster, el cual debe ser el tipo de máquina N2D o el C2D.
Console
- En la Google Cloud consola, ve a la página Crear 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 Realizar cambios.
- En el menú Tipo, 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 de 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 para aplicar 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 los pods para ver el vTPM
Usa un límite de recursos para configurar los pods para ver el vTPM. Especifica el límite de recursos como 1 en una especificación de pod con los pares clave-valor siguientes:
- Clave:
google.com/cc - Valor: 1
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 certificar de forma remota que las cargas de trabajo se ejecutan en Confidential VM.