Ejecuta un vTPM en cargas de trabajo de Confidential GKE Node

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 update para 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:

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

  1. En la Google Cloud consola, ve a la página Crear un clúster de Kubernetes.

    Ir a Crear un clúster de Kubernetes

  2. En el menú de navegación, en Clúster, haz clic en Seguridad.
  3. Selecciona Habilitar Confidential GKE Nodes.
  4. En el cuadro de diálogo de confirmación, haz clic en Realizar cambios.
  5. En el menú Tipo, selecciona AMD SEV.
  6. Para configurar otras secciones del clúster, sigue las instrucciones en Crea un clúster regional.
  7. 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?