Execute um vTPM em cargas de trabalho de nós do GKE confidenciais

Esta página mostra como usar módulos de plataforma fidedigna virtuais (vTPMs) com cargas de trabalho padrão do Google Kubernetes Engine (GKE) que são executadas em nós do GKE confidenciais. Os vTPMs oferecem integridade da plataforma juntamente com outras funcionalidades de segurança, como atestação remota, selagem secreta e geração de números aleatórios. Nesta página, vai saber como instalar um plug-in de dispositivo e tornar os vTPMs visíveis para as aplicações GKE.

Esta página destina-se a engenheiros de segurança que pretendam aceder remotamente às funcionalidades de segurança dos vTPMs em aplicações GKE.

Antes de ler esta página, certifique-se de que conhece as seguintes funcionalidades:

Antes de começar

Antes de começar, certifique-se de que realizou as seguintes tarefas:

  • Ative a API Google Kubernetes Engine.
  • Ative a API Google Kubernetes Engine
  • Se quiser usar a CLI gcloud para esta tarefa, instale-a e, em seguida, inicialize-a. Se instalou anteriormente a CLI gcloud, execute gcloud components update para obter a versão mais recente.

Limitações

Pode tornar os vTPMs visíveis para as aplicações GKE apenas em nós GKE confidenciais que usam o AMD SEV como tecnologia de computação confidencial. O Intel TDX e o AMD SEV-SNP não são suportados.

Disponibilidade

Pode usar os Confidential GKE Nodes nas seguintes condições:

Crie um cluster de Confidential GKE Nodes

Pode criar um novo cluster com nós do GKE confidenciais ativados através da CLI gcloud ou da Google Cloud consola. Se ativar os nós do GKE confidenciais ao nível do cluster, todos os nós no cluster tornam-se VMs confidenciais.

gcloud

Crie um novo cluster que use o AMD SEV como tecnologia de computação confidencial:

gcloud container clusters create CLUSTER_NAME \
    --machine-type=MACHINE_TYPE \
    --confidential-node-type=SEV

Substitua o seguinte:

  • CLUSTER_NAME: o nome do novo cluster.
  • MACHINE_TYPE: o tipo de máquina do node pool predefinido do cluster, que tem de ser o tipo de máquina N2D ou C2D.

Consola

  1. Na Google Cloud consola, aceda à página Criar um cluster do Kubernetes.

    Aceda a Crie um cluster do Kubernetes

  2. No menu de navegação, em Cluster, clique em Segurança.
  3. Selecione Ativar nós do GKE confidenciais.
  4. Na caixa de diálogo de confirmação, clique em Fazer alterações.
  5. No menu Tipo, selecione AMD SEV.
  6. Para configurar outras secções do cluster, siga as instruções em Criar um cluster regional.
  7. Clique em Criar.

Depois de criar um cluster com Confidential GKE Nodes, todos os conjuntos de nós criados neste cluster só podem usar nós confidenciais. Não pode criar pools de nós normais em clusters com nós do GKE confidenciais ativados. Também não pode desativar os Confidential GKE Nodes em node pools individuais quando os ativa ao nível do cluster.

Execute um vTPM em cargas de trabalho de nós do GKE confidenciais

Para executar o vTPM em cargas de trabalho de Confidential GKE Nodes, a Google fornece um DaemonSet para aplicar aos clusters de Confidential GKE Nodes. Execute o seguinte comando para implementar o DaemonSet:

kubectl create -f https://raw.githubusercontent.com/google/cc-device-plugin/main/manifests/cc-device-plugin.yaml

Configure os pods para ver o vTPM

Usa um limite de recursos para configurar os pods de modo a verem o vTPM. Especifique o limite de recursos como 1 numa especificação de pod usando o seguinte par de chave-valor

  • Tecla: google.com/cc
  • Valor: 1

Um exemplo de uma especificação de pod que usa o 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

O que se segue?