En esta guía, se muestra cómo ver las entradas de Cloud Logging que se generan mediante la validación continua (CV) con políticas de plataforma basadas en verificaciones. Para ver, en cambio, las entradas de validación continua heredada (obsoleta), consulta Visualiza los registros de la CV heredada.
Los registros de la CV verifican los problemas relacionados con las entradas podEvent
.
Con la CV, se registran los problemas relacionados con la configuración en las entradas configErrorEvent
, por ejemplo, si una política de la plataforma o los roles de IAM están mal configuradas.
Visualiza los registros de entradas de la CV
Con la CV, se registran los incumplimientos de políticas de la plataforma en Cloud Logging en 24 horas. Por lo general, puedes ver las entradas en un par de horas.
Si ninguna imagen infringe las políticas de la plataforma que habilitaste, no aparecerán las entradas en los registros.
Para ver las entradas de registro de CV de los últimos siete días, ejecuta el siguiente comando:
gcloud logging read \
--order="desc" \
--freshness=7d \
--project=CLUSTER_PROJECT_ID \
'logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation" "policyName"'
Reemplaza CLUSTER_PROJECT_ID
por el ID del proyecto del clúster.
Tipos de verificación
Los registros de la CV verifican la información de incumplimiento en checkResults
. En la entrada, el valor checkType
indica la verificación. Los valores para cada verificación son los siguientes:
ImageFreshnessCheck
SigstoreSignatureCheck
SimpleSigningAttestationCheck
SlsaCheck
TrustedDirectoryCheck
VulnerabilityCheck
Registro de ejemplo
En la siguiente entrada de CV Logging de ejemplo, se describe una imagen que no cumple con las políticas que infringe una verificación de directorio de confianza:
{
"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"
}
¿Qué sigue?
- Usa la verificación de actualidad de la imagen
- Usa la verificación de certificación de firma simple
- Usa la verificación de firma de Sigstore
- Usa la verificación de SLSA
- Usa la verificación del directorio de confianza
- Usa la verificación de vulnerabilidades
- Visualiza los registros de la CV