¿Cómo utilizo los registros para realizar un seguimiento de la actividad en mi clúster de bases de datos de Amazon Redshift?
Quiero auditar la base de datos de mi clúster de Amazon Redshift.
Descripción breve
Amazon Redshift ofrece tres opciones de registro:
- Registro de auditoría: Almacenado en buckets de Amazon Simple Storage Service (Amazon S3)
- Tablas STL/SYS: Se almacenan en todos los nodos del clúster
- AWS CloudTrail: Almacenado en buckets de Amazon S3
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
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 9 meses