认证令牌声明


下表介绍了认证令牌中受支持的顶级声明。这些项符合 OpenID Connect 1.0 规范

详细了解认证令牌

类型 说明
标题
x5c 字符串 仅在 PKI 令牌中存在。用于验证 PKI 令牌的证书链。您可以从 PKI 令牌验证端点下载根证书。
JSON 数据载荷
attester_tcb 字符串数组

一个或多个 TCB(可信计算基)组件。此声明用于指定认证证据的来源。

对于 Confidential Space 上的 hwmodel claim "GCP_INTEL_TDX",值设为 ["INTEL"],表示该认证信任根源自 Intel 专用硬件技术。

aud 字符串

受众群体。对于与工作负载身份池搭配使用的默认令牌,受众群体为 https://sts.googleapis.com。机密虚拟机实例中的启动器每小时都会提取此令牌。

对于包含自定义受众群体的令牌,系统会从令牌请求中的受众群体中重复受众群体。长度上限为 512 个字节。

dbgstat 字符串 硬件的调试状态。在正式版映像中,该值为 disabled-since-boot。在调试映像中,该值为 enabled
eat_nonce 字符串或字符串数组 一个或多个用于证明令牌的 Nonce。这些值是从自定义令牌请求中发送的令牌选项中回传的。每个 Nonce 都必须介于 8 到 88 字节之间(包括这两个数值)。最多允许 6 个 Nonce。
exp Int,Unix 时间戳 令牌的到期时间,系统在此时间或之后不得接受该令牌进行处理。此值是一个 JSON 数字,表示从 1970-01-01T0:0:0Z(以 UTC 为单位)到过期时间的秒数。
google_service_accounts 字符串数组 运行 Confidential Space 工作负载的已验证服务账号。
hwmodel 字符串

硬件令牌的唯一标识符。有效值如下:

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDX预览版
iat Int,Unix 时间戳 JWT 的签发时间。此值是一个 JSON 数字,表示从 1970-01-01T0:0:0Z(以 UTC 为单位)到问题时间经过的秒数。
iss 字符串 令牌的颁发者,设置为 https://confidentialcomputing.googleapis.com
nbf Int,Unix 时间戳 JWT 在该时间之前无法用于处理。
oemid Uint64 Google Private Enterprise Number (PEN),即 11129
secboot 布尔值 是否启用了安全启动,这可确保在虚拟机启动过程中对固件和操作系统进行身份验证。此值始终为 true
sub 字符串 主题,即机密虚拟机的完全限定虚拟机 ID。例如 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID。 此格式称为 实例的 selfLink
submods 数组 各种版权主张的数组。请参阅子模块版权主张
swname 字符串

虚拟机获批的操作系统的名称。

值为 CONFIDENTIAL_SPACEGCECONFIDENTIAL_SPACE 值仅适用于通过所有验证的已强化映像。

swversion 字符串数组

操作系统的版本。该值是一个仅包含一个值的字符串数组。

版本采用 YYYYMM## 格式,其中 ## 是指在同一个月内使用该图片之前发布的图片数量的计数器。

子模组版权主张

下表介绍了认证令牌中的 submods 声明。

类型 说明
confidential_space.support_attributes 字符串数组 该值可以包含 USABLESTABLELATEST。如需了解详情,请参阅 Confidential Space 映像生命周期
confidential_space.monitoring_enabled 对象数组 显示已启用的系统监控类型。值可以是 {"memory":false}{"memory":true}
container 对象 请参阅工作负载容器声明
gce 对象 请参阅 Compute Engine 声明

工作负载容器声明

下表介绍了认证令牌中的 container 声明。如需详细了解这些声明,请参阅证明断言

类型 说明
args 字符串数组 用于调用容器的完整 argv。此声明包含容器的入口点路径和任何其他命令行参数。
cmd_override 字符串数组 工作负载映像中使用的 CMD 命令和参数。
env 对象数组 已明确传递给容器的环境变量及其值。
env_override 对象数组 容器中被覆盖的环境变量。
image_digest 字符串 工作负载容器的映像摘要。
image_id 字符串 工作负载容器的映像 ID。
image_reference 字符串 在 Confidential Space 中运行的工作负载容器的位置。
image_signatures 对象数组 请参阅容器映像签名声明
restart_policy 字符串 工作负载停止时容器启动器的重启政策。 有效值为 AlwaysOnFailureNever。默认值为 Never

Compute Engine 声明

下表介绍了认证令牌中的 gce 声明。

类型 说明
instance_id 字符串 虚拟机实例 ID。
instance_name 字符串 虚拟机实例名称。
project_id 字符串 虚拟机所运行项目的 项目 ID
project_number 字符串 虚拟机运行所在项目的项目编号。
zone 字符串 机密虚拟机运行所在的 Compute Engine 可用区。

容器映像签名声明

下表介绍了认证令牌中的 image_signatures 声明。

类型 说明
key_id 字符串

公钥的十六进制指纹。如需获取指纹,您可以运行以下命令:

openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256

其中,public_key.pem 是 PEM 格式的公钥。

signature 字符串 与已签名容器关联且遵循 简单签名格式的有效载荷的 Base64 编码签名。
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)

后续步骤