本頁面說明如何搭配使用虛擬可信平台模組 (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 節點:
使用含有 containerd (
cos_containerd
) 的 Container-Optimized OS 的節點映像檔。
建立機密 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 機型。
控制台
- 在 Google Cloud 控制台中,前往「建立 Kubernetes 叢集」頁面。
- 在導覽選單的「Cluster」(叢集) 底下,按一下「Security」(安全性)。
- 選取「啟用機密 GKE 節點」。
- 在確認對話方塊中,按一下「進行變更」。
- 在「Type」(類型) 選單中,選取「AMD SEV」。
- 如要設定叢集的其他部分,請按照「建立地區叢集」一文的說明操作。
- 點選「建立」。
使用機密 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
後續步驟
- 瞭解如何遠端證明工作負載是在機密 VM 上執行。