Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

Wie erstelle ich automatisch Tabellen in Amazon Athena, um AWS-CloudTrail-Protokolle zu durchsuchen?

Lesedauer: 3 Minute
0

Ich möchte eine große Sammlung von AWS-CloudTrail-Protokollen durchsuchen. Um Fehler zu vermeiden, möchte ich Amazon-Athena-Tabellen nicht manuell erstellen.

Behebung

Verwenden Sie die CloudTrail-Konsole, um die Athena-Tabellen automatisch zu erstellen. Weitere Informationen finden Sie unter AWS-CloudTrail-Protokollsuche mit Amazon Athena.

Erstellen Sie die Athena-Tabelle

1.Öffnen Sie die CloudTrail-Konsole und wählen Sie dann im Navigationsbereich Trails aus. Notieren Sie sich den Namen des S3-Buckets.

2.Wählen Sie im Navigationsbereich Eventverlauf und dann Athena-Tabelle erstellen aus.

3.Öffnen Sie im Fenster Tabelle in Amazon Athena erstellen das Menü Speicherort und wählen Sie dann den Amazon Simple Storage Service (Amazon S3)-Bucket mit den CloudTrail-Protokolldateien aus.

**Hinweis:**Mithilfe der Partitionsprojektion für CloudTrail-Protokolle mit Athena können Sie die Suchleistung für bestimmte Zeitrahmen in einer einzelnen AWS-Region verbessern.

4.Wählen Sie Tabelle erstellen aus.

5.Wählen Sie Gehe zu Athena aus.

**Hinweis:**Möglicherweise erhalten Sie die Fehlermeldung „Your account does not have sufficient permissions to create tables in Amazon Athena.“ Wenn Sie dies tun, fügen Sie die von AmazonAthenaFullAccess verwaltete Richtlinie hinzu, indem Sie den Anweisungen unter Hinzufügen von AWS Identity and Access Management (IAM)-Richtlinien (Konsole) folgen.

Sie können eine oder mehrere der folgenden Beispielabfragen mit Ihren Protokollen verwenden. Ersetzen Sie your_athena_tablename durch den Namen Ihrer Athena-Tabelle und access_key_id durch Ihren 20-stelligen Zugriffsschlüssel. Ihr Zugriffsschlüssel beginnt normalerweise mit den Zeichen AKIA oder ASIA.

Führen Sie die Athena-Abfrage aus

1.Öffnen Sie die Athena-Konsole, wählen Sie Neue Abfrage aus und wählen Sie dann das Dialogfeld aus, um die Beispielabfrage zu löschen.

2.Geben Sie Ihre Abfrage ein und wählen Sie dann Abfrage ausführen aus.

Alle aufgezeichneten AWS-API-Aktivitäten für einen bestimmten Zugriffsschlüssel anzeigen

SELECT eventTime, eventName, userIdentity.principalId
FROM your_athena_tablename
WHERE userIdentity.accessKeyId like 'access_key_id'

Alle Änderungen an der Sicherheitsgruppe für Ihre EC2-Instance identifizieren

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;

Alle Konsolen-Logins der letzten 24 Stunden anzeigen

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';

Alle fehlgeschlagenen Anmeldeversuche an der Konsole in den letzten 24 Stunden anzeigen

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';

Die monatlichen Kostenerhöhungen von CloudTrail identifizieren

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

**Hinweis:**Die von eventtime definierten Werte sind auf einen einzigen Monat begrenzt. Führen Sie zusätzliche Abfragen aus, um Ergebnisse für mehrere Monate zu erhalten.

Identifizieren Sie fehlende IAM-Berechtigungen

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

Wenn in den Ergebnissen der fehlgeschlagene API-Aufruf nicht angezeigt wird, erweitern Sie den Abfragebereich wie folgt:

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

Ähnliche Informationen

Abfragen von AWSCloudTrail-Protokollen

Hinzufügen und Entfernen von IAM-Identitätsberechtigungen

Wie kann ich Fehler beheben, bei denen der Zugriff auf IAM-Berechtigungen verweigert wurde, oder bei Nicht-autorisiert-Fehlern?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren