Erstellen Sie CloudTrail Lake-Abfragen anhand von Eingabeaufforderungen in natürlicher Sprache - AWS CloudTrail

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie CloudTrail Lake-Abfragen anhand von Eingabeaufforderungen in natürlicher Sprache

Sie können den CloudTrail Lake-Abfragegenerator verwenden, um anhand einer von Ihnen bereitgestellten Eingabeaufforderung in englischer Sprache eine Abfrage zu erstellen. Der Abfragegenerator verwendet generative künstliche Intelligenz (generative KI), um anhand Ihrer Eingabeaufforderung eine ready-to-use SQL-Abfrage zu erstellen, die Sie dann im Abfrageeditor von Lake ausführen oder weiter optimieren können. Sie benötigen keine umfassenden Kenntnisse über SQL oder CloudTrail Ereignisfelder, um den Abfragegenerator verwenden zu können.

Die Aufforderung kann eine Frage oder eine Aussage zu den Ereignisdaten in Ihrem CloudTrail Lake-Ereignisdatenspeicher sein. Sie können beispielsweise Eingabeaufforderungen wie "What are my top errors in the past month?" und eingeben “Give me a list of users that used SNS.”

Eine Eingabeaufforderung kann mindestens 3 Zeichen und maximal 500 Zeichen lang sein.

Es fallen keine Gebühren für die Generierung von Abfragen an. Wenn Sie Abfragen ausführen, fallen Gebühren an, die auf der Menge der optimierten und komprimierten Daten basieren. Um die Kosten zu kontrollieren, empfehlen wir Ihnen, Abfragen einzuschränken, indem Sie Start- und eventTime Ende-Zeitstempel zu Abfragen hinzufügen.

Anmerkung

Sie können Feedback zu einer generierten Abfrage geben, die unter der generierten Abfrage angezeigt wird. Wenn Sie Feedback geben, werden Ihre Eingabeaufforderung und die generierte Abfrage CloudTrail gespeichert.

Nehmen Sie keine personenbezogenen, vertraulichen oder sensiblen Informationen in Ihre Eingabeaufforderungen auf.

Diese Funktion verwendet generative KI-Modelle für große Sprachen (LLMs). Wir empfehlen, die LLM-Antwort noch einmal zu überprüfen.

Sie können über die CloudTrail Konsole und auf den Abfragegenerator zugreifen. AWS CLI

CloudTrail console
Um den Abfragegenerator auf der CloudTrail Konsole zu verwenden
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die CloudTrail Konsole unter https://console.aws.amazon.com/cloudtrail/.

  2. Wählen Sie im Navigationsbereich unter Lake die Option Abfrage.

  3. Wählen Sie auf der Abfrageseite die Registerkarte Editor aus.

  4. Wählen Sie den Ereignisdatenspeicher, für den Sie eine Abfrage erstellen möchten.

  5. Geben Sie im Bereich Abfragegenerator eine Aufforderung in einfachem Englisch ein. Beispiele finden Sie unter Beispielaufforderungen.

  6. Wählen Sie „Abfrage generieren“. Der Abfragegenerator versucht, anhand Ihrer Eingabeaufforderung eine Abfrage zu generieren. Bei Erfolg stellt der Abfragegenerator die SQL-Abfrage im Editor bereit. Wenn die Aufforderung nicht erfolgreich ist, formulieren Sie Ihre Aufforderung neu und versuchen Sie es erneut.

  7. (Optional) Sie können uns Ihr Feedback zu der generierten Abfrage übermitteln. Um Feedback zu geben, wählen Sie die Schaltfläche „Daumen hoch“ oder „Daumen runter“, die unter der Eingabeaufforderung angezeigt wird. Wenn Sie Feedback geben, werden Ihre Aufforderung und die generierte Abfrage CloudTrail gespeichert.

  8. (Optional) Wählen Sie Ausführen, um die Abfrage auszuführen.

    Anmerkung

    Wenn Sie Abfragen ausführen, fallen Gebühren an, die auf der Menge der optimierten und komprimierten Daten basieren, die gescannt wurden. Um die Kosten zu kontrollieren, empfehlen wir Ihnen, Abfragen einzuschränken, indem Sie Start- und eventTime Ende-Zeitstempel zu Abfragen hinzufügen.

  9. (Optional) Wenn Sie die Abfrage ausführen und Ergebnisse vorliegen, können Sie Ergebnisse zusammenfassen auswählen, um eine Zusammenfassung der Abfrageergebnisse in natürlicher Sprache in englischer Sprache zu erstellen. Diese Option verwendet generative künstliche Intelligenz (generative KI), um die Zusammenfassung zu erstellen. Weitere Informationen zu dieser Option finden Sie unter Fassen Sie die Abfrageergebnisse in natürlicher Sprache zusammen.

    Sie können Feedback zur Zusammenfassung geben, die unter der generierten Zusammenfassung angezeigt wird.

    Anmerkung

    Das Feature für Abfragezusammenfassung befindet sich in der Vorabversion für CloudTrail Lake und unterliegt noch Änderungen. Dieses Feature ist in den folgenden -Regionen verfügbar: Asien-Pazifik (Tokio), USA Ost (Nord-Virginia) und USA West (Oregon).

