このガイドでは、チェックベースのプラットフォーム ポリシーを使用して、継続的検証(CV)によって生成された Cloud Logging のエントリを表示する方法について説明します。代わりに以前の継続的検証(非推奨)エントリを表示するには、以前の CV ログを表示するをご覧ください。
CV は、podEvent
エントリにチェック関連の問題を記録します。CV は、configErrorEvent
エントリに構成関連の問題をログに記録します(たとえば、プラットフォーム ポリシーまたは IAM ロールが正しく構成されていない場合など)。
CV エントリのログを表示する
CV は、プラットフォーム ポリシー違反を 24 時間以内に Cloud Logging に記録します。通常は数時間以内にエントリが表示されます。
有効にしたプラットフォーム ポリシーに違反するイメージがない場合、ログエントリは表示されません。
過去 7 日間の CV ログエントリを表示するには、次のコマンドを実行します。
gcloud logging read \
--order="desc" \
--freshness=7d \
--project=CLUSTER_PROJECT_ID \
'logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation" "policyName"'
CLUSTER_PROJECT_ID
は、クラスタ プロジェクト ID に置き換えます。
チェックの種類
CV では、チェックの違反情報が checkResults
に記録されます。エントリで、値 checkType
はチェックを示します。各チェックの値は次のとおりです。
ImageFreshnessCheck
SigstoreSignatureCheck
SimpleSigningAttestationCheck
SlsaCheck
TrustedDirectoryCheck
VulnerabilityCheck
サンプルログ
次の CV ロギング エントリの例は、信頼できるディレクトリ チェックに違反する非遵守のイメージを示しています。
{
"insertId": "637c2de7-0000-2b64-b671-24058876bb74",
"jsonPayload": {
"podEvent": {
"endTime": "2022-11-22T01:14:30.430151Z",
"policyName": "projects/123456789/platforms/gke/policies/my-policy",
"images": [
{
"result": "DENY",
"checkResults": [
{
"explanation": "TrustedDirectoryCheck at index 0 with display name \"My trusted directory check\" has verdict NOT_CONFORMANT. Image is not in a trusted directory",
"checkSetName": "My check set",
"checkSetIndex": "0",
"checkName": "My trusted directory check",
"verdict": "NON_CONFORMANT",
"checkType": "TrustedDirectoryCheck",
"checkIndex": "0"
}
],
"image": "gcr.io/my-project/hello-app:latest"
}
],
"verdict": "VIOLATES_POLICY",
"podNamespace": "default",
"deployTime": "2022-11-22T01:06:53Z",
"pod": "hello-app"
},
"@type": "type.googleapis.com/google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent"
},
"resource": {
"type": "k8s_cluster",
"labels": {
"project_id": "my-project",
"location": "us-central1-a",
"cluster_name": "my-test-cluster"
}
},
"timestamp": "2022-11-22T01:44:28.729881832Z",
"severity": "WARNING",
"logName": "projects/my-project/logs/binaryauthorization.googleapis.com%2Fcontinuous_validation",
"receiveTimestamp": "2022-11-22T03:35:47.171905337Z"
}
次のステップ
- イメージの鮮度チェックを使用する
- シンプルな署名証明書チェックを使用する
- Sigstore 署名チェックを使用する
- SLSA チェックを使用する
- 信頼できるディレクトリのチェックを使用する
- 脆弱性チェックを使用する
- CV ログを表示する