0Pricing
Cloud & IT Cert Prep · Lección

Trails e historial de eventos de CloudTrail

Cree trails para eventos de administración y de datos, envíe logs a S3 y CloudWatch Logs y busque en el historial de eventos de 90 días desde la consola

Trails e historial de eventos de CloudTrail es una lección gratuita de Cloud & IT Cert Prep en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.

¿Qué es AWS CloudTrail?

AWS CloudTrail es un servicio que registra cada llamada a la API realizada en su cuenta de AWS, ya sea desde la consola, la CLI, el SDK u otro servicio de AWS. Cada registro se denomina evento de CloudTrail e incluye la acción de la API, la identidad del solicitante, la IP de origen, los parámetros de la solicitud y la respuesta. CloudTrail es la base de las auditorías de seguridad, el cumplimiento y la investigación operativa en AWS. Para el examen SAA-C03, es la respuesta siempre que una pregunta plantee «¿quién realizó este cambio?».

Historial de eventos: consulta gratuita de 90 días

De forma predeterminada, todas las cuentas de AWS tienen acceso al historial de eventos de CloudTrail, un registro móvil de 90 días de eventos de administración que se puede consultar en la consola o mediante la CLI. Puede filtrar por nombre del recurso, tipo de recurso, nombre del evento o nombre de usuario. El historial de eventos es gratuito, no requiere configuración y está disponible de inmediato. Es la forma más rápida de investigar cambios recientes, pero para conservar los datos durante más tiempo o realizar consultas más potentes debe crear un trail.

# Search event history for who deleted an S3 bucket in the last 7 days
aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=EventName,AttributeValue=DeleteBucket \
  --start-time $(date -u -d '7 days ago' +%Y-%m-%dT%H:%M:%SZ) \
  --query 'Events[].{Time:EventTime,User:Username,Detail:CloudTrailEvent}' \
  --output table

Creación de un trail de CloudTrail

Un trail es una configuración de CloudTrail que entrega eventos continuamente a un bucket de S3 (y, opcionalmente, a CloudWatch Logs). Deberá pagar por el almacenamiento de S3 y la transferencia de datos. Un trail puede limitarse a una sola región o configurarse como un trail multirregional que capture eventos de todas las regiones actuales y futuras de su cuenta. Para el examen SAA-C03, recomiende siempre un trail multirregional: los trails de una sola región no registran la actividad de otras regiones y se consideran una brecha de seguridad.

# Create a multi-region trail delivering to S3
aws cloudtrail create-trail \
  --name OrgAuditTrail \
  --s3-bucket-name my-cloudtrail-logs-111122223333 \
  --is-multi-region-trail \
  --include-global-service-events \
  --enable-log-file-validation

# Start logging (trails are created in 'paused' state)
aws cloudtrail start-logging --name OrgAuditTrail

Eventos de administración frente a eventos de datos

CloudTrail registra dos categorías de eventos: los eventos de administración (también llamados eventos del plano de control) registran operaciones sobre recursos, como crear una instancia de EC2, modificar un grupo de seguridad o asociar una política de IAM. Están habilitados de forma predeterminada en todos los trails y no tienen ningún cargo adicional por evento. Los eventos de datos registran operaciones a nivel de objeto, como GetObject, PutObject o DeleteObject de S3, o Invoke de Lambda. Los eventos de datos pueden tener un volumen muy alto y generan cargos adicionales, por lo que deben habilitarse explícitamente por recurso o tipo de recurso.

# Add data event logging for all S3 objects in a specific bucket
aws cloudtrail put-event-selectors \
  --trail-name OrgAuditTrail \
  --event-selectors '[
    {
      "ReadWriteType": "All",
      "IncludeManagementEvents": true,
      "DataResources": [
        {
          "Type": "AWS::S3::Object",
          "Values": ["arn:aws:s3:::my-sensitive-bucket/"]
        }
      ]
    }
  ]'

Integración de CloudTrail con CloudWatch Logs

