Cómo integrar DataSunrise con AWS Database Activity Streams para obtener resultados de auditoría para AWS Aurora PostgreSQL
Descripción general de los métodos de auditoría de actividad de la base de datos
Hoy en día, la auditoría de bases de datos se vuelve cada vez más importante debido a numerosos actos legales y regulaciones dedicadas a la protección de datos sensibles como el GDPR, KVKK, etc.
Técnicamente, existen múltiples métodos de auditoría de bases de datos; los más populares son:
- Proxying del tráfico de la base de datos proxy;
- Escucha pasiva del tráfico de la base de datos;
- Lectura de los registros recolectados por las herramientas nativas de auditoría de la base de datos;
- Integración con servicios de auditoría dedicados como AWS DAS.
Cada enfoque tiene sus propias ventajas y desventajas, limitaciones y oportunidades. Los usuarios de Amazon, a su vez, pueden encontrar que los dos últimos enfoques son los más adecuados para sus necesidades. Estos métodos permiten a los usuarios de AWS notificar al personal de seguridad sobre eventos específicos de la base de datos, crear informes sobre la actividad en el clúster de Aurora PG, etc.
AWS Database Activity Streams (DAS) proporcionan un flujo casi en tiempo real de la actividad en tu clúster de base de datos y te ofrecen las siguientes ventajas sobre los mecanismos de registro nativo de la base de datos (la funcionalidad de trailing de los registros de auditoría de DB de DataSunrise):
- El proceso de configuración de DAS es mucho más simple que configurar el trailing “regular” basado en archivos de registro. Tampoco necesitas espacio de almacenamiento adicional para guardar los registros;
- Aumento de la protección contra amenazas internas: los administradores de bases de datos no tienen acceso a la recolección, transmisión, almacenamiento y procesamiento de los flujos de actividad de la base de datos;
- DAS proporciona mayor flexibilidad que el trailing “regular” debido a los modos Síncrono y Asíncrono disponibles.
La principal desventaja de DAS es la incompatibilidad con algunas clases de instancias RDS y versiones de Amazon Aurora.
El siguiente diagrama muestra un clúster Aurora PG integrado con DataSunrise:

Aquí, un clúster Aurora PG con DAS habilitado. Aurora envía datos sobre la actividad de la base de datos a AWS Kinesis. Los flujos de actividad están cifrados utilizando una clave de cifrado de AWS KMS. Kinesis, a su vez, transmite los flujos de actividad de la base de datos a DataSunrise, que se utiliza como herramienta de monitoreo de la base de datos. DataSunrise consume los flujos y guarda los resultados de la auditoría en su almacenamiento de Auditoría. Luego, los eventos capturados de la base de datos se muestran en la sección de Trails Transaccionales de la Consola Web de DataSunrise.
Requisitos previos para el clúster Aurora PG
Antes de configurar DAS, asegúrate de que tu entorno AWS cumpla con los siguientes requisitos.
Versiones de bases de datos Aurora PostgreSQL soportadas:
- Todas las versiones 13
- Todas las versiones 12
- Versiones 11.6 y superiores de la serie 11
- Versiones 10.11 y superiores de la serie 10
Clases de instancias AWS RDS soportadas:
- db.r6g
- db.r5
- db.r4
- db.x2g
Los flujos de actividad de la base de datos son compatibles en todas las regiones de AWS, excepto en las siguientes:
- Región China (Beijing), cn-north-1
- Región China (Ningxia), cn-northwest-1
- AWS GovCloud (US-East), us-gov-east-1
- AWS GovCloud (US-West), us-gov-west-1
Miscelánea:
- DAS requiere el uso de AWS Key Management Service (AWS KMS). AWS KMS es necesario porque los flujos de actividad siempre están cifrados
- Los flujos de actividad de la base de datos requieren el uso de Amazon Kinesis
Leer más: AWS Aurora DB Activity Streams – Requisitos de Versión
Creación de una clave AWS KMS
Dado que los flujos de actividad siempre están cifrados, necesitas usar una clave de cifrado. Aurora utiliza la clave KMS para cifrar la clave que, a su vez, cifra la actividad de la base de datos. Si no tienes una clave KMS, créala.
Navega al Sistema de Administración de Claves (KMS) de AWS, haz clic en Crear una clave. Configura las siguientes opciones para tu clave:
- Tipo de clave: Simétrica
- Origen del material de la clave: KMS
- Regionalidad: Clave de una sola región
- Política de clave: predeterminada
Leer más: AWS KMS – Creación de claves
Iniciar DAS para tu clúster Aurora PG
Una vez preparado tu entorno RDS Aurora PG, puedes iniciar los flujos de actividad de la base de datos.
Navega al Servicio de Base de Datos Relacional Administrado (RDS), selecciona Bases de datos, elige el clúster DB para el que deseas habilitar un flujo de actividad, y haz clic en Acciones -> Iniciar flujo de actividad de la base de datos:

