Topics

Registro de auditoría parte 2: Comparativa transversal de funciones de registro en servicios web

  • column

AWS, Cloudflare, Vercel, Supabase, headless CMS: ¿qué persiste?

Hola, soy Otsuka, CTO de Liberogic.

En la entrega anterior, clasificamos las diferencias entre registros de acceso, registros de aplicaciones y registros de auditoría.

Esta vez, examinaremos de manera más concreta qué tipos de registros se pueden obtener de los servicios que usamos habitualmente: AWS, Cloudflare, Vercel, Supabase y headless CMS.

Dicho esto, no se trata de comparar en detalle los precios y características de cada servicio.

Las características varían considerablemente de un servicio a otro en cuanto a "qué se conserva de forma estándar" y "hasta dónde se puede verificar posteriormente", así que organizaremos esto de manera general.

Servicios

Registros que se pueden confirmar principalmente

Enfoque para la retención a largo plazo

Puntos a tener en cuenta

AWS

Ejecución, acceso y operaciones administrativas

Combinar CloudWatch y S3

Se requiere configuración por servicio

Cloudflare

Ejecución de Workers, excepciones, etc.

Transferencia a R2 o servicios externos

La entrega estática es independiente de los registros de ejecución

Vercel

Functions, implementación, registros de ejecución

Transferencia externa mediante Log Drains, etc.

El rango de almacenamiento depende del plan

Supabase

Base de datos, API, autenticación, operaciones administrativas

Transferencia externa mediante Log Drains, etc.

Las operaciones específicas de la aplicación se implementan por separado

Headless CMS

Actualización de contenidos, operaciones administrativas

Utilizar las funciones de historial y auditoría del servicio

Las operaciones y planes objetivo difieren

Datadog/Sentry

Registros consolidados, información de errores

Diseñado según el uso y el volumen de almacenamiento

La simple implementación no constituye un registro de auditoría

Aunque sea la misma «función de registro», las operaciones objetivo y los períodos de retención varían.

Además, que algo se muestre en la pantalla administrativa es diferente de que se conserve a largo plazo para auditoría.

AWS tiene todo lo necesario, pero se requiere configuración

AWS cuenta con una amplia gama de servicios relacionados con registros.

Por ejemplo, la ejecución de servicios como Lambda o API Gateway se recopila en CloudWatch Logs. Las operaciones realizadas en la consola de administración de AWS o a través de API se pueden registrar en CloudTrail.

En pocas palabras,

  • CloudWatch Logs: visualiza la actividad de aplicaciones y servicios de AWS
  • CloudTrail: visualiza quién hizo qué en tu entorno de AWS
  • S3: almacena registros a largo plazo

es la división de responsabilidades.

Como se puede buscar, monitorear, notificar y archivar a largo plazo todo dentro de AWS, es una arquitectura que se adapta fácilmente a sistemas con requisitos de auditoría estrictos.

Sin embargo, no es cierto que "si usas AWS, todo se registra automáticamente".

Necesitas configurar la salida de registros para cada servicio que utilices y decidir el período de retención y la ubicación de almacenamiento. Dado el alto grado de flexibilidad, es fundamental diseñar esto correctamente.

Cloudflare separa las investigaciones a corto plazo del almacenamiento externo

En Cloudflare Workers, puedes ver el contenido registrado con console.log() y los errores en Workers Logs.

Es muy conveniente para verificar durante el desarrollo e investigar problemas recientes, pero cuando se necesita mantener un rastro de auditoría a largo plazo, es recomendable no depender únicamente de la pantalla de registro estándar.

Para los registros que requieren almacenamiento a largo plazo, se recomienda considerar una configuración que envíe los datos a R2 o a un servicio externo de gestión de registros utilizando Logpush u herramientas similares.

Además, cuando se distribuyen sitios web estáticos a través de Cloudflare Pages o Workers, no todos los accesos quedan registrados en los registros de ejecución de Worker.

Aunque el sitio se muestra correctamente, es fácil asumir que "obviamente también habrá registros de acceso", pero la distribución de archivos estáticos y la ejecución de Workers son procesos distintos.

Cloudflare facilita crear configuraciones relativamente compactas, pero es necesario entender qué proceso pasa por dónde para diseñar los registros correctamente.

Vercel facilita la verificación de registros de Next.js

En Vercel, puede verificar los registros generados por Next.js Functions, Server Actions y otras funciones directamente desde el panel de administración.

Dado que el despliegue y los registros de ejecución están cerca uno del otro, el entorno es intuitivo para los desarrolladores y facilita la investigación diaria de errores.

Por otro lado, el período durante el cual se pueden consultar los registros y el alcance de la transferencia externa varían según el plan.

Si necesita mantener registros durante un período prolongado, será necesario implementar un mecanismo alternativo, como usar Drains para enviar los datos a un destino de almacenamiento externo.

No es solo Vercel; que los registros se muestren en la consola de administración y que se conserven a largo plazo con fines de auditoría son dos cosas diferentes.

Es necesario verificar estas dos cosas por separado.

Supabase tiene muchos registros además de la base de datos

Aunque Supabase es un servicio centrado en PostgreSQL, en realidad está compuesto por múltiples funciones más allá de la base de datos: autenticación, API, almacenamiento, Edge Functions y más.