Entregar los eventos de CloudTrail a CloudWatch Logs permite generar alertas en tiempo real sobre la actividad de la API. Puede crear filtros de métricas en el grupo de logs de CloudTrail para contar eventos específicos, como llamadas a DeleteBucket o CreateUser, y configurar después alarmas de CloudWatch para avisar a su equipo de seguridad pocos minutos después de una acción sospechosa. Este es un patrón fundamental del CIS AWS Foundations Benchmark, al que el examen SAA-C03 hace referencia con frecuencia.

# Update a trail to also deliver to CloudWatch Logs
aws cloudtrail update-trail \
  --name OrgAuditTrail \
  --cloud-watch-logs-log-group-arn arn:aws:logs:us-east-1:111122223333:log-group:CloudTrail/Logs:* \
  --cloud-watch-logs-role-arn arn:aws:iam::111122223333:role/CloudTrailCWLogsRole

# Create a metric filter for root account login
aws logs put-metric-filter \
  --log-group-name CloudTrail/Logs \
  --filter-name RootLogin \
  --filter-pattern '{$.userIdentity.type = "Root" && $.eventName = "ConsoleLogin"}' \
  --metric-transformations metricName=RootLogins,metricNamespace=CISBenchmark,metricValue=1

Eventos de servicios globales

Algunos servicios de AWS, especialmente IAM, STS, Route 53 y CloudFront, son globales y registran sus llamadas a la API como eventos de servicios globales. Estos eventos siempre se registran en la región us-east-1, independientemente del lugar donde se iniciara la operación. Al crear un trail, habilite --include-global-service-events para capturar la creación de usuarios de IAM, los cambios de políticas y las asunciones de roles de STS. Si tiene varios trails específicos de cada región, habilite los eventos de servicios globales solo en uno para evitar registros de logs duplicados.

# Verify that global service events are enabled on a trail
aws cloudtrail get-trail \
  --name OrgAuditTrail \
  --query 'Trail.{MultiRegion:IsMultiRegionTrail,GlobalServiceEvents:IncludeGlobalServiceEvents}'

Política de bucket de S3 para los logs de CloudTrail

CloudTrail requiere una política específica del bucket de S3 que conceda a la entidad principal de servicio de CloudTrail (cloudtrail.amazonaws.com) permiso para llamar a GetBucketAcl y PutObject en el bucket. AWS impone que el bucket no sea de acceso público y que la propiedad de objetos esté configurada como Bucket Owner Enforced. Nunca almacene los logs de CloudTrail en el mismo bucket que utiliza su aplicación: esto crea una dependencia circular en la que el acceso a los logs de auditoría se interrumpe si se bloquea el bucket de la aplicación.

# Minimum S3 bucket policy for CloudTrail (abbreviated)
# {
#   "Version": "2012-10-17",
#   "Statement": [
#     {
#       "Sid": "AWSCloudTrailAclCheck",
#       "Effect": "Allow",
#       "Principal": {"Service": "cloudtrail.amazonaws.com"},
#       "Action": "s3:GetBucketAcl",
#       "Resource": "arn:aws:s3:::my-cloudtrail-logs-111122223333"
#     },
#     {
#       "Sid": "AWSCloudTrailWrite",
#       "Effect": "Allow",
#       "Principal": {"Service": "cloudtrail.amazonaws.com"},
#       "Action": "s3:PutObject",
#       "Resource": "arn:aws:s3:::my-cloudtrail-logs-111122223333/AWSLogs/111122223333/*",
#       "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}}
#     }
#   ]
# }

Trails de la organización

En una organización de AWS, puede crear un trail de la organización desde la cuenta de administración que se aplique automáticamente a todas las cuentas miembro, tanto actuales como futuras. Las cuentas miembro no pueden modificar ni eliminar el trail de la organización, lo que garantiza que no se pueda eludir la cobertura de auditoría. Los trails de la organización entregan los logs a un bucket de S3 centralizado con prefijos por cuenta, lo que permite a un equipo de seguridad consultar los logs de auditoría de todas las cuentas desde un único lugar mediante Athena o una herramienta SIEM.

