认证令牌声明


下表介绍了认证令牌中受支持的顶级声明。这些项符合 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
https://aws.amazon.com/tags 对象 请参阅 AWS 主账号代码声明
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 数组 各种版权主张的数组。请参阅子模块版权主张
tdx 数组 各种版权主张的数组。请参阅 Intel TDX 声明
swname 字符串

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

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

swversion 字符串数组

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

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

Intel TDX 声明

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

类型 说明
gcp_attester_tcb_status 字符串

一个字符串值,表示所评估平台的 TCB 级别状态。 Google Cloud 如需详细了解 tcbStatus,请参阅 Intel 的 Provisioning Certification Service API 文档

此声明表示,在 Google 开始发布固件时,TDX TCB 版本与 Intel 的参考值保持一致。 不过,这并不保证 Google 车队始终使用 Intel 的实时 TCB 参考值。

gcp_attester_tcb_date 字符串 进行认证的 Google Cloud 平台的 TCB 日期。 时间值采用 ISO 8601 格式的 UTC 时间(YYYY-MM-DDThh:mm:ssZ)

子模块版权主张

下表介绍了认证令牌中的 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)

AWS 正文标记声明

下表介绍了认证令牌中的 AWS_PrincipalTag 声明。这些声明会放置在 https://aws.amazon.com/tags 声明中,即在认证令牌的 principal_tags 对象中。如需了解 https://aws.amazon.com/tags 声明结构,请参阅 AWS 主标记声明

类型 说明
confidential_space.support_attributes 字符串数组

对支持属性的派生声明。 这是原始声明的串联字符串表示形式。

例如,如果原始声明是“最新”“稳定”和“可用”,则此属性将包含“LATEST=STABLE=USABLE”。 如果原始版权主张仅为“可用”,则此属性将包含“USABLE”。

container.image_digest 字符串数组 请参阅工作负载容器声明

容器映像签名和摘要不会在单个令牌中同时显示。因此,如果您在 AWS 政策中使用 container.image_digest,则必须移除对 container.signatures.key_ids 的所有引用。

container.signatures.key_id 字符串数组

容器映像签名密钥 ID 的串联列表。此字段表示数组中连接为单个字符串的多个签名密钥 ID。

例如,如果您的键 ID 分别为 aKey1zKey2bKey3,则此声明将包含值 aKey1=bKey3=zKey2

容器映像签名和摘要不会在单个令牌中同时显示。因此,如果您在 AWS 政策中使用 container.signatures.key_ids,则必须移除对 container.image_digest 的所有引用。

如需详细了解容器映像签名声明,请参阅 包含容器映像签名声明的 AWS 政策

gce.project_id 字符串数组 请参阅 Compute Engine 声明
gce.zone 字符串数组 请参阅 Compute Engine 声明

后续步骤