Ver registros de auditoría de GKE

En esta página, se muestra cómo ver información sobre el estado de la implementación y la aplicación de la política en Registros de auditoría de Cloud.

Para obtener más información sobre la terminología de la interfaz de usuario de los registros de auditoría de Cloud que se usa en esta página, consulta Visualiza los registros.

Puedes evaluar la posición de seguridad de la aplicación, incluida la aplicación de políticas de autorización binaria en los productos interdependientes de Google Cloud, en un solo panel. Para obtener más información, consulta Supervisión de seguridad.

Descripción general

Cuando usas la autorización binaria para implementar una imagen de contenedor en Google Kubernetes Engine (GKE), GKE escribe los detalles sobre la implementación en los registros de auditoría de Google Cloud's operations suite. Estas entradas de registro de auditoría incluyen mensajes de estado de la aplicación. Puedes ver estas entradas de registro en Google Cloud Console o en la línea de comandos mediante el comando gcloud logging read.

Para las búsquedas posteriores de esta guía, debes acceder a los registros de auditoría de Cloud y seleccionar el proyecto con los eventos que deseas ver.

Para el acceso general a los registros de auditoría de Cloud, haz lo siguiente:

  1. Ve a la página del Google Cloud's operations suite Logging > Registros (Visor de registros) en Cloud Console:

    Ir al Explorador de registros

  2. Elige el proyecto de Google Cloud cuyos registros de auditoría de Cloud deseas ver.

Mensajes de estado de la aplicación

GKE escribe mensajes en el registro de auditoría para las siguientes condiciones de aplicación:

  • Implementación bloqueada: La implementación se bloqueó debido a una política de la autorización binaria.
  • Evento de emergencia: La implementación omitió la verificación de políticas mediante el mecanismo de emergencia. Para obtener más información, consulta Usa flujos de trabajo de emergencia.
  • Fail open: Se permitió la implementación porque el backend de la autorización binaria no estaba disponible.
  • Ejecución de prueba: Se permite la implementación con incumplimientos de política porque se estableció el modo de ejecución de prueba en la política de la autorización binaria.

Eventos de implementación bloqueados en los registros de auditoría de Cloud

Cuando una imagen de contenedor está bloqueada porque infringe una política de autorización binaria, puedes encontrar los eventos de implementación bloqueada en los registros de auditoría de Cloud.

Consulta los registros de auditoría de Cloud para ver eventos de implementación bloqueados

En esta sección, se describe cómo consultar los registros de auditoría de Cloud para ver eventos de implementación bloqueados.

Explorador de registros

Para ver los eventos de implementación bloqueados en el explorador de registros de Cloud Audit Logging, haz lo siguiente:

  1. Ve a la página Visor de registros.

  2. Ingresa la siguiente consulta en el cuadro de búsqueda:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    protoPayload.response.status="Failure"
    (protoPayload.response.reason="VIOLATES_POLICY" OR
    protoPayload.response.reason="Forbidden")
    NOT "kube-system"
    NOT "istio-system"
    

  3. Selecciona el rango de tiempo en el selector de rango de tiempo.

gcloud

Para ver los eventos de incumplimiento de política de la última semana en los registros de auditoría de Cloud mediante la herramienta de línea de comandos de gcloud, ejecuta el siguiente comando:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster"
   logName:"cloudaudit.googleapis.com%2Factivity"
   (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
   protoPayload.response.status="Failure"
   (protoPayload.response.reason="VIOLATES_POLICY" OR
   protoPayload.response.reason="Forbidden")
   NOT "kube-system"
   NOT "istio-system"'

Eventos de emergencia en los registros de auditoría de Cloud

La autorización binaria te permite anular la política mediante una etiqueta de anulación de emergencia en el Podspec.

Consulta los registros de auditoría de Cloud para Pods con anulación de emergencia especificados

Explorador de registros

Para ver los eventos de anulaciones de emergencia en el explorador de registros de Cloud Audit Logging, haz lo siguiente:

  1. Ve a la página Visor de registros.

  2. Ingresa lo siguiente en el cuadro de búsqueda:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
    "image-policy.k8s.io/break-glass"
    
  3. Selecciona el rango de tiempo en el selector de rango de tiempo.

gcloud

Para ver los eventos de anulación de emergencia de la última semana en los registros de auditoría de Cloud con la herramienta de gcloud, ejecuta el siguiente comando:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster" AND
  logName:"cloudaudit.googleapis.com%2Factivity" AND
  protoPayload.methodName="io.k8s.core.v1.pods.create" AND
  "image-policy.k8s.io/break-glass"'

Eventos del tipo fail open en Registros de auditoría de Cloud

El fail open se genera cuando se intenta implementar una imagen de contenedor, el ejecutor de la autorización binaria no está disponible o se agota el tiempo de espera, y se autoriza la implementación de la imagen de contenedor.

En este caso, se desconoce el resultado de la verificación y se registra una entrada de registro.

Consulta los eventos del tipo fail open de los registros de auditoría de Cloud

Explorador de registros

Para ver los eventos del procedimiento del tipo open open en el explorador de registros de auditoría de Cloud, haz lo siguiente:

  1. Ve a la página Visor de registros.

  2. Ingresa lo siguiente en el cuadro de búsqueda:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    ("image-policy.k8s.io/failed-open" OR
     "imagepolicywebhook.image-policy.k8s.io/failed-open" OR
     "failed-open.validating.webhook.admission.k8s.io")
    
  3. Selecciona el rango de tiempo en el selector de rango de tiempo.

gcloud

Para ver los eventos del procedimiento del tipo fail open de la última semana en los registros de auditoría de Cloud con la herramienta de gcloud, ejecuta el siguiente comando:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster"
   logName:"cloudaudit.googleapis.com%2Factivity"
   (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
   ("image-policy.k8s.io/failed-open" OR
    "imagepolicywebhook.image-policy.k8s.io/failed-open" OR
    "failed-open.validating.webhook.admission.k8s.io")'

Eventos de ejecución de prueba en Registros de auditoría de Cloud

El modo de ejecución de prueba es un modo de aplicación en una política que permite que se implementen imágenes que no cumplen con las especificaciones, pero se escriben detalles sobre la implementación en el registro de auditoría. El modo de ejecución de prueba te permite probar una política en tu entorno de producción antes de que entre en vigor.

Cuando una imagen de contenedor no pasa las verificaciones necesarias de una política, pero se puede implementar en el modo de ejecución de prueba, los registros de auditoría de Cloud contienen imagepolicywebhook.image-policy.k8s.io/dry-run: "true".

Consulta los registros de auditoría de Cloud de los eventos de ejecución de prueba

Explorador de registros

Para ver los eventos de ejecución de prueba en el Explorador de registros de Cloud Audit, haz lo siguiente:

  1. Ve a la página Visor de registros.

  2. Ingresa lo siguiente en el cuadro de búsqueda:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"
    
  3. Selecciona el rango de tiempo en el selector de rango de tiempo.

gcloud

Para ver los eventos de implementación de ejecución de prueba de la semana pasada en los registros de auditoría de Cloud con la herramienta de gcloud, ejecuta el siguiente comando:

gcloud logging read --order="desc" --freshness=7d \
  'labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"'