構成証明トークンのクレーム


次の表に、構成証明トークンでサポートされている最上位のクレームを示します。これらの項目は OpenID Connect 1.0 仕様に準拠しています。

構成証明トークンの詳細

キー タイプ 説明
ヘッダー
x5c 文字列 PKI トークンにのみ存在します。PKI トークンを検証する証明書チェーン。ルート証明書は、 PKI トークン検証エンドポイントからダウンロードできます。
JSON データ ペイロード
attester_tcb 文字列配列

1 つ以上の TCB(トラステッド コンピューティング ベース)コンポーネント。このクレームは、構成証明の証拠のソースを指定します。

Confidential Space の hwmodel claim "GCP_INTEL_TDX" の場合、値は ["INTEL"] に設定されます。これは、構成証明ルート オブ トラストがインテル固有のハードウェア テクノロジーから発信されることを示します。

aud 文字列

オーディエンス。Workload Identity プールで使用されるデフォルト トークンの場合、オーディエンスは https://sts.googleapis.com です。このトークンは、Confidential VM インスタンスのランチャーによって 1 時間ごとに取得されます。

カスタム オーディエンスを含むトークンの場合、トークン リクエストのオーディエンスからオーディエンスがエコーされます。最大長は 512 バイトです。

dbgstat 文字列 ハードウェアのデバッグ ステータス。本番環境イメージでは、値は disabled-since-boot です。デバッグ画像では、値は enabled です。
eat_nonce 文字列または文字列配列 構成証明トークンのノンス。値は、カスタム トークン リクエストで送信されたトークン オプションからエコーされます。各ノンスは 8 ~ 88 バイトの範囲でなければなりません。使用できるノンスは最大 6 個です。
exp Int、Unix タイムスタンプ 有効期限。この日付を過ぎると、トークンの処理が拒否されます。この値は、1970-01-01T0:0:0Z から有効期限までの秒数(UTC で測定)を表す JSON 数値です。
google_service_accounts 文字列配列 Confidential Space ワークロードを実行している検証済みのサービス アカウント。
hwmodel 文字列

ハードウェア トークンの一意の識別子。有効な値は次のとおりです。

  • GCP_AMD_SEV
  • GCP_AMD_SEV_ES
  • GCP_SHIELDED_VM
  • GCP_INTEL_TDXプレビュー
iat Int、Unix タイムスタンプ JWT が発行された時刻。この値は、1970-01-01T0:0:0Z から問題が発生した時刻までの秒数(UTC で測定)を表す JSON 数値です。
iss 文字列 トークンの発行者。https://confidentialcomputing.googleapis.com に設定されています。
nbf Int、Unix タイムスタンプ JWT を処理に使用できない時間。
oemid Uint64 Google の 限定公開エンタープライズ番号(PEN)11129)。
secboot ブール値 セキュアブート(VM ブートプロセス中にファームウェアとオペレーティング システムが認証される)が有効かどうか。この値は常に true です。
sub 文字列 サブジェクト。これは、Confidential VM の完全修飾仮想マシン ID です。たとえば、https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID です。 この形式は、 インスタンスの selfLink と呼ばれます。
submods 配列 さまざまな申し立ての配列。サブモッドの申し立てをご覧ください。
swname 文字列

VM で承認されているオペレーティング システムの名前。

値は CONFIDENTIAL_SPACEGCE です。CONFIDENTIAL_SPACE 値は、すべての検証に合格した強化イメージにのみ使用します。

swversion 文字列配列

オペレーティング システムのバージョン。値は、1 つの値のみを含む文字列配列です。

バージョンは 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 文字列 VM インスタンス ID。
instance_name 文字列 VM インスタンス名。
project_id 文字列 VM が実行されているプロジェクトの プロジェクト ID
project_number 文字列 VM が実行されているプロジェクトのプロジェクト番号。
zone 文字列 Confidential VM が実行されている Compute Engine ゾーン。

コンテナ イメージ署名の申し立て

次の表に、構成証明トークンの image_signatures クレームを示します。

キー タイプ 説明
key_id 文字列

公開鍵の 16 進数フィンガープリント。フィンガープリントを取得するには、次のコマンドを実行します。

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

ここで、public_key.pem は PEM 形式の公開鍵です。

signature 文字列 署名付きコンテナに関連付けられ、 Simple Signing 形式に従うペイロードの Base64 エンコード署名。
signature_algorithm 文字列

鍵の署名に使用されるアルゴリズム。次のいずれかになります。

  • RSASSA_PSS_SHA256(SHA-256 ダイジェストを使用した RSASSA-PSS)
  • RSASSA_PKCS1V15_SHA256(SHA-256 ダイジェスト付きの RSASSA-PKCS1 v1_5)
  • ECDSA_P256_SHA256(P-256 曲線上の ECDSA(SHA-256 ダイジェストを使用))

次のステップ