Registros de auditoría

En esta página, se describe cómo acceder a los registros de auditoría del apiserver de Kubernetes.

Descripción general

Cada clúster de GKE On-Prem tiene el Registro de auditoría de Kubernetes, que mantiene un registro cronológico de las llamadas realizadas al servidor de la API de Kubernetes. Los registros de auditoría son útiles para investigar solicitudes sospechosas a la API o recopilar estadísticas.

Registro de auditoría basado en discos

Según la configuración predeterminada, los registros de auditoría de cada servidor de la API se vuelcan a un disco persistente, por lo que el reinicio o la actualización de la VM no causarán que los registros desaparezcan. GKE On-Prem retiene hasta 10 GB de registros de auditoría.

Cloud Audit Logging

Si Cloud Audit Logging está habilitado, los registros de auditoría de actividad del administrador de todos los servidores de la API se envían a Google Cloud con el proyecto y la ubicación establecidos durante la instalación.

Accede a los registros de auditoría de Kubernetes

Registro de auditoría basado en discos

Solo puedes acceder a los registros de auditoría a través del clúster de administrador:

  1. Visualiza los servidores de la API de Kubernetes que se ejecutan en tus clústeres:

    kubectl get pods --all-namespaces -l component=kube-apiserver
    
  2. Descarga los registros de auditoría del servidor de la API:

    kubectl cp -n [NAMESPACE] [APISERVER_POD_NAME]:/var/log/kube-audit/kube-apiserver-audit.log /tmp/kubeaudit.log
    

    Con este comando, se recupera el archivo de registro más reciente, que puede contener hasta 1 GB de datos del clúster de administrador y hasta 850 GB de los clústeres de usuario.

    Los registros de auditoría anteriores se guardan en archivos diferentes. Para ver esos archivos, haz lo siguiente:

    kubectl exec -n [NAMESPACE] [APISERVER_POD_NAME] -- ls /var/log/kube-audit -la
    

    El nombre de archivo de cada registro de auditoría tiene una marca de tiempo que indica cuándo se rotó el archivo. Un archivo contiene registros de auditoría hasta esa hora y fecha.

Cloud Audit Logging

Console

  1. En la consola de Google Cloud, ve a la página Registros en el menú de Logging.

    Ir a la página Registros

  2. En el cuadro Filtrar por búsqueda de texto o etiqueta, arriba de los menús desplegables mencionados antes, haz clic en la flecha hacia abajo para abrir el menú desplegable. En el menú, selecciona Convertir a filtro avanzado.

  3. Completa el cuadro de texto con el siguiente filtro:

    resource.type="k8s_cluster"
    logName="projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
    protoPayload.serviceName="anthosaudit.googleapis.com"
    
  4. Haz clic en Enviar filtro a fin de mostrar todos los registros de auditoría de los clústeres de GKE On-prem que se configuraron para acceder a este proyecto.

gcloud

Enumera las dos primeras entradas en el registro de actividad de administrador de tu proyecto que se aplican al tipo de recurso k8s_cluster:

gcloud logging read \
    'logName="projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity" \
    AND resource.type="k8s_cluster" \
    AND protoPayload.serviceName="anthosaudit.googleapis.com" ' \
    --limit 2 \
    --freshness 300d

En el ejemplo anterior, [PROJECT_ID] es el ID del proyecto.

Los resultados muestran dos entradas de registro. Ten en cuenta que para cada entrada de registro, el campo logName tiene el valor projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity, y protoPayload.serviceName es igual a anthosaudit.googleapis.com.

Política de auditorías

El comportamiento del registro de auditoría se determina mediante una política de registro de auditoría de Kubernetes configurada de manera estática. Por el momento, no se admite la modificación de esta política.