構成証明アサーション
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
証明書アサーションの使用の詳細については、証明書ポリシーを作成するをご覧ください。
次の表に、証明書ポリシーの作成に使用できるアサーションの詳細を示します。ポリシーは、Confidential Space イメージ、ワークロード コンテナ、VM インスタンスによって行われたアサーションを検証できます。
画像アサーション
| アサーション |
タイプ |
説明 |
|
assertion.dbgstat
連携するサービス:
|
定義された文字列 |
Confidential Space イメージがデバッグ バージョンか本番環境バージョンかを確認します。
有効な値は次のとおりです。
-
enable: デバッグ イメージが使用されていることを確認します。
-
disabled-since-boot: 本番環境イメージが使用されていることを確認します。
例
次のコードは、Confidential Space イメージのデバッグ バージョンが使用されていることを確認します。
assertion.dbgstat == "enable"
次のコードは、Confidential Space イメージの本番環境バージョンが使用されていることを確認します。
assertion.dbgstat == "disabled-since-boot"
|
assertion.submods.confidential_space.support_attributes |
文字列配列 |
TEE のセキュリティ バージョンが本番環境の Confidential Space イメージであることを確認します。Confidential Space のデバッグ イメージにはサポート属性が設定されていません。
サポート属性は次の 3 つです。
-
LATEST: これは最新バージョンのイメージであり、サポートされています。LATEST イメージも STABLE と USABLE です。
-
STABLE: このバージョンのイメージはサポートされ、脆弱性のモニタリングが行われます。STABLE イメージも USABLE です。
-
USABLE: この属性のみを持つイメージはサポートされず、脆弱性のモニタリングは行われません。ご自身の責任で操作するようお願いいたします。
-
EXPERIMENTAL: この属性のみを持つ画像は、プレビュー機能を利用します。これはテスト専用です。本番環境では使用しないでください。EXPERIMENTAL 画像に LATEST、STABLE、USABLE の属性が設定されることはありません。
例
次のコードは、Confidential Space イメージの安定版が使用されていることを確認します。
"STABLE" in assertion.submods.confidential_space.support_attributes
|
assertion.swname |
定義された文字列 |
証明を行うエンティティで実行されているソフトウェアを検証します。値は常に CONFIDENTIAL_SPACE です。
例
assertion.swname == "CONFIDENTIAL_SPACE"
|
assertion.swversion |
文字列配列 |
Confidential Space イメージのソフトウェア バージョンを検証します。代わりに assertion.submods.confidential_space.support_attributes を使用して、イメージの最新バージョンをターゲットにすることをおすすめします。
例
int(assertion.swversion[0]) == 230103
|
コンテナ アサーション
| アサーション |
タイプ |
説明 |
|
assertion.submods.container.cmd_override
連携するサービス:
|
文字列配列 |
ワークロード イメージで使用されている
CMD コマンドとパラメータを確認します。
例
次のコードは、ワークロード イメージの CMD が上書きされていないことを確認します。
size(assertion.submods.container.cmd_override) == 0
次のコードは、CMD オーバーライドの唯一のコンテンツが program であることを確認します。
assertion.submods.container.cmd_override == ['program']
|
|
assertion.submods.container.env
連携するサービス:
|
JSON オブジェクト |
環境変数とそれらの値がコンテナに明示的に渡されていることを確認します。
例
次のコードは、環境変数 example-env-1 が value-1 に設定され、example-env-2 が value-2 に設定されていることを確認します。
assertion.submods.container.env == {"example-env-1": "value-1", "example-env-2": "value-2"}
|
|
assertion.submods.container.env_override
連携するサービス:
|
文字列 |
ワークロード オペレーターがコンテナ内の環境変数を上書きしたかどうかを確認します。
例
次のコードは、ワークロード オペレータが example 環境変数をオーバーライドしていないことを確認します。
!has(assertion.submods.container.env_override.example)
次のコードは、ワークロード オペレータが環境変数を上書きしていないことを確認します。
size(assertion.submods.container.env_override) == 0
|
assertion.submods.container.image_digest |
文字列 |
ワークロード コンテナのイメージ ダイジェストを検証します。この条件を指定すると、複数の関係者が、データへのアクセスを許可する承認済みワークロードについて合意できます。
例
assertion.submods.container.image_digest == "sha256:837ccb607e312b170fac7383d7ccfd61fa5072793f19a25e75fbacb56539b86b"
|
assertion.submods.container.image_id |
文字列 |
ワークロード コンテナのイメージ ID を検証します。
例
assertion.submods.container.image_id == "sha256:652a44b0e911271ba07cf2915cd700fdfa50abd62a98f87a57fdebc59843d93f"
|
|
assertion.submods.container.image_reference
連携するサービス:
|
文字列 |
Confidential Space イメージ上で実行されているワークロード コンテナの場所を検証します。
例
assertion.submods.container.image_reference == "us-docker.pkg.dev/PROJECT_ID/WORKLOAD_CONTAINER:latest"
|
|
assertion.submods.container.image_signatures
連携するサービス:
|
JSON オブジェクト |
イメージに特定の署名があるか、公開鍵と署名アルゴリズムで署名されていることを検証します。この条件を指定すると、複数の関係者が、データへのアクセスを許可する承認済みワークロードについて合意できます。
アサーションには次の要素を含めることができます。
-
key_id: 公開鍵の 16 進数のフィンガープリント。フィンガープリントを取得するには、次のコマンドを実行します。
openssl pkey -pubin -in public_key.pem -outform DER | openssl sha256
ここで、public_key.pem は PEM 形式の公開鍵です。
signature: 署名付きコンテナに関連付けられ、
Simple Signing 形式に準拠するペイロードの署名。
-
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 ダイジェストを使用))
例
assertion.swname == 'CONFIDENTIAL_SPACE' && ['ECDSA_P256_SHA256:PUBLIC_KEY_FINGERPRINT'].exists(fingerprint, fingerprint in assertion.submods.container.image_signatures.map(sig, sig.signature_algorithm+':'+sig.key_id)) && 'serviceaccount.iam.gserviceaccount.com' in assertion.google_service_accounts"
|
|
assertion.submods.container.restart_policy
連携するサービス:
|
定義された文字列 |
ワークロードが停止したときのコンテナ ランチャーの再起動ポリシーを検証します。
有効な値は次のとおりです。
Never(デフォルト)
Always
OnFailure
例
assertion.submods.container.restart_policy == "Never"
|
VM アサーション
| アサーション |
タイプ |
説明 |
|
assertion.google_service_accounts
連携するサービス:
|
文字列配列 |
指定したサービス アカウントが、ワークロードを実行している VM に接続されているか、VM メタデータで
tee-impersonate-service-accounts
を使用して一覧表示されていることを確認します。
例
workload-service-account@my-project.iam.gserviceaccount.com in assertion.google_service_accounts
|
assertion.hwmodel |
文字列 |
基盤となる Confidential Computing テクノロジーを検証します。サポートされているプラットフォームは次のとおりです。
例
assertion.hwmodel == "GCP_AMD_SEV"
|
|
assertion.submods.confidential_space.monitoring_enabled
連携するサービス:
|
ブール値 |
証明を行うエンティティのモニタリング状態を確認します。
例
assertion.submods.confidential_space.monitoring_enabled.memory == true
|
assertion.submods.gce.instance_id |
文字列 |
VM インスタンス ID を検証します。
例
assertion.submods.gce.instance_id == "0000000000000000000"
|
assertion.submods.gce.instance_name |
文字列 |
VM インスタンスの名前を確認します。
例
assertion.submods.gce.instance_name == "workload-vm"
|
assertion.submods.gce.project_id |
文字列 |
指定したプロジェクト ID で VM が Google Cloud プロジェクトを実行していることを確認します。
例
assertion.submods.gce.project_id == "project-id"
|
assertion.submods.gce.project_number |
文字列 |
指定したプロジェクト番号で VM が Google Cloud プロジェクトで実行されていることを確認します。
例
assertion.submods.gce.project_number == "00000000000"
|
|
assertion.submods.gce.zone
連携するサービス:
|
文字列 |
VM が指定されたゾーンで実行されていることを確認します。
例
assertion.submods.gce.zone == "us-central1-a"
|
|
assertion.submods.nvidia_gpu.cc_mode
連携するサービス:
|
定義された文字列 |
NVIDIA の Confidential Computing ドライバのステータスを確認します。有効な値は次のとおりです。
-
OFF: NVIDIA Confidential Computing 機能はアクティブになっていません。
-
ON: NVIDIA H100 のハードウェア、ファームウェア、ソフトウェアで、Confidential Computing 機能が完全に有効になっています。
-
DEVTOOLS: GPU は、ON モードのワークフローに一致する部分的な Confidential Computing モードですが、セキュリティ保護が無効になっています。
例
assertion.submods.nvidia_gpu.cc_mode == "ON"
|
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-19 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-10-19 UTC。"],[],[]]