¿Cómo puedo crear tablas en Amazon Athena automáticamente para realizar búsquedas en registros de AWS CloudTrail?
Quiero realizar búsquedas en una gran recopilación de registros de AWS CloudTrail. Para evitar errores, no quiero crear tablas de Amazon Athena manualmente.
Solución
Utilice la consola de CloudTrail para crear las tablas de Athena automáticamente. Para obtener más información, consulte Búsqueda de registro de AWS CloudTrail con Amazon Athena.
Creación de la tabla de Athena
1. Abra la consola de CloudTrail y, a continuación, seleccione Registros de seguimiento en el panel de navegación. Anote el nombre en Bucket de S3.
2. En el panel de navegación, seleccione Historial de eventos y, a continuación, Crear tabla de Athena.
3. En la ventana Crear una tabla en Amazon Athena, abra el menú Ubicación de almacenamiento y, a continuación, elija el bucket de Amazon Simple Storage Service (Amazon S3) con los archivos de registro de CloudTrail.
Nota: Puede mejorar el rendimiento de las búsquedas durante períodos de tiempo específicos en una sola región de AWS mediante la proyección de particiones para registros de CloudTrail con Athena.
4. Elija Crear tabla.
5. Elija Ir a Athena.
Nota: Es posible que se muestre el error «Your account does not have sufficient permissions to create tables in Amazon Athena». Si es así, asocie la política administrada AmazonAthenaFullAccess según las instrucciones que se indican en Adición de permisos de identidad de IAM (consola).
Puede utilizar una o varias de las siguientes consultas de ejemplo para sus registros. Sustituya your_athena_tablename por el nombre de su tabla de Athena, y access_key_id por la clave de acceso de 20 caracteres. La clave de acceso suele empezar por los caracteres AKIA o ASIA.
Ejecución de la consulta de Athena
1. Abra la consola de Athena, elija Nueva consulta y, a continuación, seleccione el cuadro de diálogo para borrar la consulta de ejemplo.
2. Introduzca la consulta y, a continuación, elija Ejecutar consulta.
Visualización de toda la actividad de la API de AWS registrada para una clave de acceso específica
SELECT eventTime, eventName, userIdentity.principalId FROM your_athena_tablename WHERE userIdentity.accessKeyId like 'access_key_id'
Identificación de cualquier cambio en el grupo de seguridad para su instancia de EC2
SELECT eventname, useridentity.username, sourceIPAddress, eventtime, requestparameters FROM your_athena_tablename WHERE (requestparameters like '%sg-5887f224%' or requestparameters like '%sg-e214609e%' or requestparameters like '%eni-6c5ca5a8%') and eventtime > '2017-02-15T00:00:00Z' order by eventtime asc;
Visualización de los inicios de sesión en la consola en las últimas 24 horas
SELECT useridentity.username, sourceipaddress, eventtime, additionaleventdata FROM your_athena_tablename WHERE eventname = 'ConsoleLogin' and eventtime >= '2017-02-17T00:00:00Z' and eventtime < '2017-02-18T00:00:00Z';
Visualización de los intentos fallidos de inicio de sesión en la consola en las últimas 24 horas
SELECT useridentity.username, sourceipaddress, eventtime, additionaleventdata FROM your_athena_tablename WHERE eventname = 'ConsoleLogin' and useridentity.username = 'HIDDEN_DUE_TO_SECURITY_REASONS' and eventtime >= '2017-02-17T00:00:00Z' and eventtime < '2017-02-18T00:00:00Z';
Identificación de los aumentos de los costes mensuales de CloudTrail
SELECT eventName,count(eventName) AS NumberOfChanges,eventSource FROM your_athena_tablename WHERE eventtime >= '2019-01-01T00:00:00Z'and eventtime < '2019-01-31T00:00:00Z' GROUP BY eventName, eventSource ORDER BY NumberOfChanges DESC
Nota: Los valores eventtime definidos se limitan a un único mes. Para obtener los resultados de varios meses, ejecute consultas adicionales.
Identificación de los permisos de IAM que faltan
SELECT count (*) as TotalEvents, useridentity.arn, eventsource, eventname, errorCode, errorMessage FROM your_athena_tablename WHERE (errorcode like '%Denied%' or errorcode like '%Unauthorized%') AND eventtime >= '2019-10-28T00:00:00Z' AND eventtime < '2019-10-29T00:00:00Z' GROUP by eventsource, eventname, errorCode, errorMessage, useridentity.arn ORDER by eventsource, eventname
Si los resultados no muestran la llamada a la API fallida, amplíe el intervalo de consultas como sigue:
SELECT count (*) as TotalEvents, useridentity.arn, eventsource, eventname, errorCode, errorMessage FROM your_athena_tablename WHERE errorcode <> '' AND eventtime >= '2019-10-28T00:00:00Z' AND eventtime < '2019-10-29T00:00:00Z' GROUP by eventsource, eventname, errorCode, errorMessage, useridentity.arn ORDER by eventsource, eventname
Información relacionada
Vídeos relacionados
Contenido relevante
- OFICIAL DE AWSActualizada hace 10 meses
- OFICIAL DE AWSActualizada hace 4 años
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 2 años