AWS CLI

Um eine Abfrage mit dem zu generieren AWS CLI

Führen Sie den generate-query Befehl aus, um eine Abfrage von einer englischen Eingabeaufforderung aus zu generieren. Geben Sie für --event-data-stores den ARN (oder das ID-Suffix des ARN) des Ereignisdatenspeichers an, den Sie abrufen möchten. Sie können nur einen Ereignisdatenspeicher angeben. Geben Sie für --prompt die Eingabeaufforderung auf Englisch ein.

aws cloudtrail generate-query --event-data-stores arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-ee54-4813-92d5-999aeEXAMPLE \ --prompt "Show me all console login events for the past week?"

Bei erfolgreicher Ausführung gibt der Befehl eine SQL-Anweisung aus und stellt eine bereitQueryAlias, die Sie zusammen mit dem start-query Befehl verwenden, um die Abfrage für Ihren Ereignisdatenspeicher auszuführen.

{ "QueryStatement": "SELECT * FROM $EDS_ID WHERE eventname = 'ConsoleLogin' AND eventtime >= timestamp '2024-09-16 00:00:00' AND eventtime <= timestamp '2024-09-23 00:00:00' AND eventSource = 'signin.amazonaws.com'", "QueryAlias": "AWSCloudTrail-UUID" }

Um eine Abfrage mit dem auszuführen AWS CLI

Führen Sie den start-query Befehl mit dem aus dem generate-query Befehl im vorherigen Beispiel QueryAlias ausgegebenen aus. Sie haben auch die Möglichkeit, den start-query Befehl auszuführen, indem Sie den QueryStatement angeben.

aws cloudtrail start-query --query-alias AWSCloudTrail-UUID

Die Antwort ist eine QueryId-Zeichenfolge. Um den Status einer Abfrage zu abzurufen, führen Sie describe-query mit dem von start-query zurückgegebenen Wert QueryId aus. Wenn die Abfrage erfolgreich ist, können Sie get-query-results ausführen, um Ergebnisse zu erzielen.

{ "QueryId": "EXAMPLE2-0add-4207-8135-2d8a4EXAMPLE" }
Anmerkung

Abfragen, die länger als eine Stunde laufen, können ablaufen. Sie können immer noch Teilergebnisse erhalten, die vor dem Timeout der Abfrage verarbeitet wurden.

Wenn Sie die Abfrageergebnisse mithilfe des optionalen --delivery-s3uri Parameters an einen S3-Bucket liefern, muss die Bucket-Richtlinie die CloudTrail Berechtigung erteilen, Abfrageergebnisse an den Bucket zu übermitteln. Informationen zur manuellen Bearbeitung der Bucket-Richtlinie finden Sie im Abschnitt Amazon S3 S3-Bucket-Richtlinie für CloudTrail Lake-Abfrageergebnisse.

Erforderliche Berechtigungen

AWSCloudTrail_FullAccessSowohl die als auch die AdministratorAccessverwalteten Richtlinien bieten die erforderlichen Berechtigungen für die Verwendung dieser Funktion.

Sie können die cloudtrail:GenerateQuery-Aktion auch in eine neue oder bestehende, vom Kunden verwaltete oder integrierte Richtlinie aufnehmen.

Regionsunterstützung

Dieses Feature wird in den folgenden unterstützt AWS-Regionen:

  • Region Asien-Pazifik (Mumbai) (ap-south-1)

  • Region Asien-Pazifik (Sydney) (ap-southeast-2)

  • Region Asien-Pazifik (Tokio) (ap-northeast-1)

  • Region Kanada (Zentral) (ca-central-1)

  • Region Europa (London) (eu-west-2)

  • Region USA Ost (Nord-Virginia) (us-east-1)

  • Region USA West (Oregon) (us-west-2)

