發布政策

啟動政策會覆寫工作負載操作員設定的 VM 中繼資料變數,以限制惡意動作。工作負載作者可以在建構容器映像檔時,使用標籤設定政策。

例如,在 Dockerfile 中:

LABEL "tee.launch_policy.allow_cmd_override"="true"

在 Bazel BUILD 檔案中:

container_image(
    ...
    labels={"tee.launch_policy.allow_cmd_override":"true"}
    ...
)

下表列出可用的啟動政策:

政策 類型 說明

tee.launch_policy.allow_capabilities

互動對象:

布林值 (預設為 false) 決定工作負載運算子是否能為工作負載容器新增額外的 Linux 功能。

tee.launch_policy.allow_cgroups

互動對象:

布林值 (預設為 false) 決定是否允許工作負載容器在 /sys/fs/cgroup 包含命名空間 cgroup 掛接。

tee.launch_policy.allow_cmd_override

互動對象:

布林值 (預設為 false) 決定工作負載運算子是否能使用 tee-cmd 中繼資料值,覆寫工作負載容器 Dockerfile 中指定的 CMD。

tee.launch_policy.allow_env_override

互動對象:

以半形逗號分隔的字串 以半形逗號分隔的字串,包含允許工作負載運算子使用 tee-env-ENVIRONMENT_VARIABLE_NAME 中繼資料值設定的環境變數名稱。

tee.launch_policy.allow_mount_destinations

互動對象:

  • 工作負載運算子: tee-mount 中繼資料變數。
以冒號分隔的字串

以半形冒號分隔的字串,列出工作負載運算子可使用 tee-mount 掛接的目錄。

例如:/run/tmp:/var/tmp:/tmp

tee.launch_policy.log_redirect

互動對象:

定義的字串

如果工作負載運算子將 tee-container-log-redirect 設為 true,則決定記錄功能的運作方式。

有效值如下:

  • debugonly (預設):使用偵錯映像檔時,僅允許 stdout 和 stderr 重新導向。
  • always:一律允許 stdout 和 stderr 重新導向。
  • never:一律不允許 stdout 和 stderr 重新導向。

tee.launch_policy.monitoring_memory_allow

互動對象:

定義的字串

如果工作負載運算子將 tee-monitoring-memory-enable 設為 true,這項設定會決定工作負載記憶體用量監控功能的運作方式。

有效值如下:

  • debugonly (預設):僅允許在使用偵錯映像檔時監控記憶體用量。
  • always:一律允許監控記憶體用量。
  • never:一律不允許監控記憶體用量。

tee.launch_policy.nonroot_container

互動對象:

定義的字串

決定是否要限制容器的執行權限。

有效值如下:

  • unrestricted (預設):工作負載作者允許容器以 root 或非 root 身分執行。工作負載運算子選擇使用 tee-nonroot-container。
  • nonrootonly:工作負載作者要求容器以非超級使用者身分執行。工作負載運算子必須將 tee-nonroot-container 設為 true,否則 VM 無法啟動工作負載。