フィードバックを送信
構成証明アサーション
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
証明書アサーションの使用の詳細については、証明書ポリシーを作成する をご覧ください。
次の表に、証明書ポリシーの作成に使用できるアサーションの詳細を示します。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
: この属性のみを持つイメージはサポートされず、脆弱性のモニタリングは行われません。ご自身の責任で操作するようお願いいたします。
注意 : Confidential Space のデフォルト トークンは 1 時間ごとに更新されるため、長時間実行されるワークロードには LATEST
の指定はおすすめしません。ワークロードの実行中に Confidential Space イメージが更新されることがあります。つまり、ワークロードが最新バージョンではなくなり、その結果、証明書が失敗します。
例
次のコードは、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"
フィードバックを送信
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス により使用許諾されます。コードサンプルは Apache 2.0 ライセンス により使用許諾されます。詳しくは、Google Developers サイトのポリシー をご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-11 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-07-11 UTC。"],[[["Attestation policies can validate assertions made by the Confidential Space image, the workload container, and the VM, using a variety of assertions."],["Image assertions, such as `assertion.dbgstat` and `assertion.submods.confidential_space.support_attributes`, verify the software version and security attributes of the Confidential Space image."],["Container assertions, such as `assertion.submods.container.cmd_override` and `assertion.submods.container.env`, verify the configuration and integrity of the workload container, including environment variables and command overrides."],["VM assertions, including `assertion.google_service_accounts` and `assertion.hwmodel`, verify details about the virtual machine environment, such as service accounts, hardware model, and project information."],["The table provided lists a multitude of assertions that can be used to create and enforce an attestation policy, with each assertion's type and a specific description."]]],[]]