Enviar comentarios
Aserciones de certificación
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Para obtener más información sobre cómo usar las aserciones de certificación, consulta Crea una política de certificación .
En la siguiente tabla, se detallan las aserciones disponibles para construir una política de certificación. 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.
Aserciones de 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 los siguientes:
enable
: Verifica que se esté usando la imagen de depuración.
disabled-since-boot
: Verifica 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 Confidential Space:
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 string
Verifica que la versión de seguridad del TEE sea una imagen de Confidential Space de producción. Las imágenes de depuración de Confidential Space no tienen ningún atributo de asistencia establecido.
Existen tres atributos de asistencia:
LATEST
: Esta es la versión más reciente de la imagen y es compatible. La imagen LATEST
también es STABLE
y USABLE
.
STABLE
: Esta versión de la imagen es compatible y se supervisa para detectar vulnerabilidades. Una imagen STABLE
también es USABLE
.
USABLE
: Una imagen con solo este atributo está fuera
de asistencia y ya no se supervisa para detectar vulnerabilidades. Úsala bajo tu propia responsabilidad.
EXPERIMENTAL
: Una imagen con solo este atributo
utiliza funciones de vista previa. Solo se debe usar con fines de prueba y nunca en producción. Una imagen de EXPERIMENTAL
nunca tiene los atributos LATEST
, STABLE
ni USABLE
.
Precaución : Debido a que 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, como resultado, falla la certificación.
Ejemplo
El siguiente código verifica que se esté usando una versión estable de la imagen de Confidential Space:
"STABLE" in assertion.submods.confidential_space.support_attributes
assertion.swname
Cadena definida
Verifica el software que se ejecuta en la entidad que certifica. El valor siempre es CONFIDENTIAL_SPACE
.
Ejemplo
assertion.swname == "CONFIDENTIAL_SPACE"
assertion.swversion
Matriz de string
Verifica la versión de software de la imagen de Confidential Space. Te
recomendamos que uses
assertion.submods.confidential_space.support_attributes
en su lugar para segmentar la versión más reciente de una imagen.
Ejemplo
int(assertion.swversion[0]) == 230103
Aserciones de contenedores
Aserción
Tipo
Descripción
assertion.submods.container.cmd_override
Interactúa con:
Autor de la carga de trabajo : La política de lanzamiento de
allow_cmd_override
.
Operador de carga de trabajo : Es la variable de metadatos
tee-cmd
.
Matriz de string
Verifica los comandos y parámetros de
CMD que se usan en la imagen de la carga de trabajo.
Ejemplos
El siguiente código verifica que no se haya reemplazado el CMD de la imagen de carga de trabajo:
size(assertion.submods.container.cmd_override) == 0
El siguiente código verifica que program
sea el único contenido en 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 pasado de forma explícita al contenedor.
Ejemplo
El siguiente código verifica que la variable de entorno
example-env-1
esté configurada como value-1
y
example-env-2
esté configurada 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:
String
Verifica si el operador de carga de trabajo reemplazó las variables de entorno en el contenedor.
Ejemplos
El siguiente código verifica que el operador de cargas de trabajo no haya anulado la variable de entorno example
:
!has(assertion.submods.container.env_override.example)
El siguiente código verifica que el operador de cargas de trabajo no haya sobrescrito ninguna variable de entorno:
size(assertion.submods.container.env_override) == 0
assertion.submods.container.image_digest
String
Verifica el resumen de la imagen del contenedor de la carga de trabajo. Especificar esta condición permite que varias partes acuerden una carga de trabajo autorizada que pueda acceder a sus datos.
Ejemplo
assertion.submods.container.image_digest == "sha256:837ccb607e312b170fac7383d7ccfd61fa5072793f19a25e75fbacb56539b86b"
assertion.submods.container.image_id
String
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:
String
Verifica la ubicación del contenedor de carga de trabajo que se ejecuta sobre 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. Especificar esta condición permite que varias partes acuerden una carga de trabajo autorizada que pueda acceder a sus datos.
La aserción puede incluir los siguientes elementos:
key_id
: Es la 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
Aquí, public_key.pem
es tu clave pública en formato PEM.
signature
: Es la firma de una carga útil asociada con el contenedor firmado y que sigue el
formato de firma simple .
signature_algorithm
: Es el algoritmo que se usa para firmar la clave. Uno de los siguientes:
RSASSA_PSS_SHA256
(RSASSA-PSS con un resumen SHA-256)
RSASSA_PKCS1V15_SHA256
(RSASSA-PKCS1 v1_5 con un resumen SHA-256)
ECDSA_P256_SHA256
(ECDSA en la curva P-256 con un resumen 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 iniciador de contenedores cuando se detiene la carga de trabajo.
Los valores válidos son los siguientes:
Never
(predeterminada)
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 string
Verifica que una cuenta de servicio especificada esté conectada a la VM que ejecuta la carga de trabajo o que se haya incluido en la lista con
tee-impersonate-service-accounts
en los metadatos de la VM.
Ejemplo
workload-service-account@my-project.iam.gserviceaccount.com in assertion.google_service_accounts
assertion.hwmodel
String
Verifica la tecnología subyacente de Confidential Computing. Las plataformas compatibles son las siguientes:
Ejemplo
assertion.hwmodel == "GCP_AMD_SEV"
assertion.submods.confidential_space.monitoring_enabled
Interactúa con:
Booleano
Verifica el estado de supervisión en la entidad certificadora.
Ejemplo
assertion.submods.confidential_space.monitoring_enabled.memory == true
assertion.submods.gce.instance_id
String
Verifica el ID de la instancia de VM.
Ejemplo
assertion.submods.gce.instance_id == "0000000000000000000"
assertion.submods.gce.instance_name
String
Verifica el nombre de la instancia de VM.
Ejemplo
assertion.submods.gce.instance_name == "workload-vm"
assertion.submods.gce.project_id
String
Verifica que la VM ejecute un proyecto Google Cloud con el
ID del proyecto especificado.
Ejemplo
assertion.submods.gce.project_id == "project-id"
assertion.submods.gce.project_number
String
Verifica que la VM se ejecute en un proyecto Google Cloud 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 : Es el valor de
--zone
.
String
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 Confidential Computing de NVIDIA.
Los valores válidos son los siguientes:
OFF
: Ninguna de las funciones de Confidential Computing de NVIDIA está activa.
ON
: El hardware, el firmware y el software de la GPU NVIDIA H100 activaron por completo las funciones de procesamiento confidencial.
DEVTOOLS
: La GPU está en un modo de procesamiento 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
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons , y los ejemplos de código están sujetos a la licencia Apache 2.0 . Para obtener más información, consulta las políticas del sitio de Google Developers . Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-02 (UTC)
¿Quieres brindar más información?
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-02 (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,[]]