下表介绍了证明令牌中受支持的顶级声明。这些项符合 OpenID Connect 1.0 规范。
键 | 类型 | 说明 |
---|---|---|
标题 | ||
x5c | 字符串 | 仅存在于 PKI 令牌中。用于验证 PKI 令牌的证书链。您可以从 PKI 令牌验证端点下载根证书。 |
JSON 数据载荷 | ||
attester_tcb |
字符串数组 |
一个或多个 TCB(可信计算基)组件。此声明用于指定证明证据的来源。 对于 Confidential Space 上的 |
aud |
字符串 |
受众。对于与工作负载身份池搭配使用的默认令牌,目标对象为 对于具有自定义受众群体的令牌,受众群体会从令牌请求中的受众群体进行回显。长度上限为 512 个字节。 |
dbgstat |
字符串 | 硬件的调试状态。在正式版映像中,该值为 disabled-since-boot 。在调试映像中,该值为 enabled 。 |
eat_nonce |
字符串或字符串数组 | 证明令牌的一个或多个随机数。这些值会从自定义令牌请求中发送的令牌选项回显。每个随机数必须介于 8 到 88 字节之间(含 8 和 88 字节)。最多允许使用 6 个随机数。 |
exp |
整数,Unix 时间戳 | 令牌不得被接受以进行处理的过期时间(含)。该值是一个 JSON 数字,表示从 1970-01-01T0:0:0Z (以世界协调时间 [UTC] 为单位)到过期时间之间的秒数。
|
google_service_accounts |
字符串数组 | 正在运行 Confidential Space 工作负载的经过验证的服务账号。 |
hwmodel |
字符串 |
硬件令牌的唯一标识符。有效值如下:
|
https://aws.amazon.com/tags |
对象 | 请参阅 AWS 主账号标记声明。 |
iat |
整数,Unix 时间戳 | JWT 的签发时间。该值是一个 JSON 数字,表示从 1970-01-01T0:0:0Z (以世界协调时间 [UTC] 为单位)到问题发生时间所经过的秒数。 |
iss |
字符串 | 令牌的颁发者,设置为 https://confidentialcomputing.googleapis.com 。 |
nbf |
整数,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 |
字符串 |
虚拟机的获批操作系统名称。 值为 |
swversion |
字符串数组 |
操作系统的版本。该值是一个仅包含一个值的字符串数组。 版本采用 |
Intel TDX 声明
下表介绍了证明令牌中的 tdx
声明。
键 | 类型 | 说明 |
---|---|---|
gcp_attester_tcb_status |
字符串 |
一个字符串值,表示正在评估的 Google Cloud 平台的 TCB 级别状态。如需详细了解 此声明表明,在 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 |
字符串数组 | 该值可以包含 USABLE 、STABLE 和 LATEST 。如需了解详情,请参阅
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 |
字符串 | 工作负载停止时容器启动器的重启政策。
有效值为 Always 、OnFailure 和 Never 。默认值为 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 其中, |
signature |
字符串 | 与签名容器关联且遵循 简单签名格式的有效载荷的 base64 编码签名。 |
signature_algorithm |
字符串 |
用于对密钥进行签名的算法。以下项之一:
|
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.signatures.key_id |
字符串数组 |
容器映像签名密钥 ID 的串联列表。此字段表示数组中联接为单个字符串的多个签名密钥 ID。 例如,如果您有密钥 ID 容器映像签名和摘要不会同时出现在单个令牌中。因此,如果您在 AWS 政策中使用 如需详细了解容器映像签名声明,请参阅 包含容器映像签名声明的 AWS 政策。 |
gce.project_id |
字符串数组 | 请参阅 Compute Engine 声明。 |
gce.zone |
字符串数组 | 请参阅 Compute Engine 声明。 |
后续步骤
如需详细了解证明声明,请参阅 IETF 草稿实体证明令牌 (EAT)。
如需详细了解 OpenID 令牌声明,请参阅 OpenID Connect Core 1.0。