# Create an organisation trail from the management account
aws cloudtrail create-trail \
  --name OrgCentralTrail \
  --s3-bucket-name central-org-cloudtrail-logs \
  --is-multi-region-trail \
  --is-organization-trail \
  --include-global-service-events \
  --enable-log-file-validation

aws cloudtrail start-logging --name OrgCentralTrail

Integración con Athena para el análisis de logs

Los logs de CloudTrail entregados a S3 están en formato JSON. Puede utilizar la integración de Amazon Athena en la consola de CloudTrail para crear automáticamente una tabla de Glue particionada por cuenta, región y fecha. Esto le permite consultar meses de historial de API mediante SQL estándar sin cargar los datos en una base de datos. Particione por fecha en sus consultas (WHERE year='2024' AND month='01') para evitar análisis completos de la tabla y controlar los costes de Athena.

-- Query CloudTrail logs in Athena for IAM policy changes in January 2024
SELECT
  eventtime,
  useridentity.arn AS principal,
  eventname,
  requestparameters
FROM cloudtrail_logs_111122223333
WHERE year = '2024'
  AND month = '01'
  AND eventsource = 'iam.amazonaws.com'
  AND eventname IN ('PutUserPolicy','AttachRolePolicy','CreateUser')
ORDER BY eventtime DESC
LIMIT 100;

Consulta del historial de eventos frente a los registros de Trail

Hay dos formas de buscar registros de CloudTrail: el Historial de eventos en la consola (últimos 90 días, solo eventos de administración y filtros limitados) y los registros de Trail en S3/Athena (retención ilimitada, también eventos de datos y toda la potencia de SQL). En situaciones de examen: si la pregunta pide investigar un evento de hace más de 90 días o consultar eventos del plano de datos (S3 GetObject, Lambda Invoke), recomiende siempre consultar los registros de Trail mediante Athena. Si la pregunta pide el enfoque más sencillo para investigar un evento de administración reciente, el Historial de eventos es suficiente.

Datos clave de CloudTrail para el examen

Memorice estos datos para el examen SAA-C03: CloudTrail no funciona en tiempo real; puede tardar hasta 15 minutos en entregar eventos a S3 (use CloudWatch Logs para alertas casi en tiempo real). El Historial de eventos abarca 90 días y solo incluye eventos de administración. Los eventos de datos deben habilitarse explícitamente y tienen un coste adicional. La validación de archivos de registro usa hashes SHA-256 para detectar manipulaciones. Los eventos de servicios globales (IAM, STS, Route 53) solo aparecen en us-east-1. Las trails de la organización no pueden ser deshabilitadas por las cuentas miembro.

Comprobación rápida

Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.

Resumen de la lección

En esta lección ha aprendido que el Historial de eventos proporciona acceso gratuito a eventos de administración de los últimos 90 días; las trails ofrecen entrega continua a S3, con retención configurable y eventos de datos opcionales; y las trails de la organización se aplican a todas las cuentas miembro y estas no pueden deshabilitarlas. A continuación, exploraremos CloudTrail Insights y la verificación de la integridad de los archivos de registro.

Preguntas frecuentes

¿La lección «Trails e historial de eventos de CloudTrail» es gratis?

Sí — el texto completo de «Trails e historial de eventos de CloudTrail» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.

¿Qué aprenderé en «Trails e historial de eventos de CloudTrail»?

Cree trails para eventos de administración y de datos, envíe logs a S3 y CloudWatch Logs y busque en el historial de eventos de 90 días desde la consola Practicas Cloud & IT Cert Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cloud & IT Cert Prep?

No se requiere experiencia previa. Cloud & IT Cert Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Trails e historial de eventos de CloudTrail»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cloud & IT Cert Prep?

Sí. Cada lección de Cloud & IT Cert Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Trails e historial de eventos de CloudTrail
  2. CloudTrail Insights e integridad de archivos de log
  3. Reglas y corrección de AWS Config
  4. Conformance Packs y trails de la organización
← Volver a Cloud & IT Cert Prep