Quiero auditar la base de datos de mi clúster de Amazon Redshift.
Descripción breve
Amazon Redshift ofrece tres opciones de registro:
Los registros de auditoría y las tablas STL/SYS registran las actividades a nivel de base de datos, como los usuarios que han iniciado sesión y cuándo lo han hecho. Las tablas también registran las actividades de SQL que realizaron los usuarios y cuándo las realizaron. CloudTrail rastrea la actividad de los usuarios a nivel de servicio.
Nota: Para ver los registros mediante tablas externas, utilice Amazon Redshift Spectrum. Para obtener más información, consulte Analizar los registros de auditoría de bases de datos para garantizar la seguridad y el cumplimiento mediante Amazon Redshift Spectrum.
Resolución
Registro de auditoría y tablas STL/SYS
La siguiente tabla compara el registro de auditoría y las tablas STL/SYS. Elija la opción de registro adecuada para su caso de uso.
| |
---|
Registro de auditoría | Tablas STL/SYS |
Utilice la consola de Amazon Redshift para activar el registro de auditoría o la interfaz de línea de comandos de AWS (CLI de AWS) y la API de Amazon Redshift. | Las tablas de STL/SYS están disponibles automáticamente en todos los nodos del clúster de almacenamiento de datos. |
Los archivos de registro de auditoría se almacenan indefinidamente, a menos que defina las reglas del ciclo de vida de Amazon S3 para archivar o eliminar archivos automáticamente. Para obtener más información, consulte Administrar el ciclo de vida del almacenamiento. | El historial de registros se almacena durante dos a cinco días, según el uso del registro y el espacio en disco disponible. Para ampliar el período de retención, utilice la Utilidad de persistencia de objetos del sistema Amazon Redshift en el sitio web de GitHub. |
El acceso a los archivos de registro de auditoría no requiere acceso a la base de datos de Amazon Redshift. | El acceso a las tablas STL/SYS requiere acceso a la base de datos de Amazon Redshift. |
Los recursos informáticos de la base de datos no son necesarios para revisar los registros almacenados en Amazon S3. | Al igual que cuando se ejecutan otras consultas, los recursos informáticos de la base de datos son necesarios para ejecutar consultas en tablas STL/SYS. |
Mediante las marcas de tiempo, puede correlacionar los ID de los procesos con las actividades de la base de datos. Los reinicios de clústeres no afectan a los registros de auditoría de Amazon S3. | No siempre es posible correlacionar los ID de proceso con las actividades de la base de datos, ya que los ID de proceso pueden reciclarse cuando se reinicia el clúster. |
Los registros de auditoría almacenan información en los siguientes archivos de registro: Connection log, User log y User activity log. Nota: Debe habilitar el parámetro de la base de datos enable_user_activity_logging para el registro de actividad del usuario. Para obtener más información, consulte Activar el registro. | Puede usar SVL_STATEMENTTEXT, STL_CONNECTION_LOG y SYS_CONNECTION_LOG para ver información detallada. |
El registro de auditoría registra todas las sentencias SQL de los registros de actividad del usuario. | Las consultas que ejecuta se registran en STL_QUERY. Las sentencias DDL se registran en STL_DDLTEXT. El texto de los comandos SQL que no son de SELECT SQL se registran en STL_UTILITYTEXT. En Amazon Redshift Serverless, utilice SYS_QUERY_HISTORY y SYS_QUERY_DETAIL para comprobar todos los comandos SQL. |
Las sentencias se registran en cuanto Amazon Redshift las recibe. Los archivos de Amazon S3 se actualizan por lotes y pueden tardar unas horas en aparecer. | Los registros se generan después de ejecutar cada sentencia SQL. |
El registro de auditoría registra quién realizó qué acción y cuándo ocurrió esa acción, pero no cuánto tiempo tardó en realizarse la acción. | Use las columnas STARTTIME y ENDTIME para determinar cuánto tiempo tardó en completarse una actividad. Para determinar qué usuario realizó una acción, combine SVL_STATEMENTTEXT (userid) con PG_USER (usesysid) en los clústeres aprovisionados. Utilice SYS_QUERY_HISTORY y SYS_QUERY_DETAIL para determinar cuánto tiempo tardó en completarse una actividad en Amazon Redshift Serverless. |
Se le cobra por el almacenamiento que utilizan sus registros en Amazon S3. | No hay cargos adicionales por el almacenamiento en tablas STL/SYS. |
Se registran las consultas que se ejecutan solo en el nodo principal. | Las consultas que se ejecutan solo en el nodo principal no se registran. |
CloudTrail
Con la información recopilada en CloudTrail, puede determinar qué solicitudes se realizaron correctamente a los servicios de AWS, quién las hizo y cuándo se realizó la solicitud. Para obtener más información, consulte Registro de llamadas a la API de Amazon Redshift con AWS CloudTrail.
Los archivos de registro de CloudTrail se almacenan indefinidamente en Amazon S3, a menos que defina reglas de ciclo de vida para archivar o eliminar archivos automáticamente. Para obtener más información, consulte Administración del ciclo de vida del almacenamiento.
Información relacionada
Ajuste del rendimiento de las consultas