下表介绍了认证令牌中受支持的顶级声明。这些项符合 OpenID Connect 1.0 规范。
键 | 类型 | 说明 |
---|---|---|
标题 | ||
x5c | 字符串 | 仅在 PKI 令牌中存在。用于验证 PKI 令牌的证书链。您可以从 PKI 令牌验证端点下载根证书。 |
JSON 数据载荷 | ||
attester_tcb |
字符串数组 |
一个或多个 TCB(可信计算基)组件。此声明用于指定认证证据的来源。 对于 Confidential Space 上的 |
aud |
字符串 |
受众群体。对于与工作负载身份池搭配使用的默认令牌,受众群体为 对于包含自定义受众群体的令牌,系统会从令牌请求中的受众群体中重复受众群体。长度上限为 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 |
字符串 |
硬件令牌的唯一标识符。有效值如下:
|
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 |
字符串 |
虚拟机获批的操作系统的名称。 值为 |
swversion |
字符串数组 |
操作系统的版本。该值是一个仅包含一个值的字符串数组。 版本采用 |
子模组版权主张
下表介绍了认证令牌中的 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 |
字符串 |
用于为密钥签名的算法。以下项之一:
|
后续步骤
如需详细了解认证声明,请参阅 The Entity Attestation Token (EAT) 的 IETF 草稿。
如需详细了解 OpenID 令牌声明,请参阅 OpenID Connect Core 1.0。