发送反馈
证明断言
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
如需详细了解如何使用证明断言,请参阅创建证明政策 。
下表详细介绍了构建证明政策的可用断言。它们可以验证 Confidential Space 映像、工作负载容器和虚拟机所做的断言。
图片断言
断言
类型
说明
assertion.dbgstat
与以下各项互动 :
已定义的字符串
验证 Confidential Space 映像是调试版本还是生产版本。
有效值包括:
enable
:检查是否使用了调试映像。
disabled-since-boot
:检查是否使用了正式版映像。
示例
以下代码用于验证是否使用了调试版本的 Confidential Space 映像:
assertion.dbgstat == "enable"
以下代码用于验证是否使用了生产版本的 Confidential Space 映像:
assertion.dbgstat == "disabled-since-boot"
assertion.submods.confidential_space.support_attributes
字符串数组
验证 TEE 的安全版本是否为生产 Confidential Space 映像。调试 Confidential Space 映像没有设置支持特性。
有三种支持特性:
LATEST
:这是最新版本的映像,受支持。LATEST
映像同时也是 STABLE
和 USABLE
。
STABLE
:此版本的映像受支持,并且我们会监控其漏洞情况。STABLE
映像同时也是 USABLE
。
USABLE
:仅包含此属性的映像已不再受支持,并且我们不会再监控其漏洞情况。使用时需自行承担风险。
注意 :由于 Confidential Space 默认令牌每小时刷新一次,因此不建议为长时间运行的工作负载指定 LATEST
。Confidential Space 映像可能会在工作负载运行时更新,这意味着工作负载不再使用最新版本,因此会失败认证。
示例
以下代码用于验证是否使用了稳定版本的 Confidential Space 映像:
"STABLE" in assertion.submods.confidential_space.support_attributes
assertion.swname
已定义的字符串
验证在证明实体上运行的软件。值始终为 CONFIDENTIAL_SPACE
。
示例
assertion.swname == "CONFIDENTIAL_SPACE"
assertion.swversion
字符串数组
验证 Confidential Space 映像的软件版本。我们建议改用 assertion.submods.confidential_space.support_attributes
来定位映像的最新版本。
示例
int(assertion.swversion[0]) == 230103
容器断言
断言
类型
说明
assertion.submods.container.cmd_override
与以下各项互动 :
字符串数组
验证工作负载映像中使用的
CMD 命令和参数。
示例
以下代码用于验证工作负载映像的 CMD 是否未被覆盖:
size(assertion.submods.container.cmd_override) == 0
以下代码会验证 program
是 CMD 替换项中的唯一内容:
assertion.submods.container.cmd_override == ['program']
assertion.submods.container.env
与以下各项互动 :
JSON 对象
验证环境变量及其值是否已明确传递给容器。
示例
以下代码用于验证环境变量 example-env-1
是否设置为 value-1
,以及 example-env-2
是否设置为 value-2
。
assertion.submods.container.env == {"example-env-1": "value-1", "example-env-2": "value-2"}
assertion.submods.container.env_override
与以下各项互动 :
字符串
验证工作负载 operator 是否覆盖了容器中的环境变量。
示例
以下代码用于验证工作负载运算符是否替换了 example
环境变量:
!has(assertion.submods.container.env_override.example)
以下代码用于验证工作负载运算符是否覆盖了任何环境变量:
size(assertion.submods.container.env_override) == 0
assertion.submods.container.image_digest
字符串
验证工作负载容器的映像摘要。指定此条件可让多方就允许访问其数据的授权工作负载达成共识。
示例
assertion.submods.container.image_digest == "sha256:837ccb607e312b170fac7383d7ccfd61fa5072793f19a25e75fbacb56539b86b"
assertion.submods.container.image_id
字符串
验证工作负载容器的映像 ID。
示例
assertion.submods.container.image_id == "sha256:652a44b0e911271ba07cf2915cd700fdfa50abd62a98f87a57fdebc59843d93f"
assertion.submods.container.image_reference
与以下各项互动 :
字符串
验证在 Confidential Space 映像上运行的工作负载容器的位置。
示例
assertion.submods.container.image_reference == "us-docker.pkg.dev/PROJECT_ID/WORKLOAD_CONTAINER:latest"
assertion.submods.container.image_signatures
与以下各项互动 :
JSON 对象
验证映像是否具有特定签名或是否由公钥和签名算法签名。指定此条件可让多方就允许访问其数据的授权工作负载达成共识。
断言可以包含以下元素:
key_id
:公钥的十六进制指纹。如需获取指纹,您可以运行以下命令:
openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256
其中,public_key.pem
是 PEM 格式的公钥。
signature
:与已签名容器关联且遵循
简易签名格式 的载荷签名。
signature_algorithm
:用于对密钥进行签名的算法。以下项之一:
RSASSA_PSS_SHA256
(使用 SHA-256 摘要的 RSASSA-PSS)
RSASSA_PKCS1V15_SHA256
(使用 SHA-256 摘要的 RSASSA-PKCS1 v1_5)
ECDSA_P256_SHA256
(具有 SHA-256 摘要的 P-256 曲线上的 ECDSA)
示例
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
与以下各项互动 :
已定义的字符串
验证容器启动器在工作负载停止时的重启政策。
有效值包括:
Never
(默认)
Always
OnFailure
示例
assertion.submods.container.restart_policy == "Never"
虚拟机断言
断言
类型
说明
assertion.google_service_accounts
与以下各项互动 :
字符串数组
用于验证指定的服务账号是否已连接到运行工作负载的虚拟机,或者是否已使用虚拟机元数据中的
tee-impersonate-service-accounts
列出。
示例
workload-service-account@my-project.iam.gserviceaccount.com in assertion.google_service_accounts
assertion.hwmodel
字符串
验证底层机密计算技术。支持的平台如下:
示例
assertion.hwmodel == "GCP_AMD_SEV"
assertion.submods.confidential_space.monitoring_enabled
与以下各项互动 :
布尔值
验证证明实体的监控状态。
示例
assertion.submods.confidential_space.monitoring_enabled.memory == true
assertion.submods.gce.instance_id
字符串
验证虚拟机实例 ID。
示例
assertion.submods.gce.instance_id == "0000000000000000000"
assertion.submods.gce.instance_name
字符串
验证虚拟机实例的名称。
示例
assertion.submods.gce.instance_name == "workload-vm"
assertion.submods.gce.project_id
字符串
验证虚拟机是否正在运行具有指定项目 ID 的 Google Cloud 项目。
示例
assertion.submods.gce.project_id == "project-id"
assertion.submods.gce.project_number
字符串
验证虚拟机是否在具有指定项目编号的 Google Cloud 项目中运行。
示例
assertion.submods.gce.project_number == "00000000000"
assertion.submods.gce.zone
与以下各项互动 :
字符串
验证虚拟机是否正在指定可用区中运行。
示例
assertion.submods.gce.zone == "us-central1-a"
发送反馈
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-04-02。
需要向我们提供更多信息?
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-04-02。"],[[["Attestation policies can validate assertions made by the Confidential Space image, the workload container, and the VM, using a variety of assertions."],["Image assertions, such as `assertion.dbgstat` and `assertion.submods.confidential_space.support_attributes`, verify the software version and security attributes of the Confidential Space image."],["Container assertions, such as `assertion.submods.container.cmd_override` and `assertion.submods.container.env`, verify the configuration and integrity of the workload container, including environment variables and command overrides."],["VM assertions, including `assertion.google_service_accounts` and `assertion.hwmodel`, verify details about the virtual machine environment, such as service accounts, hardware model, and project information."],["The 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."]]],[]]