Envie comentários
Declarações de atestado
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Para saber mais sobre como usar declarações de atestado, consulte
Criar uma política de atestado .
As declarações disponíveis para criar uma política de atestado são detalhadas na
tabela a seguir. As políticas podem validar declarações feitas pela imagem do Confidential Space, pelo contêiner de carga de trabalho e pela instância de VM.
Declarações de imagem
Declaração
Tipo
Descrição
assertion.dbgstat
Interage com:
Operador de carga de trabalho : o valor
--image-family
.
String definida
Verifica se a imagem do Confidential Space é a versão de depuração ou
de produção.
Os valores válidos são:
enable: verifique se a imagem de depuração está sendo usada.
disabled-since-boot: verifique se a imagem de produção está sendo usada.
Exemplos
O código a seguir verifica se a versão de depuração da
imagem do Confidential Space está sendo usada:
assertion.dbgstat == "enable"
O código a seguir verifica se a versão de produção da
imagem do Confidential Space está sendo usada:
assertion.dbgstat == "disabled-since-boot"
assertion.submods.confidential_space.support_attributes
Matriz de strings
Verifica se a versão de segurança do TEE é uma imagem de produção do
Confidential Space. As imagens de depuração do Confidential Space não têm um atributo de suporte definido.
Há três atributos de suporte:
LATEST: essa é a versão mais recente da imagem
e é compatível. A imagem LATEST também é
STABLE e USABLE.
STABLE: esta versão da imagem é compatível
e monitorada em busca de vulnerabilidades. Uma imagem STABLE
também é USABLE.
USABLE: uma imagem com apenas esse atributo não tem
suporte e não é mais monitorada em busca de vulnerabilidades. Use por sua
conta e risco.
EXPERIMENTAL: uma imagem com apenas esse atributo
usa recursos de visualização. Ele é destinado apenas a testes e nunca deve ser usado na produção. Uma imagem
EXPERIMENTAL nunca tem os atributos
LATEST, STABLE ou
USABLE.
Atenção : como o token padrão do Confidential Space é
atualizado a cada hora, não é recomendável especificar LATEST para
cargas de trabalho de longa duração. A imagem do Confidential Space
pode ser atualizada enquanto sua carga de trabalho está em execução, o que significa
que a carga de trabalho não está mais na versão mais recente e falha
na comprovação como resultado.
Exemplo
O código a seguir verifica se uma versão estável da
imagem do Confidential Space está sendo usada:
"STABLE" in assertion.submods.confidential_space.support_attributes
assertion.swname
String definida
Verifica o software em execução na entidade de atestado. O valor é sempre CONFIDENTIAL_SPACE.
Exemplo
assertion.swname == "CONFIDENTIAL_SPACE"
assertion.swversion
Matriz de strings
Verifica a versão do software da imagem do Confidential Space. Recomendamos usar
assertion.submods.confidential_space.support_attributes
para acessar a versão mais recente de uma imagem.
Exemplo
int(assertion.swversion[0]) == 230103
Declarações de contêiner
Declaração
Tipo
Descrição
assertion.submods.container.cmd_override
Interage com:
Autor da carga de trabalho : a política de
lançamento
allow_cmd_override
.
Operador de carga de trabalho : a variável de metadados
tee-cmd
.
Matriz de strings
Verifica os
comandos e parâmetros do
CMD usados na imagem da carga de trabalho.
Exemplos
O código a seguir verifica se o CMD da imagem da carga de trabalho
não foi substituído:
size(assertion.submods.container.cmd_override) == 0
O código a seguir verifica se program é o
único conteúdo nas substituições de CMD:
assertion.submods.container.cmd_override == ['program']
assertion.submods.container.env
Interage com:
Autor da carga de trabalho : a política de
lançamento
allow_env_override
.
Operador de carga de trabalho : a variável de metadados
tee-env-ENVIRONMENT_VARIABLE_NAME
.
objeto JSON
Verifica se as variáveis de ambiente e os respectivos valores foram transmitidos explicitamente para o contêiner.
Exemplo
O código a seguir verifica se a variável de ambiente
example-env-1 está definida como value-1 e
example-env-2 está definida como value-2.
assertion.submods.container.env == {"example-env-1": "value-1", "example-env-2": "value-2"}
assertion.submods.container.env_override
Interage com:
Autor da carga de trabalho : a política de
lançamento
allow_env_override
.
Operador de carga de trabalho : a variável de metadados
tee-env-ENVIRONMENT_VARIABLE_NAME
.
String
Verifica se o operador de carga de trabalho substituiu as variáveis de ambiente no contêiner.
Exemplos
O código a seguir verifica se o operador de carga de trabalho não
substituiu a variável de ambiente example:
!has(assertion.submods.container.env_override.example)
O código a seguir verifica se o operador de carga de trabalho não
substituiu nenhuma variável de ambiente:
size(assertion.submods.container.env_override) == 0
assertion.submods.container.image_digest
String
Verifica o resumo da imagem do contêiner da carga de trabalho. Especificar
essa condição permite que várias partes concordem com uma carga de trabalho autorizada que tenha permissão para acessar os dados delas.
Exemplo
assertion.submods.container.image_digest == "sha256:837ccb607e312b170fac7383d7ccfd61fa5072793f19a25e75fbacb56539b86b"
assertion.submods.container.image_id
String
Verifica o ID da imagem do contêiner da carga de trabalho.
Exemplo
assertion.submods.container.image_id == "sha256:652a44b0e911271ba07cf2915cd700fdfa50abd62a98f87a57fdebc59843d93f"
assertion.submods.container.image_reference
Interage com:
Operador de carga de trabalho : a variável de metadados
tee-image-reference
.
String
Verifica o local do contêiner da carga de trabalho em execução na
imagem do Confidential Space.
Exemplo
assertion.submods.container.image_reference == "us-docker.pkg.dev/PROJECT_ID/WORKLOAD_CONTAINER:latest"
assertion.submods.container.image_signatures
Interage com:
Operador de carga de trabalho : a variável de metadados
tee-signed-image-repos
.
objeto JSON
Verifica se a imagem tem uma determinada assinatura ou se foi assinada por
uma chave pública e um algoritmo de assinatura. Especificar essa condição permite que várias partes concordem com uma carga de trabalho autorizada que tenha permissão para acessar os dados delas.
A declaração pode incluir os seguintes elementos:
key_id: a impressão digital hexadecimal da chave pública. Para encontrar a impressão digital, execute o seguinte
comando:
openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256
Em que public_key.pem é sua chave pública no formato PEM.
signature: a assinatura em um payload associado ao contêiner assinado e que segue o
formato de assinatura simples .
signature_algorithm: o algoritmo usado para
assinar a chave. Opções:
RSASSA_PSS_SHA256 (RSASSA-PSS com um resumo SHA-256)
RSASSA_PKCS1V15_SHA256 (RSASSA-PKCS1 v1_5
com um resumo SHA-256)
ECDSA_P256_SHA256 (ECDSA na curva P-256
com um resumo SHA-256)
Exemplo
assertion.swname == 'CONFIDENTIAL_SPACE' && ['ECDSA_P256_SHA256:PUBLIC_KEY_FINGERPRINT '].exists(fingerprint, fingerprint in assertion.submods.container.image_signatures.map(sig, sig.signature_algorithm+':'+sig.key_id)) && 'serviceaccount.iam.gserviceaccount.com' in assertion.google_service_accounts"
assertion.submods.container.restart_policy
Interage com:
Operador de carga de trabalho : a variável de metadados
tee-restart-policy
.
String definida
Verifica a política de reinicialização do inicializador do contêiner quando
a carga de trabalho é interrompida.
Os valores válidos são:
Never (padrão)
Always
OnFailure
Exemplo
assertion.submods.container.restart_policy == "Never"
Declarações de VM
Declaração
Tipo
Descrição
assertion.google_service_accounts
Interage com:
Operador de carga de trabalho : a variável de metadados
tee-impersonate-service-accounts
e o valor
--service-account
.
Matriz de strings
Verifica se uma conta de serviço especificada está conectada à
VM que está executando a carga de trabalho ou se foi listada usando
tee-impersonate-service-accounts
nos metadados da VM.
Exemplo
workload-service-account@my-project.iam.gserviceaccount.com in assertion.google_service_accounts
assertion.hwmodel
String
Verifica a tecnologia de computação confidencial subjacente. As plataformas
compatíveis são as seguintes:
Exemplo
assertion.hwmodel == "GCP_AMD_SEV"
assertion.submods.confidential_space.monitoring_enabled
Interage com:
Autor da carga de trabalho : a política de
lançamento
monitoring_memory_allow
.
Operador de carga de trabalho : a variável de metadados
tee-memory-monitoring-enable .
Booleano
Verifica o estado de monitoramento na entidade de atestado.
Exemplo
assertion.submods.confidential_space.monitoring_enabled.memory == true
assertion.submods.gce.instance_id
String
Verifica o ID da instância de VM.
Exemplo
assertion.submods.gce.instance_id == "0000000000000000000"
assertion.submods.gce.instance_name
String
Verifica o nome da instância de VM.
Exemplo
assertion.submods.gce.instance_name == "workload-vm"
assertion.submods.gce.project_id
String
Verifica se a VM está executando um projeto Google Cloud com o ID do projeto especificado.
Exemplo
assertion.submods.gce.project_id == "project-id"
assertion.submods.gce.project_number
String
Verifica se a VM está em execução em um projeto Google Cloud com
o número de projeto especificado.
Exemplo
assertion.submods.gce.project_number == "00000000000"
assertion.submods.gce.zone
Interage com:
Operador de carga de trabalho : o valor
--zone
.
String
Verifica se a VM está em execução na zona especificada.
Exemplo
assertion.submods.gce.zone == "us-central1-a"
assertion.submods.nvidia_gpu.cc_mode
Interage com:
Operador de carga de trabalho : a variável de metadados
tee-install-gpu-driver
String definida
Verifica o status do driver de computação confidencial da NVIDIA.
Os valores válidos são:
OFF: nenhum dos recursos de computação confidencial da NVIDIA está
ativo.
ON: o hardware, o firmware e o software NVIDIA H100 ativaram totalmente os recursos de computação confidencial.
DEVTOOLS: a GPU está em um modo de computação confidencial parcial
que corresponde aos fluxos de trabalho do modo ON, mas desativa as proteções de segurança.
Exemplo
assertion.submods.nvidia_gpu.cc_mode == "ON"
Envie comentários
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons , e as amostras de código são licenciadas de acordo com a Licença Apache 2.0 . Para mais detalhes, consulte as políticas do site do Google Developers . Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2026-03-02 UTC.
Quer enviar seu feedback?
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-03-02 UTC."],[],[]]