Pistes CloudTrail et historique des événements
Créez des pistes pour les événements de gestion et de données, transmettez les journaux à S3 et CloudWatch Logs, puis recherchez les événements des 90 derniers jours dans la console.
Pistes CloudTrail et historique des événements est une leçon Cloud & IT Cert Prep gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cloud & IT Cert Prep, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.
Qu’est-ce qu’AWS CloudTrail ?
AWS CloudTrail est un service qui enregistre chaque appel d’API effectué dans votre compte AWS, qu’il provienne de la console, de la CLI, du SDK ou d’un autre service AWS. Chaque enregistrement est appelé un événement CloudTrail et contient l’action d’API, l’identité du demandeur, l’adresse IP source, les paramètres de la demande et la réponse. CloudTrail constitue le fondement de l’audit de sécurité, de la conformité et des investigations opérationnelles dans AWS. Pour l’examen SAA-C03, c’est la réponse à retenir lorsqu’une question demande « qui a effectué cette modification ? ».
Historique des événements : consultation gratuite sur 90 jours
Par défaut, chaque compte AWS a accès à l’historique des événements CloudTrail : un enregistrement glissant de 90 jours, consultable dans la console ou interrogeable via la CLI. Vous pouvez filtrer par nom de ressource, type de ressource, nom d’événement ou nom d’utilisateur. L’historique des événements est gratuit, ne nécessite aucune configuration et est disponible immédiatement. Il s’agit du moyen le plus rapide d’enquêter sur les modifications récentes, mais pour une conservation plus longue ou des requêtes plus puissantes, vous devez créer 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 tableCréer un Trail CloudTrail
Un Trail est une configuration CloudTrail qui transmet continuellement les événements vers un compartiment S3 (et éventuellement vers CloudWatch Logs). Vous payez le stockage S3 et le transfert de données. Un Trail peut être limité à une seule Région ou configuré comme un Trail multi-Régions qui capture les événements de toutes les Régions actuelles et futures de votre compte. Pour l’examen SAA-C03, recommandez toujours un Trail multi-Régions : les Trails limités à une seule Région ne détectent pas l’activité des autres Régions et constituent une faille de sécurité.
# 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Événements de gestion et événements de données
CloudTrail enregistre deux catégories d’événements : les événements de gestion (également appelés événements du plan de contrôle) enregistrent les opérations effectuées sur les ressources : création d’une instance EC2, modification d’un groupe de sécurité ou association d’une politique IAM. Ils sont activés par défaut dans chaque Trail, sans frais supplémentaires par événement. Les événements de données enregistrent les opérations au niveau des objets : GetObject, PutObject ou DeleteObject S3, ou Invoke Lambda. Les événements de données peuvent être très nombreux et entraîner des frais supplémentaires ; ils doivent donc être explicitement activés pour chaque ressource ou type de ressource.
# 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/"]
}
]
}
]'Intégration de CloudTrail avec CloudWatch Logs
La transmission des événements CloudTrail vers CloudWatch Logs permet de déclencher des alertes en temps réel sur l’activité des API. Vous pouvez créer des filtres de métriques sur le groupe de journaux CloudTrail afin de compter certains événements, par exemple les appels DeleteBucket ou CreateUser, puis définir des alarmes CloudWatch pour prévenir votre équipe de sécurité dans les minutes qui suivent une action suspecte. Il s’agit d’un modèle essentiel du CIS AWS Foundations Benchmark, fréquemment mentionné dans l’examen SAA-C03.
# 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Événements des services globaux
Certains services AWS, notamment IAM, STS, Route 53 et CloudFront, sont globaux et enregistrent leurs appels d’API en tant qu’événements de services globaux. Ces événements sont toujours enregistrés dans la Région us-east-1, quel que soit l’endroit où l’opération a été lancée. Lors de la création d’un Trail, activez --include-global-service-events afin que la création d’utilisateurs IAM, les modifications de politiques et les demandes de rôles STS soient capturées. Si vous disposez de plusieurs Trails spécifiques à des Régions, n’activez les événements de services globaux que dans un seul d’entre eux afin d’éviter les doublons dans les journaux.
# Verify that global service events are enabled on a trail
aws cloudtrail get-trail \
--name OrgAuditTrail \
--query 'Trail.{MultiRegion:IsMultiRegionTrail,GlobalServiceEvents:IncludeGlobalServiceEvents}'Politique de compartiment S3 pour les journaux CloudTrail
CloudTrail nécessite une politique de compartiment S3 spécifique qui autorise le principal de service CloudTrail (cloudtrail.amazonaws.com) à appeler GetBucketAcl et PutObject sur le compartiment. AWS impose que le compartiment ne soit pas accessible publiquement et que la propriété des objets soit définie sur Bucket Owner Enforced. Ne stockez jamais les journaux CloudTrail dans le même compartiment que celui utilisé par votre application : cela crée une dépendance circulaire, car l’accès aux journaux d’audit serait interrompu si le compartiment de l’application était verrouillé.
# 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 d’organisation
Dans une organisation AWS, vous pouvez créer un Trail d’organisation depuis le compte de gestion, qui s’applique automatiquement à tous les comptes membres, actuels et futurs. Les comptes membres ne peuvent ni modifier ni supprimer le Trail d’organisation, ce qui garantit qu’il est impossible de contourner la couverture d’audit. Les Trails d’organisation transmettent les journaux vers un compartiment S3 centralisé avec des préfixes propres à chaque compte, ce qui permet à une équipe de sécurité d’interroger les journaux d’audit de tous les comptes au même endroit à l’aide d’Athena ou d’un outil 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 OrgCentralTrailIntégration d’Athena pour l’analyse des journaux
Les journaux CloudTrail transmis vers S3 sont au format JSON. Vous pouvez utiliser l’intégration Amazon Athena dans la console CloudTrail pour créer automatiquement une table Glue partitionnée par compte, Région et date. Vous pouvez ainsi interroger plusieurs mois d’historique des API au moyen du langage SQL standard, sans charger les données dans une base de données. Dans vos requêtes, partitionnez par date (WHERE year='2024' AND month='01') afin d’éviter les analyses complètes de la table et de maîtriser les coûts 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;Interroger l’historique des événements ou les journaux de suivi
Il existe deux façons de rechercher des enregistrements CloudTrail : l’historique des événements dans la console (90 derniers jours, événements de gestion uniquement, filtres limités) et les journaux de suivi dans S3/Athena (conservation illimitée, événements de données également, pleine puissance de SQL). Pour les questions d’examen : si la question demande d’enquêter sur un événement datant de plus de 90 jours ou d’interroger des événements du plan de données (S3 GetObject, Lambda Invoke), recommandez toujours d’interroger les journaux de suivi avec Athena. Si la question demande l’approche la plus simple pour enquêter sur un événement de gestion récent, l’historique des événements suffit.
Faits essentiels sur CloudTrail pour l’examen
Mémorisez ces points pour l’examen SAA-C03 : CloudTrail n’est pas en temps réel : la remise des événements dans S3 peut prendre jusqu’à 15 minutes (utilisez les journaux CloudWatch pour des alertes quasi en temps réel). L’historique des événements couvre 90 jours et les événements de gestion uniquement. Les événements de données doivent être explicitement activés et entraînent des frais supplémentaires. La validation des fichiers journaux utilise des hachages SHA-256 pour détecter toute falsification. Les événements des services globaux (IAM, STS, Route 53) apparaissent uniquement dans us-east-1. Les journaux de suivi d’organisation ne peuvent pas être désactivés par les comptes membres.
Vérification rapide
Testez votre compréhension des concepts AWS Solutions Architect (SAA-C03) abordés dans cette leçon.
Récapitulatif de la leçon
Dans cette leçon, vous avez appris que : l’historique des événements offre gratuitement un accès aux événements de gestion des 90 derniers jours, les journaux de suivi assurent une remise continue vers S3 avec une durée de conservation configurable et des événements de données facultatifs, et les journaux de suivi d’organisation s’appliquent à tous les comptes membres et ne peuvent pas être désactivés par ceux-ci. Nous allons maintenant découvrir CloudTrail Insights et la vérification de l’intégrité des fichiers journaux.
Questions Fréquemment Posées
La leçon « Pistes CloudTrail et historique des événements » est-elle gratuite ?
Oui — le texte complet de « Pistes CloudTrail et historique des événements » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cloud & IT Cert Prep, passe à CoddyKit PRO. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Pistes CloudTrail et historique des événements » ?
Créez des pistes pour les événements de gestion et de données, transmettez les journaux à S3 et CloudWatch Logs, puis recherchez les événements des 90 derniers jours dans la console. Tu pratiques Cloud & IT Cert Prep avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cloud & IT Cert Prep ?
Aucune expérience préalable n'est requise. Cloud & IT Cert Prep sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Pistes CloudTrail et historique des événements » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cloud & IT Cert Prep ?
Oui. Chaque leçon Cloud & IT Cert Prep inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Pistes CloudTrail et historique des événements
- CloudTrail Insights et intégrité des fichiers journaux
- Règles AWS Config et remédiation
- Packs de conformité et pistes d’organisation