En este documento se describe cómo usar los registros de auditoría de Cloud para Google Distributed Cloud (solo software) en bare metal. Google Distributed Cloud usa Kubernetes Audit Logging (Registro de auditoría de Kubernetes), que mantiene un registro cronológico de las llamadas realizadas a un servidor de API de Kubernetes de un clúster. Los registros de auditoría son útiles para investigar solicitudes de API sospechosas y para recoger estadísticas. Para obtener información sobre el registro de auditoría de la API GKE On-Prem, consulta Registro de auditoría de la API Cloud.
Acerca de los registros de auditoría de Cloud
Los registros de auditoría se escriben en Registros de auditoría de Cloud en tu proyectoGoogle Cloud . Escribir en los registros de auditoría de Cloud tiene varias ventajas con respecto a escribir en el disco o capturar registros en un sistema de registro local:
- Los registros de auditoría de todos los clústeres de GKE se pueden centralizar.
- Las entradas de registro escritas en Registros de auditoría de Cloud son inmutables.
- Las entradas de registros de auditoría de Cloud se conservan durante 400 días.
- La función Registros de auditoría de Cloud se incluye en el precio del software de Google Distributed Cloud.
- Puedes configurar Google Distributed Cloud para que escriba los registros en el disco o en los registros de auditoría de Cloud.
Registro de auditoría basado en disco
Si Cloud Audit Logs está inhabilitado explícitamente, los registros de auditoría se escriben en un disco persistente para que los reinicios y las actualizaciones del clúster no provoquen que desaparezcan. Google Distributed Cloud (solo software) conserva hasta 1 GiB de entradas de registro de auditoría.
Para acceder a los registros de auditoría basados en disco, inicia sesión en los nodos del plano de control. Los registros se encuentran en el directorio /var/log/apiserver/
.
Registros de auditoría de Cloud
Las entradas del registro de auditoría de actividad de administrador de todos los servidores de la API de Kubernetes se envían aGoogle Cloudcon el proyecto y la ubicación que especifiques al crear un clúster de usuario. Para almacenar en búfer y escribir entradas de registro en Registros de auditoría de Cloud, Google Distributed Cloud implementa un conjunto de demonios audit-proxy
que se ejecuta en los nodos del plano de control.
Limitaciones
En el hardware desnudo, los registros de auditoría de Cloud tienen las siguientes limitaciones:
- No se admite el registro de acceso a los datos.
- No se puede modificar la política de auditoría de Kubernetes.
- Registros de auditoría de Cloud no es resistente a las interrupciones de red prolongadas. Si las entradas de registro no se pueden exportar a Google Cloud, se almacenan en caché en un búfer de disco de 10 GiB. Si ese búfer se llena, se descartarán las entradas más antiguas.
- Un proyecto puede admitir hasta aproximadamente 1000 cuentas de servicio para usarlas con Cloud Audit Logs. Varios clústeres pueden usar la misma cuenta de servicio.
Crear una cuenta de servicio para Cloud Audit Logs
Antes de poder usar Cloud Logging y Cloud Monitoring con el software de Google Distributed Cloud, debe configurar lo siguiente:
Crea un espacio de trabajo de Cloud Monitoring en el Google Cloud proyecto si aún no tienes uno.
En la Google Cloud consola, haz clic en el botón siguiente y sigue el flujo de trabajo.
Haz clic en los siguientes botones para habilitar las APIs necesarias:
Asigna los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que usan los agentes de Stackdriver:
logging.logWriter
monitoring.metricWriter
stackdriver.resourceMetadata.writer
monitoring.dashboardEditor
Acceder a los registros de auditoría de Cloud
Consola
En la Google Cloud consola, ve a la página Explorador de registros del menú Logging.
Si se abre la página Visor de registros antiguo, elige Actualizar al nuevo explorador de registros en el menú desplegable Actualizar.
Haz clic en Consulta para acceder al campo de envío de consultas.
Rellena el campo con la siguiente consulta:
resource.type="k8s_cluster" logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" protoPayload.serviceName="anthosgke.googleapis.com"
Sustituye
PROJECT_ID
por el ID del proyecto.Haz clic en Ejecutar consulta para mostrar todos los registros de auditoría de los clústeres que se hayan configurado para iniciar sesión en este proyecto.
gcloud
Lista las dos primeras entradas del registro de actividad de administración de tu proyecto que se apliquen 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
Sustituye PROJECT_ID
por el ID del proyecto.
El resultado muestra dos entradas de registro. Observe que, en cada entrada de registro, el campo logName
tiene el valor projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity
y que protoPayload.serviceName
es igual a anthosgke.googleapis.com
.
Política de auditoría
La política de auditoría de Kubernetes define las reglas de los eventos que se registran como entradas de registro y especifica qué datos deben incluir las entradas de registro. No se puede cambiar esta política para modificar el comportamiento de los registros de auditoría de Cloud.