En este documento, se describe cómo habilitar y usar los registros de auditoría de Cloud para clústeres de Anthos en equipos físicos. Los clústeres de Anthos en equipos físicos usan el registro de auditoría de Kubernetes para mantener un registro cronológico de las llamadas realizadas al servidor de la API de Kubernetes de un clúster. Los registros de auditoría son útiles para investigar solicitudes a la API sospechosas y recopilar estadísticas.
Si los Registros de auditoría de Cloud están habilitados, los registros de auditoría se escriben en Registros de auditoría de Cloud en tu proyecto de Google Cloud. Escribir en los registros de auditoría de Cloud tiene varios beneficios en comparación con escribir en el disco o incluso capturar registros en un sistema de registro local:
- Los registros de auditoría para todos los clústeres de Anthos se pueden centralizar.
- Las entradas de registro escritas en los registros de auditoría de Cloud son inmutables.
- Las entradas de los registros de auditoría de Cloud se retienen durante 400 días.
- Los registros de auditoría de Cloud se incluyen en el precio de Anthos.
- Puedes configurar clústeres de Anthos en equipos físicos para escribir registros en el disco o en los registros de auditoría de Cloud.
Registro de auditoría basado en discos
De forma predeterminada, los registros de auditoría de los clústeres de Anthos alojados en VMware se escriben en un disco persistente para que la VM se reinicie y las actualizaciones no generen la desaparición de los registros. Los clústeres de Anthos en equipos físicos retienen hasta 1 GB de entradas de registro de auditoría.
Para acceder a los registros de auditoría basados en discos, accede a los nodos del plano de control.
Los registros se encuentran en el directorio /var/log/apiserver/
.
Registros de auditoría de Cloud
Si los registros de auditoría de Cloud están habilitados, las entradas del registro de auditoría de actividad de administrador de todos los servidores de la API de Kubernetes se envían a Google Cloud. Estas entradas de registro se almacenan en el nombre y la ubicación del proyecto del clúster. Para almacenar en búfer y escribir entradas de registro en los registros de auditoría de Cloud, los clústeres de Anthos alojados en VMware implementan un pod audit-proxy
en el clúster de administrador. Este pod también está disponible como un contenedor de archivo adicional en los clústeres de usuarios.
Limitaciones
Los registros de auditoría de Cloud para clústeres de Anthos en equipos físicos son una función de vista previa y tienen las siguientes limitaciones:
- No se admite el registro de acceso a los datos.
- No se admite la modificación de la política de auditoría de Kubernetes.
- Los registros de auditoría de Cloud no son resistentes a las interrupciones prolongadas de la red. Si las entradas de registro no se pueden exportar a Google Cloud, se almacenan en caché en un búfer de disco de 10 GB. Si se completa ese búfer, se descartan las entradas posteriores.
- Los Registros de auditoría de Cloud se pueden habilitar solo cuando se crean clústeres nuevos de la versión 1.8.0. La vista previa de funciones no admite la habilitación de Registros de auditoría de Cloud en clústeres existentes a través de la actualización.
Crea una cuenta de servicio para los registros de auditoría de Cloud
Antes de poder habilitar Cloud Logging y Cloud Monitoring con clústeres de Anthos en un equipo físico, primero debes configurar lo siguiente:
Crea un lugar de trabajo de Cloud Monitoring dentro del proyecto de Google Cloud, si todavía no tienes uno.
Esto se hace en la consola de Google Cloud. Haz clic en el siguiente botón y sigue el flujo de trabajo.
Haz clic en los siguientes botones para habilitar las API requeridas:
Habilita la API de auditoría de Anthos
Asigna las siguientes funciones de IAM a la cuenta de servicio que usan los agentes de Stackdriver:
logging.logWriter
monitoring.metricWriter
stackdriver.resourceMetadata.writer
monitoring.dashboardEditor
Habilita los Registros de auditoría de Cloud cuando creas un clúster
Para usar los registros de auditoría de Cloud con clústeres de Anthos en equipos físicos, sigue las instrucciones normales de creación del clúster, pero edita la siguiente configuración del archivo de configuración del clúster antes de ejecutar bmctl create cluster
:
Quita los comentarios del campo
disableCloudAuditLogging
en el archivo de configuración del clúster y asegúrate de que esté configurado comofalse
, como se muestra en el siguiente ejemplo:... clusterOperations: # Cloud project for logs and metrics. projectID: `PROJECT_ID` # Cloud location for logs and metrics. location: us-central1 # Enable Cloud Audit Logging if uncommented and set to false. disableCloudAuditLogging: false ...
El resto del proceso de creación del clúster es el mismo. Para obtener más información y vínculos a instrucciones, consulta Descripción general de la creación de clústeres.
Accede a los Registros de auditoría de Cloud
Consola
En la consola de Google Cloud, ve a la página Registros en el menú de Logging.
En el cuadro Filtrar por búsqueda de texto o etiqueta, haz clic en la flecha hacia abajo para abrir el menú desplegable. En el menú, selecciona Convertir a filtro avanzado.
Completa el cuadro de texto con el siguiente filtro:
resource.type="k8s_cluster" logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" protoPayload.serviceName="anthosgke.googleapis.com"
Reemplaza
PROJECT_ID
con el ID del proyecto.Haz clic en Enviar filtro para mostrar todos los registros de auditoría de los clústeres de Anthos alojados en VMware 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/externalaudit.googleapis.com%2Factivity" \ AND resource.type="k8s_cluster" \ AND protoPayload.serviceName="anthosgke.googleapis.com" ' \ --limit 2 \ --freshness 300d
Reemplaza PROJECT_ID
con 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/<var>PROJECT_ID</var>/logs/externalaudit.googleapis.com%2Factivity
y protoPayload.serviceName
es igual a anthosgke.googleapis.com
.
Política de auditoría
El comportamiento de los registros de auditoría de Cloud se determina mediante una política de registro de auditoría de Kubernetes configurada de manera estática. Por el momento, no se admite el cambio de esta política, pero estará disponible en una versión futura.