Ve registros de auditoría

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 Cloud Logging. Para obtener más información sobre la terminología de Cloud Logging que se usa en esta página, consulta Visualiza los registros.

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.

En todas las búsquedas a continuación, accederás a Cloud Logging y seleccionarás el proyecto con los eventos que deseas ver.

En el acceso general a Cloud Logging, sigue estos pasos:

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

    Ir a la página Visor de registros

  2. Elige el proyecto de Google Cloud en el que deseas ver Cloud Logging.

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 Cloud Logging

Cuando una imagen de contenedor está bloqueada porque infringe una política de autorización binaria, GKE escribe lo siguiente en el registro de auditoría para el recurso del clúster de Kubernetes (k8s_cluster):

protoPayload.response.reason: "Forbidden"
protoPayload.response.status: "Failure"

Consulta Cloud Logging para ver eventos de implementación bloqueados

   NOT "kube-system"
   NOT "istio-system"

Visor de Cloud Logging (versión clásica)

Para ver los eventos de implementación bloqueados en el visor de Cloud Logging (versión clásica), sigue estos pasos:

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

  2. Elige el proyecto de Google Cloud cuyas entradas de Cloud Logging deseas ver.

  3. En el menú desplegable Basic selector , selecciona Kubernetes Cluster.

  4. En el menú desplegable Log selector menu , selecciona cloudaudit.googleapis.com/activity.

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

    FAILURE
    NOT "kube-system"
    NOT "istio-system"
    
  6. Selecciona el rango de tiempo en el selector de rango de tiempo.

Visor de Cloud Logging (vista previa)

Para ver los eventos de implementación bloqueados en el visor de Cloud Logging (vista previa), sigue estos pasos:

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

  2. En la vista clásica, selecciona el menú del selector de versión, cambia la versión del visor de registros de Clásica a Preview the new Logs Viewer.

  3. 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"
    

    Ver eventos de implementación bloqueados en Cloud Logging

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

Línea de comandos

Para ver los eventos de incumplimiento de política de la última semana en Cloud Logging mediante la CLI, ejecuta el siguiente comando:

gcloud beta logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster" AND
  logName:"cloudaudit.googleapis.com%2Factivity" AND
  protoPayload.response.status="FAILURE"'

Eventos de emergencia en Cloud Logging

La autorización binaria te permite anular la política mediante una anotación de flujos de trabajo de emergencia.

Cuando una imagen no pasa las verificaciones necesarias de una política de la autorización binaria, pero se puede implementar mediante una anulación de la política, GKE escribe las siguientes etiquetas en el registro de auditoría para el recurso del clúster de Kubernetes (k8s_cluster):

imagepolicywebhook.image-policy.k8s.io/break-glass: "true"
imagepolicywebhook.image-policy.k8s.io/overridden-verification-result: "'IMAGE_PATH@IMAGE_DIGEST': Denied by DENIED_REASON

En el ejemplo anterior, se ilustra lo siguiente:

  • IMAGE_PATH es la ruta completamente calificada a la imagen de contenedor que intentaste implementar (por ejemplo, gcr.io/example-project/quickstart-image).
  • IMAGE_DIGEST es el resumen único de la imagen de contenedor.
  • DENIED_REASON es el motivo por el que el ejecutor de la autorización binaria rechazó la implementación.

Consulta Cloud Logging para ver eventos de flujos de trabajo de emergencia

Visor de Cloud Logging (versión clásica)

Para ver los eventos de flujos de trabajo de emergencia en el visor de Cloud Logging (versión clásica), sigue estos pasos:

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

  2. Elige el proyecto de Google Cloud cuyas entradas de Cloud Logging deseas ver.

  3. En el menú desplegable Basic selector , selecciona Kubernetes Cluster.

  4. En el menú desplegable Log selector menu , selecciona cloudaudit.googleapis.com/activity.

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

    "imagepolicywebhook.image-policy.k8s.io/break-glass"
    
  6. Selecciona el rango de tiempo en el selector de rango de tiempo.

Visor de Cloud Logging (vista previa)