Como cada registro se puede verificar desde la consola de administración, es fácil rastrear el comportamiento de toda la aplicación.

También hay registros relacionados con la autenticación y registros de auditoría para verificar las operaciones realizadas en la consola de administración de Supabase.

Sin embargo, aquí también es importante tener en cuenta que las operaciones de administración de Supabase y las operaciones dentro de la aplicación que haya creado son cosas diferentes.

Por ejemplo, aunque el servicio puede registrar "quién cambió la configuración del proyecto en Supabase", registrar "quién cambió la información del cliente en la consola de administración de su empresa" debe hacerse en el lado de la aplicación.

Verificar el historial de operaciones del headless CMS

Los headless CMS como microCMS, Kuroco y NILTO proporcionan el historial de actualización de contenido y registros de operaciones de la consola de administración.

Los registros sobre quién actualizó un artículo, cuándo se publicó, o si se cambiaron configuraciones y permisos son importantes como registros de auditoría en la operación de sitios web.

Sin embargo, las operaciones que se registran, el período que se puede revisar y los planes disponibles varían según el servicio.

Aunque es posible verificar el historial de actualizaciones de contenido, no todas las operaciones de administración se quedan necesariamente como registros de auditoría.

Además, el CMS normalmente solo mantiene registros de operaciones dentro del CMS. El acceso al sitio web publicado y los errores que ocurren en el lado del frontend deben verificarse en el entorno de hosting.

En proyectos de headless CMS, es más clara la visión si consideramos el CMS, frontend, hosting y API como un único sistema.

Cuando se añaden Datadog o Sentry

Si los registros se distribuyen entre varios servicios, tendrás que abrir cada panel de administración para investigar cada vez que ocurra un incidente.

La consolidación en un servicio de gestión de registros como Datadog permite buscar registros de múltiples entornos en conjunto y detectar anomalías para enviar notificaciones.

Sentry también se utiliza frecuentemente, pero este servicio es especialista en investigar dónde ocurrieron errores y su alcance de impacto.

Ambos son convenientes, pero su implementación no automáticamente completa el registro de auditoría.

La aplicación debe determinar qué registrar, y almacenar todos los registros durante períodos prolongados aumenta los costos conforme crece el volumen de datos.

Método de almacenamiento

Casos de uso recomendados

Características

Panel de administración y servicio de gestión de registros

Investigación de incidencias rutinarias

Búsqueda rápida disponible, pero los costos aumentan según la capacidad de almacenamiento

Almacenamiento en R2, S3 y similares

Auditoría y conservación a largo plazo de registros de trazabilidad

Opción económica para conservar datos, aunque requiere un proceso de extracción para su investigación

Es práctico separar los registros que consultas habitualmente de aquellos que almacenas para situaciones de emergencia.

¿Cuál es el mejor servicio? No es una pregunta que se pueda responder así.

No puedes decidir que AWS o Cloudflare es el mejor simplemente comparando registros.

Lo importante es entender qué es lo que necesitas registrar en cada proyecto.

  • Investigar errores del servicio
  • Mantener registro de las acciones del administrador
  • Revisar el historial de actualizaciones del CMS
  • Rastrear cambios de autenticación y permisos
  • Conservar registros a largo plazo para auditoría

Una vez que identifiques lo que necesitas, podrás ver qué funcionalidades estándar de cada servicio cubrirán tus requisitos y dónde necesitarás implementar soluciones adicionales.

Tampoco nosotros preparamos una base de registros grande desde el principio, sino que configuramos la estructura según los requisitos y presupuesto de cada proyecto.

La próxima vez abordaremos, cuando se combinan estos servicios, qué tipos de registros genera la aplicación y dónde se almacenan. Presentaremos algo más cercano a la práctica real.

Bueno, hasta luego.

Autor de este artículo

Pilar de la división técnica de Liberogic. Cuando escucha "Me gustaría que existiera esto, sería muy útil", lo implementa en un instante, añadiendo valor gracias a su ingenio innato. Persona con gran capacidad de comunicación, querida por muchos clientes, es un tesoro de nuestra empresa y adora los gatos.

Shō Ōtsuka

Director Técnico / Ingeniero Jefe / Representante de Nekoana LLC / Aparentemente más joven de lo que es

Ver artículos de este staff

Destacamos por nuestro equipo confiable y nuestra rápida capacidad de respuesta

En Liberogic, nuestro personal experimentado impulsa activamente los proyectos, lo que nos ha ganado una alta evaluación de nuestros clientes.
Nos aseguramos de asignar adecuadamente gerentes de proyecto y directores, manteniendo una ejecución fluida de todo el proyecto. Evitamos aumentos de costos innecesarios mediante asignación completa, distribuyendo recursos estratégicamente según las necesidades, y somos reconocidos por la rapidez en la comprensión de tareas, elaboración de presupuestos y entrega de cotizaciones.

* Tome en cuenta que nuestra empresa no participa activamente en labores de residencia tipo SES.

Puede utilizar prácticamente todas las herramientas principales de gestión de proyectos y chat como Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex, entre otras.

Consulte con nosotros sobre sus dudas relacionadas con la web.

Casos de Estudio