在機密 GKE 節點工作負載中執行 vTPM


本頁面說明如何搭配使用虛擬可信平台模組 (vTPM) 與 Google Kubernetes Engine (GKE) 標準工作負載,這些工作負載會在 Confidential GKE 節點中執行。vTPM 可提供平台完整性,以及其他安全性功能,例如遠端認證、密碼封裝和隨機數產生。本頁面說明如何安裝裝置外掛程式,以及如何讓 GKE 應用程式看到 vTPM。

本頁內容適用於安全工程師,說明如何遠端存取 GKE 應用程式中 vTPM 的安全功能。

閱讀本頁面之前,請務必熟悉下列功能:

事前準備

開始之前,請確認您已完成下列工作:

  • 啟用 Google Kubernetes Engine API。
  • 啟用 Google Kubernetes Engine API
  • 如要使用 Google Cloud CLI 執行這項工作,請安裝初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行 gcloud components update,取得最新版本。

限制

只有在以 AMD SEV 做為機密運算技術的機密 GKE 節點中,您才能讓 GKE 應用程式看到 vTPM。不支援 Intel TDX 和 AMD SEV-SNP。

可用性

在下列情況下,您可以使用機密 GKE 節點:

建立機密 GKE 節點叢集

您可以使用 gcloud CLI 或 Google Cloud 控制台,建立啟用機密 GKE 節點的新叢集。如果您在叢集層級啟用機密 GKE 節點,叢集中的所有節點都會變成機密 VM

gcloud

建立使用 AMD SEV 做為機密運算技術的新叢集:

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

更改下列內容:

  • CLUSTER_NAME:新叢集的名稱。
  • MACHINE_TYPE:叢集預設節點集區的機型,必須是 N2D 或 C2D 機型。

控制台

  1. 在 Google Cloud 控制台中,前往「建立 Kubernetes 叢集」頁面。

    前往「建立 Kubernetes 叢集」

  2. 在導覽選單的「Cluster」(叢集) 底下,按一下「Security」(安全性)
  3. 選取「啟用機密 GKE 節點」
  4. 在確認對話方塊中,按一下「進行變更」
  5. 在「Type」(類型) 選單中,選取「AMD SEV」
  6. 如要設定叢集的其他部分,請按照「建立地區叢集」一文的說明操作。
  7. 點選「建立」

使用機密 GKE 節點建立叢集後,在這個叢集中建立的任何節點集區都只能使用機密節點。啟用機密 GKE 節點的叢集無法建立一般節點集區。在叢集層級啟用機密 GKE 節點後,您也無法在個別節點集區中停用機密 GKE 節點。

在機密 GKE 節點工作負載中執行 vTPM

如要在機密 GKE 節點工作負載中執行 vTPM,Google 會提供 DaemonSet,供您套用至機密 GKE 節點叢集。執行下列指令來部署 DaemonSet:

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

設定 Pod 以查看 vTPM

您可以使用資源限制來設定 Pod 以查看 vTPM。使用下列鍵/值組合,在 Pod 規格中將資源限制指定為 1

  • 鍵:google.com/cc
  • 值:1

使用 vTPM 的 Pod 規格範例:

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

後續步驟