Enviar comentarios
Aserciones de atestación
Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
Para obtener más información sobre cómo usar aserciones de certificación, consulta Crear una política de certificación .
Las aserciones disponibles para crear una política de certificación se detallan en la siguiente tabla. Las políticas pueden validar las aserciones realizadas por la imagen de Confidential Space, el contenedor de la carga de trabajo y la instancia de VM.
Afirmaciones sobre imágenes
Aserción
Tipo
Descripción
assertion.dbgstat
Interactúa con:
Cadena definida
Verifica que la imagen de Confidential Space sea la versión de depuración o de producción.
Los valores válidos son:
enable
: comprueba que se esté usando la imagen de depuración.
disabled-since-boot
: comprueba que se esté usando la imagen de producción.
Ejemplos
El siguiente código verifica que se está usando la versión de depuración de la imagen de espacio confidencial:
assertion.dbgstat == "enable"
El siguiente código verifica que se esté usando la versión de producción de la imagen de Confidential Space:
assertion.dbgstat == "disabled-since-boot"
assertion.submods.confidential_space.support_attributes
Matriz de cadenas
Verifica que la versión de seguridad del TEE sea una imagen de Confidential Space de producción. Las imágenes de espacio confidencial de depuración no tienen ningún atributo de compatibilidad definido.
Hay tres atributos de asistencia:
LATEST
: esta es la versión más reciente de la imagen y se admite. La imagen LATEST
también es
STABLE
y USABLE
.
STABLE
: esta versión de la imagen es compatible
y se monitoriza para detectar vulnerabilidades. Una imagen STABLE
también es USABLE
.
USABLE
: Las imágenes que solo tienen este atributo ya no se admiten y no se monitorizan para detectar vulnerabilidades. Úsalo bajo tu propia responsabilidad.
EXPERIMENTAL
: una imagen que solo tenga este atributo
utiliza las funciones de vista previa. Solo se puede usar con fines de prueba y nunca en producción. Una imagen EXPERIMENTAL
nunca tiene los atributos LATEST
, STABLE
ni USABLE
.
Precaución: Como el token predeterminado de Confidential Space se actualiza cada hora, no se recomienda especificar LATEST
para cargas de trabajo de larga duración. Es posible que la imagen de Confidential Space se actualice mientras se ejecuta tu carga de trabajo, lo que significa que la carga de trabajo ya no está en la versión más reciente y, por lo tanto, no supera la certificación.
Ejemplo
El siguiente código verifica que se esté usando una versión estable de la imagen de espacio confidencial:
"STABLE" in assertion.submods.confidential_space.support_attributes
assertion.swname
Cadena definida
Verifica el software que se ejecuta en la entidad de certificación. El valor siempre es CONFIDENTIAL_SPACE
.
Ejemplo
assertion.swname == "CONFIDENTIAL_SPACE"
assertion.swversion
Matriz de cadenas
Verifica la versión de software de la imagen de Confidential Space. Te recomendamos que utilices assertion.submods.confidential_space.support_attributes
para orientar a la versión más reciente de una imagen.
Ejemplo
int(assertion.swversion[0]) == 230103
Aserciones de contenedor
Aserción
Tipo
Descripción
assertion.submods.container.cmd_override
Interactúa con:
Autor de la carga de trabajo: la
allow_cmd_override
política de lanzamiento.
Operador de carga de trabajo: la variable de metadatos
tee-cmd
.
Matriz de cadenas
Verifica los comandos
CMD y los parámetros utilizados en la imagen de la carga de trabajo.
Ejemplos
El siguiente código verifica que el CMD de la imagen de la carga de trabajo no se haya sobrescrito:
size(assertion.submods.container.cmd_override) == 0
El siguiente código verifica que program
es el único contenido de las anulaciones de CMD:
assertion.submods.container.cmd_override == ['program']
assertion.submods.container.env
Interactúa con:
Objeto JSON
Verifica que las variables de entorno y sus valores se hayan
transmitido explícitamente al contenedor.
Ejemplo
El siguiente código verifica que la variable de entorno
example-env-1
esté definida como value-1
y
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
Interactúa con:
Cadena
Verifica si el operador de carga de trabajo ha sobrescrito las variables de entorno en el contenedor.
Ejemplos
El siguiente código verifica que el operador de carga de trabajo no haya
sustituido la variable de entorno example
:
!has(assertion.submods.container.env_override.example)
El siguiente código verifica que el operador de la carga de trabajo no haya
sobrescrito ninguna variable de entorno:
size(assertion.submods.container.env_override) == 0
assertion.submods.container.image_digest
Cadena
Verifica el digest de la imagen del contenedor de la carga de trabajo. Al especificar esta condición, varias partes pueden acordar una carga de trabajo autorizada que tenga permiso para acceder a sus datos.
Ejemplo
assertion.submods.container.image_digest == "sha256:837ccb607e312b170fac7383d7ccfd61fa5072793f19a25e75fbacb56539b86b"
assertion.submods.container.image_id
Cadena
Verifica el ID de la imagen del contenedor de la carga de trabajo.
Ejemplo
assertion.submods.container.image_id == "sha256:652a44b0e911271ba07cf2915cd700fdfa50abd62a98f87a57fdebc59843d93f"
assertion.submods.container.image_reference
Interactúa con:
Cadena
Verifica la ubicación del contenedor de carga de trabajo que se ejecuta en la parte superior de la imagen de Confidential Space.
Ejemplo
assertion.submods.container.image_reference == "us-docker.pkg.dev/PROJECT_ID/WORKLOAD_CONTAINER:latest"
assertion.submods.container.image_signatures
Interactúa con:
Objeto JSON
Verifica que la imagen tenga una firma determinada o que esté firmada por una clave pública y un algoritmo de firma. Si especifica esta condición, varias partes podrán acordar una carga de trabajo autorizada que tenga permiso para acceder a sus datos.
La aserción puede incluir los siguientes elementos:
key_id
: huella digital hexadecimal de la clave pública. Para obtener la huella digital, puedes ejecutar el siguiente comando:
openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256
Donde public_key.pem
es tu clave pública en formato PEM.
signature
: firma sobre una carga útil asociada al contenedor firmado y que sigue el
formato de firma simple .
signature_algorithm
: el algoritmo usado para
firmar la clave. Uno de los siguientes:
RSASSA_PSS_SHA256
(RSASSA-PSS con una
digestión SHA-256)
RSASSA_PKCS1V15_SHA256
(RSASSA-PKCS1 v1_5
con una digestión SHA-256)
ECDSA_P256_SHA256
(ECDSA de curva P-256 con una síntesis SHA-256)
Ejemplo
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
Interactúa con:
Cadena definida
Verifica la política de reinicio del lanzador de contenedores cuando se detiene la carga de trabajo.
Los valores válidos son:
Never
(predeterminado)
Always
OnFailure
Ejemplo
assertion.submods.container.restart_policy == "Never"
Aserciones de VM
Aserción
Tipo
Descripción
assertion.google_service_accounts
Interactúa con:
Matriz de cadenas
Verifica que una cuenta de servicio especificada esté conectada a la VM que ejecuta la carga de trabajo o que se haya incluido en los metadatos de la VM mediante
tee-impersonate-service-accounts
.
Ejemplo
workload-service-account@my-project.iam.gserviceaccount.com in assertion.google_service_accounts
assertion.hwmodel
Cadena
Verifica la tecnología de Confidential Computing subyacente. Las plataformas admitidas son las siguientes:
Ejemplo
assertion.hwmodel == "GCP_AMD_SEV"
assertion.submods.confidential_space.monitoring_enabled
Interactúa con:
Booleano
Verifica el estado de la monitorización en la entidad de certificación.
Ejemplo
assertion.submods.confidential_space.monitoring_enabled.memory == true
assertion.submods.gce.instance_id
Cadena
Verifica el ID de la instancia de VM.
Ejemplo
assertion.submods.gce.instance_id == "0000000000000000000"
assertion.submods.gce.instance_name
Cadena
Verifica el nombre de la instancia de VM.
Ejemplo
assertion.submods.gce.instance_name == "workload-vm"
assertion.submods.gce.project_id
Cadena
Verifica que la VM esté ejecutando un Google Cloud proyecto con el
ID de proyecto especificado.
Ejemplo
assertion.submods.gce.project_id == "project-id"
assertion.submods.gce.project_number
Cadena
Verifica que la VM se ejecuta en un Google Cloud proyecto con
el número de proyecto especificado.
Ejemplo
assertion.submods.gce.project_number == "00000000000"
assertion.submods.gce.zone
Interactúa con:
Operador de carga de trabajo: el
--zone
valor.
Cadena
Verifica que la VM se esté ejecutando en la zona especificada.
Ejemplo
assertion.submods.gce.zone == "us-central1-a"
assertion.submods.nvidia_gpu.cc_mode
Interactúa con:
Cadena definida
Verifica el estado del controlador de computación confidencial de NVIDIA.
Los valores válidos son:
OFF
: ninguna de las funciones de Confidential Computing de NVIDIA está activa.
ON
: el hardware, el firmware y el software de NVIDIA H100 han activado por completo las funciones de computación confidencial.
DEVTOOLS
: la GPU está en un modo de computación confidencial parcial que coincide con los flujos de trabajo del modo ON
, pero inhabilita las protecciones de seguridad.
Ejemplo
assertion.submods.nvidia_gpu.cc_mode == "ON"
Enviar comentarios
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0 . Para obtener más información, consulta las políticas del sitio web de Google Developers . Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-11 (UTC).
¿Necesitas contarnos más?
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-11 (UTC)."],[[["\u003cp\u003eAttestation policies can validate assertions made by the Confidential Space image, the workload container, and the VM, using a variety of assertions.\u003c/p\u003e\n"],["\u003cp\u003eImage assertions, such as \u003ccode\u003eassertion.dbgstat\u003c/code\u003e and \u003ccode\u003eassertion.submods.confidential_space.support_attributes\u003c/code\u003e, verify the software version and security attributes of the Confidential Space image.\u003c/p\u003e\n"],["\u003cp\u003eContainer assertions, such as \u003ccode\u003eassertion.submods.container.cmd_override\u003c/code\u003e and \u003ccode\u003eassertion.submods.container.env\u003c/code\u003e, verify the configuration and integrity of the workload container, including environment variables and command overrides.\u003c/p\u003e\n"],["\u003cp\u003eVM assertions, including \u003ccode\u003eassertion.google_service_accounts\u003c/code\u003e and \u003ccode\u003eassertion.hwmodel\u003c/code\u003e, verify details about the virtual machine environment, such as service accounts, hardware model, and project information.\u003c/p\u003e\n"],["\u003cp\u003eThe table provided lists a multitude of assertions that can be used to create and enforce an attestation policy, with each assertion's type and a specific description.\u003c/p\u003e\n"]]],[],null,[]]