Tabellen über CloudTrail-Daten erstellen
Definieren Sie ein Schema, mit dem Sie Audit-Ereignisse direkt abfragen können.
Tabellen über CloudTrail-Daten erstellen ist eine kostenlose AWS Security Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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 Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AWS Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum Sie eine Tabelle benötigen
Athena kann rohe S3-Dateien erst abfragen, wenn Sie festlegen, wie sie gelesen werden sollen. Eine Tabelle ordnet die CloudTrail-JSON-Dateien in Ihrem S3-Bucket benannten Spalten mit Datentypen zu. Sobald die Tabelle vorhanden ist, kann die umfangreiche Struktur von CloudTrail-Ereignissen mit gewöhnlichem SQL angesprochen werden.
Struktur von CloudTrail-Protokollen
CloudTrail stellt Ereignisse als JSON bereit. Jeder Datensatz beschreibt einen API-Aufruf mit verschachtelten Feldern wie userIdentity, eventName, sourceIPAddress und requestParameters. Das Tabellenschema muss diese Verschachtelung einschließlich struct-Typen für Objekte abbilden, damit Abfragen auf Felder wie userIdentity.arn zugreifen können.
Die von AWS bereitgestellte DDL verwenden
Sie müssen das Schema nicht von Hand schreiben. AWS veröffentlicht eine standardmäßige CREATE TABLE-Anweisung für CloudTrail, die Sie über die CloudTrail-Konsole und Athena generieren können. Durch die Verwendung der bereitgestellten DDL wird sichergestellt, dass jedes Feld, auch tief verschachtelte Felder, korrekt abgebildet wird und Ihre Abfragen keine Daten übersehen.
Die SerDe
Eine SerDe (Serializer/Deserializer) teilt Athena mit, wie die einzelnen Dateien zu analysieren sind. CloudTrail-Tabellen verwenden eine SerDe, die für das JSON-Layout von CloudTrail entwickelt wurde und das Array records sowie verschachtelte Strukturen versteht. Die richtige SerDe ist entscheidend: Eine falsche SerDe führt zu Analysefehlern oder NULL-Spalten.
ROW FORMAT SERDE
'com.amazon.emr.hive.serde.CloudTrailSerde'
STORED AS INPUTFORMAT
'com.amazon.emr.cloudtrail.CloudTrailInputFormat'Auf den S3-Speicherort verweisen
Die LOCATION-Klausel der Tabelle verweist auf das S3-Präfix, unter dem CloudTrail die Logs speichert – normalerweise auf einen Pfad, der die Konto-ID und die Region enthält. Das richtige Präfix ist wichtig: Ist es zu weit gefasst, scannen Sie irrelevante Daten; ist es zu eng gefasst, entgehen Ihnen Ereignisse, die Sie abfragen möchten.
Verschachtelte Felder abfragen
Nachdem die Tabelle erstellt wurde, fragen Sie verschachtelte Felder mit der Punktnotation ab, zum Beispiel userIdentity.arn oder requestParameters.bucketName. SQL-Funktionen helfen dabei, Arrays und JSON-Zeichenfolgen zu entpacken. Hier zeigt Athena seine Stärke bei Untersuchungen: Sie können den Ereignisnamen, den Principal und die Parameter jedes API-Aufrufs präzise filtern.
Glue-Crawler als Alternative
Statt die DDL manuell zu erstellen, kann ein AWS Glue crawler die S3-Daten durchsuchen und automatisch ein Schema im Data Catalog ableiten. Für bekannte Formate wie CloudTrail ist die bereitgestellte DDL in der Regel übersichtlicher. Crawler sind jedoch hilfreich bei benutzerdefinierten oder sich ändernden Logformaten, wenn Sie das Schema nicht von Hand schreiben möchten.
Besonderheiten von JSON behandeln
CloudTrail-JSON enthält Felder, die selbst JSON-Zeichenfolgen sind, etwa requestParameters, wenn die Werte je nach Service variieren. Oft analysieren Sie diese erst zum Abfragezeitpunkt mithilfe von JSON-Funktionen. Wenn Sie wissen, dass einige Spalten Zeichenfolgen sind, die erst analysiert werden müssen, und keine vorstrukturierten Spalten, vermeiden Sie Verwirrung, wenn sich ein Feld nicht wie eine gewöhnliche Spalte verhält.
Tabellen für Organisationstrails
Bei einem organization trail werden die Logs aller Konten in einem Bucket unter kontospezifischen Präfixen abgelegt. Sie können eine einzelne Tabelle über das gesamte Präfix erstellen und damit alle Konten gleichzeitig abfragen oder für jedes Konto separate Tabellen zur Isolierung anlegen. Eine einheitliche Tabelle ist leistungsstark für die organisationsweite Bedrohungssuche mit einer einzigen Abfrage.
Die Tabelle überprüfen
Führen Sie nach dem Erstellen der Tabelle eine kurze SELECT-Abfrage mit einem kleinen LIMIT aus, um zu bestätigen, dass Zeilen zurückgegeben werden und die Spalten wie erwartet befüllt sind. Sind Spalten NULL, stimmen die SerDe, der Speicherort oder das Schema wahrscheinlich nicht. Diese Plausibilitätsprüfung bewahrt Sie davor, Untersuchungen auf einer unbemerkt fehlerhaften Tabelle aufzubauen.
Von der Tabelle zur Untersuchung
Sobald die CloudTrail-Tabelle korrekt ist, verfügen Sie über einen abfragbaren Audit-Trail, der die gesamte aufgezeichnete Historie umfasst. Jede Konsolenanmeldung, jeder API-Aufruf und jeder Fehler ist nun eine Zeile, die Sie filtern und aggregieren können. Diese Tabelle bildet die Grundlage für die Incident-Abfragen, die Sie als Nächstes schreiben werden.
Kurze Überprüfung
Testen Sie Ihr Wissen über das Erstellen von Tabellen.
Zusammenfassung
Um CloudTrail in Athena abzufragen, erstellen Sie eine Tabelle, die die JSON-Dateien Spalten zuordnet. Verwenden Sie dazu die von AWS bereitgestellte CREATE TABLE DDL, die richtige SerDe und den korrekten S3-LOCATION. Fragen Sie verschachtelte Felder mit der Punktnotation ab, analysieren Sie JSON-Zeichenfolgenspalten zum Abfragezeitpunkt und überprüfen Sie das Ergebnis mit einer kleinen SELECT-Abfrage. Ein organization trail kann als eine einzige Tabelle für die organisationsweite Bedrohungssuche dienen.
Häufig gestellte Fragen
Ist die Lektion „Tabellen über CloudTrail-Daten erstellen“ kostenlos?
Ja — der vollständige Text von „Tabellen über CloudTrail-Daten erstellen“ 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 Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AWS Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Tabellen über CloudTrail-Daten erstellen“?
Definieren Sie ein Schema, mit dem Sie Audit-Ereignisse direkt abfragen können. Du übst AWS Security Academy 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 Security Academy zu starten?
Keine Vorkenntnisse erforderlich. AWS Security Academy 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 2 von 4.
Wie lange dauert die Lektion „Tabellen über CloudTrail-Daten erstellen“?
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 Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede AWS Security Academy-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
- S3-Protokolle mit Athena abfragen
- Tabellen über CloudTrail-Daten erstellen
- Vorfälle mit SQL-Abfragen untersuchen
- Protokolle für Geschwindigkeit und Kosten partitionieren