フィードバックを送信
構成証明アサーション
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
構成証明アサーションの使用の詳細については、構成証明ポリシーを作成する をご覧ください。
証明書ポリシーの作成に使用できるアサーションの詳細は、次の表のとおりです。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
: 署名付きコンテナに関連付けられ、
シンプルな署名形式 に従うペイロードの署名。
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 テクノロジーを検証します。サポートされているプラットフォームは次のとおりです。
GCP_AMD_SEV
INTEL_TDX
(プレビュー )
例
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
文字列
VM が指定したプロジェクト ID でプロジェクトを実行していることを確認します。 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-03-06 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-03-06 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."]]],[]]