CloudTrail-Trails und Ereignisverlauf
Erstellen Sie Trails für Management- und Datenereignisse, liefern Sie Logs an S3 und CloudWatch Logs und durchsuchen Sie den 90-tägigen Ereignisverlauf in der Konsole.
CloudTrail-Trails und Ereignisverlauf ist eine kostenlose AWS Solutions Architect-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AWS Solutions Architect-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AWS Solutions Architect-Kurs umfasst insgesamt 4 Lektionen.
Was ist AWS CloudTrail?
AWS CloudTrail ist ein Service, der jeden API-Aufruf in Ihrem AWS-Konto aufzeichnet – unabhängig davon, ob er über die Konsole, die CLI, das SDK oder einen anderen AWS-Service erfolgt. Jeder Datensatz wird als CloudTrail-Ereignis bezeichnet und enthält die API-Aktion, die Identität des Anforderers, die Quell-IP-Adresse, die Anfrageparameter und die Antwort. CloudTrail bildet die Grundlage für Sicherheitsüberwachung, Compliance und betriebliche Untersuchungen in AWS. Für die SAA-C03-Prüfung ist CloudTrail die richtige Antwort, wenn gefragt wird: „Wer hat diese Änderung vorgenommen?“
Ereignisverlauf: kostenloser Rückblick über 90 Tage
Standardmäßig hat jedes AWS-Konto Zugriff auf den CloudTrail-Ereignisverlauf – eine fortlaufende Aufzeichnung von Verwaltungsereignissen über 90 Tage, die in der Konsole angezeigt oder über die CLI abgefragt werden kann. Sie können nach Ressourcenname, Ressourcentyp, Ereignisname oder Benutzername filtern. Der Ereignisverlauf ist kostenlos, erfordert keine Konfiguration und steht sofort zur Verfügung. Er ist der schnellste Weg, kürzlich vorgenommene Änderungen zu untersuchen. Für eine längere Aufbewahrung oder leistungsfähigere Abfragen müssen Sie jedoch einen Trail erstellen.
# 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 tableErstellen eines CloudTrail Trails
Ein Trail ist eine CloudTrail-Konfiguration, die Ereignisse kontinuierlich an einen S3-Bucket (und optional an CloudWatch Logs) übermittelt. Sie zahlen für S3-Speicher und Datenübertragung. Ein Trail kann auf eine einzelne Region begrenzt oder als regionsübergreifender Trail konfiguriert werden, der Ereignisse aus jeder aktuellen und zukünftigen Region Ihres Kontos erfasst. Für die SAA-C03-Prüfung sollten Sie immer einen regionsübergreifenden Trail empfehlen – Trails für einzelne Regionen erfassen Aktivitäten in anderen Regionen nicht und gelten als Sicherheitslücke.
# 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 OrgAuditTrailVerwaltungsereignisse im Vergleich zu Datenereignissen
CloudTrail zeichnet zwei Ereigniskategorien auf: Verwaltungsereignisse (auch als Control-Plane-Ereignisse bezeichnet) erfassen Vorgänge an Ressourcen – etwa das Erstellen einer EC2-Instance, das Ändern einer Sicherheitsgruppe oder das Verknüpfen einer IAM-Richtlinie. Sie sind standardmäßig in jedem Trail aktiviert und verursachen keine zusätzlichen Gebühren pro Ereignis. Datenereignisse erfassen Vorgänge auf Objektebene – etwa S3 GetObject, PutObject, DeleteObject oder Lambda Invoke. Datenereignisse können ein sehr hohes Volumen erreichen und zusätzliche Gebühren verursachen. Daher müssen sie explizit pro Ressource oder Ressourcentyp aktiviert werden.
# 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/"]
}
]
}
]'Integration von CloudTrail und CloudWatch Logs
Durch die Übermittlung von CloudTrail-Ereignissen an CloudWatch Logs können Sie Echtzeitalarme für API-Aktivitäten einrichten. Sie können in der CloudTrail-Log-Gruppe Metrikfilter erstellen, um bestimmte Ereignisse zu zählen – beispielsweise Aufrufe von DeleteBucket oder CreateUser – und anschließend CloudWatch-Alarme konfigurieren, die Ihr Sicherheitsteam innerhalb weniger Minuten nach einer verdächtigen Aktion benachrichtigen. Dies ist ein zentrales Muster des CIS AWS Foundations Benchmark, auf den in der SAA-C03-Prüfung häufig verwiesen wird.
# 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=1Ereignisse globaler Services
Einige AWS-Services – insbesondere IAM, STS, Route 53 und CloudFront – sind global und protokollieren ihre API-Aufrufe als Ereignisse globaler Services. Diese Ereignisse werden unabhängig davon, wo der Vorgang initiiert wurde, immer in der Region us-east-1 aufgezeichnet. Aktivieren Sie beim Erstellen eines Trails --include-global-service-events, damit die Erstellung von IAM-Benutzern, Richtlinienänderungen und STS-Rollenübernahmen erfasst werden. Wenn Sie mehrere regionsspezifische Trails haben, aktivieren Sie globale Serviceereignisse nur in einem davon, um doppelte Logeinträge zu vermeiden.
# Verify that global service events are enabled on a trail
aws cloudtrail get-trail \
--name OrgAuditTrail \
--query 'Trail.{MultiRegion:IsMultiRegionTrail,GlobalServiceEvents:IncludeGlobalServiceEvents}'S3-Bucket-Richtlinie für CloudTrail-Logs
CloudTrail benötigt eine spezielle S3-Bucket-Richtlinie, die dem CloudTrail-Service Principal (cloudtrail.amazonaws.com) die Berechtigungen erteilt, GetBucketAcl und PutObject für den Bucket aufzurufen. AWS erzwingt, dass der Bucket nicht öffentlich zugänglich ist und die Objekteigentümerschaft auf „Bucket Owner Enforced“ gesetzt ist. Speichern Sie CloudTrail-Logs niemals im selben Bucket, den Ihre Anwendung verwendet – andernfalls entsteht eine zirkuläre Abhängigkeit, bei der der Zugriff auf Audit-Logs unterbrochen wird, wenn der Anwendungs-Bucket gesperrt wird.
# 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"}}
# }
# ]
# }Organisations-Trails
In einer AWS-Organisation können Sie über das Verwaltungskonto einen Organisations-Trail erstellen, der automatisch für alle Mitgliedskonten gilt – für bestehende und zukünftige. Mitgliedskonten können den Organisations-Trail weder ändern noch löschen. Dadurch wird sichergestellt, dass die Audit-Abdeckung nicht umgangen werden kann. Organisations-Trails übermitteln Logs an einen zentralen S3-Bucket mit kontoabhängigen Präfixen. So kann ein Sicherheitsteam die Audit-Logs aller Konten zentral mit Athena oder einem SIEM-Tool abfragen.
# 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 OrgCentralTrailAthena-Integration zur Loganalyse
In S3 übermittelte CloudTrail-Logs liegen im JSON-Format vor. Über die Amazon-Athena-Integration in der CloudTrail-Konsole können Sie automatisch eine Glue-Tabelle erstellen, die nach Konto, Region und Datum partitioniert ist. Dadurch können Sie Monate an API-Verlauf mit Standard-SQL abfragen, ohne die Daten in eine Datenbank zu laden. Nehmen Sie in Ihren Abfragen eine Partitionierung nach Datum vor (WHERE year='2024' AND month='01'), um vollständige Tabellenscans zu vermeiden und die Athena-Kosten zu kontrollieren.
-- 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;Ereignisverlauf vs. Trail-Protokolle abfragen
Es gibt zwei Möglichkeiten, CloudTrail-Datensätze zu durchsuchen: den Ereignisverlauf in der Konsole (die letzten 90 Tage, nur Verwaltungsereignisse, begrenzte Filter) und Trail-Protokolle in S3/Athena (unbegrenzte Aufbewahrung, auch Datenereignisse, vollständige SQL-Möglichkeiten). Für Prüfungsszenarien gilt: Wenn die Frage die Untersuchung eines Ereignisses betrifft, das älter als 90 Tage ist, oder Datenebenenereignisse abgefragt werden sollen (S3 GetObject, Lambda Invoke), empfehlen Sie immer, die Trail-Protokolle über Athena abzufragen. Wenn nach dem einfachsten Ansatz zur Untersuchung eines aktuellen Verwaltungsereignisses gefragt wird, ist der Ereignisverlauf ausreichend.
Wichtige CloudTrail-Fakten für die Prüfung
Prägen Sie sich diese Fakten für die SAA-C03-Prüfung ein: CloudTrail arbeitet nicht in Echtzeit – die Übermittlung von Ereignissen an S3 kann bis zu 15 Minuten dauern (für Benachrichtigungen nahezu in Echtzeit verwenden Sie CloudWatch Logs). Der Ereignisverlauf umfasst 90 Tage und gilt nur für Verwaltungsereignisse. Datenereignisse müssen ausdrücklich aktiviert werden und verursachen zusätzliche Kosten. Die Validierung von Protokolldateien verwendet SHA-256-Hashes, um Manipulationen zu erkennen. Globale Serviceereignisse (IAM, STS, Route 53) werden nur in us-east-1 angezeigt. Organisationstrails können von Mitgliedskonten nicht deaktiviert werden.
Schnelltest
Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.
Zusammenfassung der Lektion
In dieser Lektion haben Sie gelernt: Der Ereignisverlauf bietet kostenlosen Zugriff auf Verwaltungsereignisse der letzten 90 Tage, Trails ermöglichen die kontinuierliche Übermittlung an S3 mit konfigurierbarer Aufbewahrung und optionalen Datenereignissen, und Organisationstrails gelten für alle Mitgliedskonten und können von diesen nicht deaktiviert werden. Als Nächstes behandeln wir CloudTrail Insights und die Überprüfung der Integrität von Protokolldateien.
Häufig gestellte Fragen
Ist die Lektion „CloudTrail-Trails und Ereignisverlauf“ kostenlos?
Ja — der vollständige Text von „CloudTrail-Trails und Ereignisverlauf“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AWS Solutions Architect-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AWS Solutions Architect-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „CloudTrail-Trails und Ereignisverlauf“?
Erstellen Sie Trails für Management- und Datenereignisse, liefern Sie Logs an S3 und CloudWatch Logs und durchsuchen Sie den 90-tägigen Ereignisverlauf in der Konsole. Du übst AWS Solutions Architect mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AWS Solutions Architect zu starten?
Keine Vorkenntnisse erforderlich. AWS Solutions Architect auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „CloudTrail-Trails und Ereignisverlauf“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AWS Solutions Architect-Lektion Code schreiben und ausführen?
Ja. Jede AWS Solutions Architect-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- CloudTrail-Trails und Ereignisverlauf
- CloudTrail Insights und Integrität von Log-Dateien
- AWS-Config-Regeln und Behebung
- Conformance Packs und Organisation-Trails