Configura DAS de la siguiente manera:
- Clave maestra: tu clave KMS
- Modo del flujo de actividad de la base de datos: ya sea Asíncrono o Síncrono. Recomendamos utilizar el modo Síncrono porque favorece la precisión del flujo de actividad sobre el rendimiento de la base de datos. La diferencia entre estos dos modos puedes encontrarla aquí.
- Aplicar inmediatamente: especifica si deseas aplicar los cambios de inmediato o según un horario.

- Puedes acceder al flujo en la sección de Configuración de los ajustes de tu clúster (Flujo de actividad de la base de datos -> Flujo de Kinesis):
Leer más: AWS Aurora DB Activity Streams – Habilitación
Configuración de la auditoría basada en DAS en DataSunrise
Una vez iniciado DAS para tu clúster Aurora, puedes proceder a configurar DataSunrise para consumir los flujos de actividad de la base de datos.
Para permitir que DataSunrise funcione con DAS, tu usuario IAM necesita acceso a algunas funciones de Kinesis, KMS y RDS. Para otorgar los permisos requeridos, navega a Identity and Access Management (IAM) -> Usuarios y adjunta la siguiente política a tu usuario:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"Kinesis:DescribeStreamSummary",
"Kinesis:ListShards",
"Kinesis:GetShardIterator",
"Kinesis:GetRecords",
"Kinesis:DescribeStreamSummary",
"KMS:Decrypt",
"RDS:DescribeDBClusters"
],
"Resource": ["<ARN de tu flujo de Kinesis>", "<ARN de tu clave KMS>", "<ARN de tu RDS DB>"]
}
]
}
Crea una nueva instancia de base de datos Aurora PG o utiliza una existente. Abre la Consola Web de DataSunrise y navega a Configuración -> Bases de datos.
- Proporciona los detalles de conexión para tu base de datos Aurora PG. Especifica el endpoint de tu clúster Aurora PG en el campo Host;
- En la sección Modo de Captura de la página de la instancia, selecciona Trailing the DB Audit Logs desde la lista desplegable de Modo;
- En la lista desplegable de Tipo de Formato, selecciona Flujo de actividad de la base de datos;
- Completa todos los campos requeridos. Guarda la instancia.
Crea una Regla de auditoría de datos para tu instancia Aurora PG: navega a Auditoría -> Reglas y crea una regla
Para los resultados de auditoría, navega a Auditoría -> Trails Transaccionales. Ten en cuenta que los resultados podrían aparecer con un retraso de aproximadamente 5-10 minutos.
También puedes ajustar la auditoría basada en DAS de DataSunrise cambiando los siguientes parámetros (Ajustes del Sistema -> Parámetros Adicionales):
- TrailDASIntervalTime: período de tiempo para obtener una lista de eventos (por ejemplo, los últimos 5 minutos a partir del último registro);
- TrailDASOffsetTime: retraso en segundos para obtener eventos (requerido para la sincronización).