启动政策

启动政策会替换工作负载操作员设置的虚拟机元数据变量,以限制恶意操作。工作负载作者可以在构建容器映像的过程中使用标签设置政策。

例如,在 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) 确定工作负载容器的 Dockerfile 中指定的 CMD 是否可被工作负载操作员使用 tee-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(默认):工作负载作者允许容器以根用户或非根用户身份运行。工作负载操作员选择使用 tee-nonroot-container。
  • nonrootonly:工作负载作者要求容器以非根用户身份运行。工作负载操作员必须将 tee-nonroot-container 设置为 true,否则虚拟机无法启动工作负载。