認證權杖權杖


下表說明驗證權杖中支援的頂層聲明。這些項目符合 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。這個權杖會由 Confidential VM 執行個體中的啟動器每小時擷取一次。

如果是含有自訂目標對象的權杖,目標對象會從權杖要求中的目標對象回傳。長度上限為 512 個位元組。

dbgstat 字串 硬體的偵錯狀態。在正式版圖片中,這個值為 disabled-since-boot。在偵錯圖片中,該值為 enabled
eat_nonce 字串或字串陣列 驗證權杖的一或多個隨機值。這些值會從自訂權杖要求中傳送的權杖選項回呼。每個隨機值必須介於 8 到 88 個位元組之間 (含 8 和 88)。最多可使用六個隨機碼。
exp Int,Unix 時間戳記 權杖的到期時間,系統不得在該時間或之後接受權杖進行處理。這個值是 JSON 數字,代表從 1970-01-01T0:0:0Z (以世界標準時間為準) 到到期時間的秒數。
google_service_accounts 字串陣列 執行 Confidential Space 工作負載的已驗證服務帳戶。
hwmodel 字串

硬體權杖的專屬 ID。有效值如下:

  • 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 (以世界標準時間為準) 到問題發生時間的秒數。
iss 字串 權杖的簽發者,設為 https://confidentialcomputing.googleapis.com
nbf Int,Unix 時間戳記 JWT 無法用於處理作業的時間。
oemid Uint64 Google 私人企業編號 (PEN),即 11129
secboot 布林值 是否已啟用安全啟動功能,確保 VM 啟動程序期間已驗證韌體和作業系統。這個值一律為 true
sub 字串 主體,也就是機密 VM 的完整虛擬機器 ID。例如: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID。 這個格式稱為「執行個體的 selfLink」
submods 陣列 一系列各種聲明。請參閱「Submods claims」。
tdx 陣列 一系列各種聲明。請參閱「Intel TDX 聲明」。
swname 字串

VM 的核准作業系統名稱。

值為 CONFIDENTIAL_SPACEGCECONFIDENTIAL_SPACE 值適用於通過所有驗證的強化和偵錯機密空間映像檔。

swversion 字串陣列

作業系統版本。這個值是字串陣列,且只包含一個值。

版本格式為 YYYYMM##,其中 ## 是計數器,用來計算在同一個月內,使用圖片前發布的圖片數量。

Intel TDX 聲明

下表說明認證權杖中的 tdx 聲明。

類型 說明
gcp_attester_tcb_status 字串

字串值,代表受評估 Google Cloud 平台 TCB 層級狀態。如要進一步瞭解 tcbStatus,請參閱 Intel 的 佈建認證服務 API 說明文件

這項聲明表示 Google 開始推出韌體時,TDX TCB 版本與 Intel 的參考值一致。不過,這無法保證 Google 裝置群組會根據 Intel 的即時 TCB 參考值保持最新狀態。

gcp_attester_tcb_date 字串 認證平台適用的 TCB 日期。 Google Cloud 時間值為世界標準時間,採用 ISO 8601 格式 (YYYY-MM-DDThh:mm:ssZ)

Submods claims

下表說明認證權杖中的 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 字串 VM 執行個體 ID。
instance_name 字串 VM 執行個體名稱。
project_id 字串 VM 執行的專案 專案 ID
project_number 字串 VM 執行的專案編號。
zone 字串 機密 VM 執行的 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 (RSASSA-PSS,具有 SHA-256 摘要)
  • RSASSA_PKCS1V15_SHA256 (具有 SHA-256 摘要的 RSASSA-PKCS1 v1_5)
  • ECDSA_P256_SHA256 (具有 SHA-256 摘要之 P-256 曲線的 ECDSA)

AWS 主體標記聲明

下表說明認證權杖中的 AWS_PrincipalTag 聲明。這些聲明會放在認證權杖的 principal_tags 物件中,也就是 https://aws.amazon.com/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 會在陣列中合併為單一字串。

舉例來說,如果您有鍵 ID aKey1zKey2bKey3,這項聲明會包含值 aKey1=bKey3=zKey2

容器映像檔簽章和摘要不會出現在單一權杖中。因此,如果您在 AWS 政策中使用 container.signatures.key_ids,請務必移除所有對 container.image_digest 的參照。

如要進一步瞭解容器映像檔簽章聲明,請參閱 AWS 政策與容器映像檔簽章聲明

gce.project_id 字串陣列 請參閱 Compute Engine 聲明
gce.zone 字串陣列 請參閱 Compute Engine 聲明

後續步驟