工作負載中繼資料變數

建立 VM 時,您可以將變數傳遞至 --metadata 選項,變更 Confidential Space 工作負載 VM 的行為。

如要傳入多個變數,請先在 --metadata 值前面加上 ^~^,設定分隔符號。這會將分隔符號設為 ~,因為變數值會使用 ,。

例如:

metadata="^~^tee-restart-policy=Always~tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest"

下表詳細說明可為工作負載 VM 設定的中繼資料變數。

中繼資料鍵 類型 說明和值

tee-image-reference

互動對象:

字串

這是必要旗標,這會指向工作負載容器的位置。

範例
tee-image-reference=us-docker.pkg.dev/WORKLOAD_AUTHOR_PROJECT_ID/REPOSITORY_NAME/WORKLOAD_CONTAINER_NAME:latest

ita-api-key

字串

只有在使用 Intel Trust Authority 做為認證服務時,才需要提供這項資訊。將值設為 Intel Trust Authority API 金鑰。

如要瞭解如何建立 Intel Trust Authority API 金鑰,請參閱 Intel 說明文件。

Intel Trust Authority 支援 Intel TDX VM 執行個體,可選擇搭載 NVIDIA H100 GPU。如果 GPU 存在,系統也會驗證其證據。

範例
ita-api-key=API_KEY

ita-region

字串

只有在使用 Intel Trust Authority 做為認證服務時,才需要提供這項資訊。將值設為要執行 Intel Trust Authority 的區域。有效區域如下:

  • 美國:https://api.trustauthority.intel.com
  • 歐洲: https://api.eu.trustauthority.intel.com

Intel Trust Authority 支援 Intel TDX VM 執行個體,可選擇搭載 NVIDIA H100 GPU。如果 GPU 存在,系統也會驗證其證據。

範例
ita-region=REGION_NAME

tee-added-capabilities

互動對象:

JSON 字串陣列

為工作負載容器新增其他 Linux 功能。

範例
tee-added-capabilities="[\"CAP_SYS_ADMIN\", \"CAP_SYS_CHROOT\"]"

tee-cgroup-ns

互動對象:

布林值

預設值為 false。設為 true 時,會在 /sys/fs/cgroup 啟用命名空間 cgroup 掛接。

範例
tee-cgroup-ns=true

tee-cmd

互動對象:

JSON 字串陣列

覆寫工作負載容器 Dockerfile 中指定的 CMD 指令。

範例
tee-cmd="[\"params1\", \"params2\"]"

tee-container-log-redirect

互動對象:

Enumeration

使用 confidential-space-launcher 欄位,將工作負載容器中的 STDOUT 和 STDERR 輸出至 Cloud Logging 或序列控制台。

有效值如下:

  • false:(預設) 不會記錄。
  • true:輸出至序列控制台和 Cloud Logging。
  • cloud_logging:僅輸出至 Cloud Logging。
  • serial:僅輸出至序列控制台。

序列控制台中的記錄量過多,可能會影響工作負載效能。

範例
tee-container-log-redirect=true

tee-dev-shm-size-kb

整數

設定 /dev/shm 共用記憶體掛接的大小 (以 kB 為單位)。

範例
tee-dev-shm-size-kb=65536

tee-env-ENVIRONMENT_VARIABLE_NAME

互動對象:

字串

在工作負載容器中設定環境變數。工作負載作者也必須將環境變數名稱新增至 allow_env_override 啟動政策,否則不會設定這些名稱。

範例
tee-env-example-env-1='value-1'~tee-env-example-env-2='value-2'

tee-impersonate-service-accounts

互動對象:

字串

工作負載運算子可模擬的服務帳戶清單。工作負載運算子必須 獲准模擬服務帳戶。

您可以列出多個服務帳戶,並以半形逗號分隔。

範例
tee-impersonate-service-accounts=SERVICE_ACCOUNT_NAME_1@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com,SERVICE_ACCOUNT_NAME_2@WORKLOAD_OPERATOR_PROJECT_ID.iam.gserviceaccount.com

tee-install-gpu-driver

互動對象:

布林值

是否要安裝 NVIDIA 的機密運算 GPU 驅動程式。必須使用支援 NVIDIA 機密運算的機型。

範例
tee-install-gpu-driver=true

tee-monitoring-memory-enable

互動對象:

布林值

預設值為 false。設為 true 時,會啟用記憶體用量監控功能。Confidential VM 收集的指標屬於 guest/memory/bytes_used 類型,可在 Cloud Logging 或 Metrics Explorer 中查看。

範例
tee-monitoring-memory-enable=true

tee-mount

互動對象:

字串

以分號分隔的掛接定義清單。掛接定義是由以半形逗號分隔的鍵/值組合清單組成,需要 type、source 和 destination。destination 必須是絕對路徑,且 type/source 必須是 tmpfs。

範例
type=tmpfs,source=tmpfs,destination=/tmp/tmpfs,size=12345;type=tmpfs,source=tmpfs,destination=/run/workload

tee-nonroot-container

互動對象:

布林值

預設值為 false。如果設為 true,容器會在獨立的使用者命名空間中,以主機 VM 上的非超級使用者身分執行。如果工作負載作者將 tee.launch_policy.nonroot_container 設為 nonrootonly,則必須將這個變數設為 true。

範例
tee-nonroot-container=true

tee-restart-policy

互動對象:

Enumeration

工作負載停止時,容器啟動器的重新啟動政策。

有效值如下:

  • Never (預設)
  • Always
  • OnFailure

這個變數僅適用於正式版 Confidential Space 映像檔。

範例
tee-restart-policy=OnFailure

tee-signed-image-repos

互動對象:

字串

以半形逗號分隔的容器存放區清單,用於儲存 Sigstore Cosign 產生的簽章。

範例
tee-signed-image-repos=us-docker.pkg.dev/projectA/repo/example,us-docker.pkg.dev/projectB/repo/example,us-docker.pkg.dev/projectC/repo/example