Para ver los eventos de flujos de trabajo de emergencia en el visor de Cloud Logging (vista previa), sigue estos pasos:

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

  2. En la vista clásica, selecciona el menú del selector de versión, cambia la versión del visor de registros de Clásica a Preview the new Logs Viewer.

  3. 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/break-glass"="true"
    

    Ver implementaciones de flujos de trabajo de emergencia en Cloud Logging

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

Línea de comandos

Para ver los eventos de flujos de trabajo de emergencia de la última semana en Cloud Logging con la CLI, ejecuta el siguiente comando:

gcloud beta 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
  labels."imagepolicywebhook.image-policy.k8s.io/break-glass"="true"'

Eventos del tipo fail open en Cloud Logging

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 Cloud Logging

Visor de Cloud Logging (versión clásica)

Para ver los eventos del tipo fail open en el visor de Cloud Logging (versión clásica), sigue estos pasos:

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

  2. Elige el proyecto de Google Cloud cuyas entradas de Cloud Logging deseas ver.

  3. En el menú desplegable Basic selector , selecciona Kubernetes Cluster.

  4. En el menú desplegable Log selector menu , selecciona cloudaudit.googleapis.com/activity.

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

    "image-policy.k8s.io/failed-open"
    
  6. Selecciona el rango de tiempo en el selector de rango de tiempo.

Visor de Cloud Logging (vista previa)

Para ver los eventos del procedimiento del tipo fail open en el visor de Cloud Logging (vista previa), sigue estos pasos:

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

  2. En la vista clásica, selecciona el menú del selector de versión, cambia la versión del visor de registros de Clásica a Preview the new Logs Viewer.

  3. 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"
    

    Ver las implementaciones del tipo fail open en Cloud Logging

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

Línea de comandos

Para ver eventos del tipo fail open de la última semana en Cloud Logging mediante la CLI, ejecuta el siguiente comando:

gcloud beta 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
  labels."alpha.image-policy.k8s.io/failed-open"="true"'

Eventos de ejecución de prueba en Cloud Logging

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, GKE escribe lo siguiente en el registro de auditoría para el recurso del clúster de Kubernetes (k8s_cluster):

imagepolicywebhook.image-policy.k8s.io/dry-run: "true"
imagepolicywebhook.image-policy.k8s.io/overridden-verification-result: "'REGISTRY_PATH': Image REGISTRY_PATH denied by projects/PROJECT_ID/attestors/ATTESTOR: Attestor cannot attest to an image deployed by tag

En el ejemplo anterior, se ilustra lo siguiente:

  • REGISTRY_PATH es la ruta completamente calificada a la imagen en el registro de imágenes de contenedor.
  • ATTESTOR es la ruta completamente calificada al certificador en la autorización binaria.

Consulta Cloud Logging para eventos de ejecución de prueba

Visor de Cloud Logging (versión clásica)

Para ver los eventos de implementación de ejecución de prueba en el visor de Cloud Logging (versión clásica), sigue estos pasos:

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

  2. Elige el proyecto de Google Cloud cuyas entradas de Cloud Logging deseas ver.

  3. En el menú desplegable Basic selector , selecciona Kubernetes Cluster.

  4. En el menú desplegable Log selector menu , selecciona cloudaudit.googleapis.com/activity.

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

    "imagepolicywebhook.image-policy.k8s.io/dry-run"
    
  6. Selecciona el rango de tiempo en el selector de rango de tiempo.

Visor de Cloud Logging (vista previa)

Para ver los eventos de implementación de ejecución de prueba en el visor de Cloud Logging (vista previa), sigue estos pasos:

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

  2. En la vista clásica, selecciona el menú del selector de versión, cambia la versión del visor de registros de Clásica a Preview the new Logs Viewer.

  3. 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"
    

    Visualiza implementaciones de ejecución de prueba en Cloud Logging

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

Línea de comandos

Para ver los eventos de implementación de ejecución de prueba de la semana pasada en Cloud Logging mediante la CLI, ejecuta el siguiente comando:

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