Einschränkungen

Im Folgenden sind die Einschränkungen des Abfragegenerators aufgeführt:

  • Der Abfragegenerator kann nur Eingabeaufforderungen in englischer Sprache akzeptieren.

  • Der Abfragegenerator kann nur Abfragen für Ereignisdatenspeicher generieren, die CloudTrail Ereignisse erfassen (Verwaltungsereignisse, Datenereignisse, Netzwerkaktivitätsereignisse).

  • Der Abfragegenerator kann keine Abfragen für Eingabeaufforderungen generieren, die sich nicht auf CloudTrail Lake-Ereignisdaten beziehen.

Beispielaufforderungen

Dieser Abschnitt enthält Beispielaufforderungen und die aus den Eingabeaufforderungen generierten resultierenden SQL-Abfragen.

Wenn Sie die Beispielabfragen in diesem Abschnitt ausführen möchten, eds-id ersetzen Sie sie durch die ID des Ereignisdatenspeichers, den Sie abfragen möchten, und ersetzen Sie die Zeitstempel durch die entsprechenden Zeitstempel für Ihren Anwendungsfall. Zeitstempel haben das folgende Format:YYYY-MM-DD HH:MM:SS.

Aufforderung: What are my top errors in the past month?

SQL-Abfrage:

SELECT errorMessage, COUNT(*) as eventCount FROM eds-id WHERE errorMessage IS NOT NULL AND eventTime >= timestamp '2024-05-01 00:00:00' AND eventTime <= timestamp '2024-05-31 23:59:59' GROUP BY 1 ORDER BY 2 DESC LIMIT 2;

Aufforderung: Give me a list of users that used Amazon SNS.

SQL-Abfrage:

SELECT DISTINCT userIdentity.arn AS user FROM eds-id WHERE eventSource = 'sns.amazonaws.com'

Aufforderung: What are my API counts each day for read and write events in the past month?

SQL-Abfrage:

SELECT date(eventTime) AS event_date, SUM( CASE WHEN readonly = true THEN 1 ELSE 0 END ) AS read_events, SUM( CASE WHEN readonly = false THEN 1 ELSE 0 END ) AS write_events FROM eds-id WHERE eventTime >= timestamp '2024-05-04 00:00:00' AND eventTime <= timestamp '2024-06-04 23:59:59' GROUP BY 1 ORDER BY 1 ASC;

Aufforderung: Show any events with access denied errors for the past three weeks.

SQL-Abfrage:

SELECT * FROM eds-id WHERE WHERE (errorCode = 'AccessDenied' OR errorMessage = 'Access Denied') AND eventTime >= timestamp '2024-05-16 01:00:00' AND eventTime <= timestamp '2024-06-06 01:00:00'

Aufforderung: Query the number of calls each operator performed on the date 2024-05-01. The operator is a principal tag.

SQL-Abfrage:

SELECT element_at( eventContext.tagContext.principalTags, 'operator' ) AS operator, COUNT(*) AS eventCount FROM eds-id WHERE eventtime >= '2024-05-01 00:00:00' AND eventtime < '2024-05-01 23:59:59' GROUP BY 1 ORDER BY 2 DESC;

Aufforderung: Give me all event IDs that touched resources within the AWS CloudFormation stack with name myStack on the date 2024-05-01.

SQL-Abfrage:

SELECT eventID FROM eds-id WHERE any_match( eventContext.tagcontext.resourcetags, rt->element_at(rt.tags, 'aws:cloudformation:stack-name') = 'myStack' ) AND eventtime >= '2024-05-01 00:00:00' AND eventtime < '2024-05-01 23:59:59'

Aufforderung: Count the number of events grouped by resource tag 'solution' values, listing them in descending order of count.

SQL-Abfrage:

SELECT element_at(rt.tags, 'solution'), count(*) as event_count FROM eds-id, unnest(eventContext.tagContext.resourceTags) as rt WHERE eventtime < '2025-05-14 19:00:00' GROUP BY 1 ORDER BY 2 DESC;

Aufforderung: Find all Amazon S3 data events where resource tag Environment has value prod.

SQL-Abfrage:

SELECT * FROM eds-id WHERE eventCategory = 'Data' AND eventSource = 's3.amazonaws.com' AND eventtime >= '2025-05-14 00:00:00' AND eventtime < '2025-05-14 20:00:00' AND any_match( eventContext.tagContext.resourceTags, rt->element_at(rt.tags, 'Environment') = 'prod' )