Políticas de lançamento

As políticas de inicialização substituem as variáveis de metadados da VM definidas pelos operadores de carga de trabalho para restringir ações mal-intencionadas. Um autor de carga de trabalho pode definir políticas com um rótulo como parte da criação da imagem do contêiner.

Por exemplo, em um Dockerfile:

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

Em um arquivo BUILD do Bazel:

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

As políticas de lançamento disponíveis estão na seguinte tabela:

Política Tipo Descrição

tee.launch_policy.allow_capabilities

Interage com:

Booleano (o padrão é false) Determina se o operador da carga de trabalho pode adicionar mais recursos do Linux ao contêiner da carga de trabalho.

tee.launch_policy.allow_cgroups

Interage com:

  • Operador de carga de trabalho: a variável de metadados tee-cgroup-ns.
Booleano (o padrão é false) Determina se o contêiner de carga de trabalho pode incluir uma montagem de cgroup com namespace em /sys/fs/cgroup.

tee.launch_policy.allow_cmd_override

Interage com:

Booleano (o padrão é false) Determina se o CMD especificado no Dockerfile do contêiner da carga de trabalho pode ser substituído por um operador de carga de trabalho com o valor de metadados tee-cmd.

tee.launch_policy.allow_env_override

Interage com:

String separada por vírgulas Uma string separada por vírgulas de nomes de variável de ambiente permitidas que podem ser definidas por um operador de carga de trabalho com valores de metadados tee-env-ENVIRONMENT_VARIABLE_NAME.

tee.launch_policy.allow_mount_destinations

Interage com:

  • Operador de carga de trabalho: a variável de metadados tee-mount.
String separada por dois-pontos

Uma string separada por dois-pontos de diretórios de montagem permitidos que o operador de carga de trabalho pode montar usando tee-mount.

Por exemplo: /run/tmp:/var/tmp:/tmp

tee.launch_policy.log_redirect

Interage com:

String definida

Determina como a geração de registros funciona se tee-container-log-redirect for definido como true por um operador de carga de trabalho.

Os valores válidos são os seguintes:

  • debugonly (padrão): só permite redirecionamentos de stdout e stderr ao usar uma imagem de depuração.
  • always: sempre permite redirecionamentos de stdout e stderr.
  • never: nunca permite redirecionamentos de stdout e stderr.

tee.launch_policy.monitoring_memory_allow

Interage com:

String definida

Determina como o monitoramento do uso da memória da carga de trabalho funciona se tee-monitoring-memory-enable for definido como true por um operador de carga de trabalho.

Os valores válidos são os seguintes:

  • debugonly (padrão): só permite o monitoramento do uso da memória ao usar uma imagem de depuração.
  • always: sempre permite o monitoramento do uso da memória.
  • never: nunca permite o monitoramento do uso da memória.

tee.launch_policy.nonroot_container

Interage com:

String definida

Determina se os privilégios de execução do contêiner serão restritos.

Os valores válidos são os seguintes:

  • unrestricted (padrão): o autor da carga de trabalho permite que o contêiner seja executado como raiz ou não raiz. O operador de carga de trabalho escolhe usando tee-nonroot-container.
  • nonrootonly: o autor da carga de trabalho exige que o contêiner seja executado como um usuário não raiz. O operador de carga de trabalho precisa definir tee-nonroot-container como true. Caso contrário, a VM não vai iniciar a carga de trabalho.