Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Erstellen Sie eine Integration zur Protokollierung von Ereignissen von außen AWS mit dem AWS CLI

Fokusmodus
Erstellen Sie eine Integration zur Protokollierung von Ereignissen von außen AWS mit dem AWS CLI - 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.

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.

In diesem Abschnitt wird beschrieben, wie Sie die verwenden können AWS CLI , um eine CloudTrail Lake-Integration zu erstellen, um Ereignisse von außerhalb von zu protokollieren AWS.

In der AWS CLI erstellen Sie eine Integration in vier Befehlen (drei, wenn Sie bereits über einen Ereignisdatenspeicher verfügen, der die Kriterien erfüllt). Ereignisdatenspeicher, die Sie als Ziele für eine Integration verwenden, müssen für eine einzelne Region und ein einzelnes Konto bestimmt sein. Sie können nicht regionsübergreifend sein, sie können keine Ereignisse für Organisationen protokollieren und sie können nur Aktivitätsereignisse enthalten. AWS Organizations Der Ereignistyp in der Konsole muss Events from integrations (Ereignisse aus Integrationen) sein. In der API muss der eventCategory Wert sein. ActivityAuditLog Weitere Informationen über Integrationen finden Sie unter Erstellen Sie eine Integration mit einer Ereignisquelle außerhalb von AWS.

  1. Führen Sie den Vorgang create-event-data-store aus, um einen Ereignisdatenspeicher zu erstellen, falls Sie nicht bereits über einen oder mehrere Ereignisdatenspeicher verfügen, die Sie für die Integration verwenden können.

    Der folgende AWS CLI Beispielbefehl erstellt einen Ereignisdatenspeicher, der Ereignisse von außen protokolliert AWS. Für Aktivitätsereignisse lautet der eventCategory-Feldauswahlwert ActivityAuditLog. Der Aufbewahrungszeitraum des Ereignisdatenspeichers beträgt 90 Tage. Standardmäßig sammelt der Ereignisdatenspeicher Ereignisse aus allen Regionen. Da es sich jedoch um AWS Nichtereignisse handelt, legen Sie ihn auf eine einzelne Region fest, indem Sie die --no-multi-region-enabled Option hinzufügen. Der Kündigungsschutz ist standardmäßig aktiviert, und der Ereignisdatenspeicher erfasst keine Ereignisse für Konten in einer Organisation.

    aws cloudtrail create-event-data-store \ --name my-event-data-store \ --no-multi-region-enabled \ --retention-period 90 \ --advanced-event-selectors '[ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["ActivityAuditLog"] } ] } ]'

    Nachfolgend finden Sie eine Beispielantwort.

    { "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE", "Name": "my-event-data-store", "AdvancedEventSelectors": [ { "Name": "Select all external events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "ActivityAuditLog" ] } ] } ], "MultiRegionEnabled": true, "OrganizationEnabled": false, "BillingMode": "EXTENDABLE_RETENTION_PRICING", "RetentionPeriod": 90, "TerminationProtectionEnabled": true, "CreatedTimestamp": "2023-10-27T10:55:55.384000-04:00", "UpdatedTimestamp": "2023-10-27T10:57:05.549000-04:00" }

    Sie benötigen die ID des Ereignisdatenspeichers (das Suffix von oder EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE im vorherigen Antwortbeispiel)ARN, um mit dem nächsten Schritt fortzufahren und Ihren Kanal zu erstellen.

  2. Führen Sie den create-channelBefehl aus, um einen Kanal zu erstellen, der es einer Partner- oder Quellanwendung ermöglicht, Ereignisse an einen Ereignisdatenspeicher in CloudTrail zu senden.

    Ein Kanal umfasst die folgenden Komponenten:

    Quelle

    CloudTrail verwendet diese Informationen, um die Partner zu ermitteln, an die in CloudTrail Ihrem Namen Ereignisdaten gesendet werden. Eine Quelle ist erforderlich und kann entweder Custom für alle gültigen Nicht-AWS -Ereignisse oder für den Namen einer Partnerereignisquelle verwendet werden. Pro Quelle ist maximal ein Kanal zulässig.

    Informationen zu den Source-Werten für verfügbare Partner finden Sie unter Zusätzliche Informationen über Integrationspartner.

    Status der Aufnahme

    Der Kanalstatus zeigt an, wann die letzten Ereignisse von einer Kanalquelle empfangen wurden.

    Ziele

    Die Ziele sind die CloudTrail Lake-Ereignisdatenspeicher, die Ereignisse vom Kanal empfangen. Sie können die Zielereignisdatenspeicher für einen Kanal ändern.

    Um keine Ereignisse mehr von einer Quelle zu empfangen, löschen Sie den Kanal.

    Sie benötigen die ID von mindestens einem Zielereignisdatenspeicher, um diesen Befehl auszuführen. Der gültige Zieltyp ist EVENT_DATA_STORE. Sie können aufgenommene Ereignisse an mehr als einen Ereignisdatenspeicher senden. Mit dem folgenden Beispielbefehl wird ein Kanal erstellt, der Ereignisse an zwei Ereignisdatenspeicher sendet, die IDs im Location Attribut des --destinations Parameters durch sie repräsentiert werden. Die Parameter --destinations, --name und --source müssen angegeben werden. Um Ereignisse von einem CloudTrail Partner aufzunehmen, geben Sie den Namen des Partners als Wert von an--source. Wenn Sie Ereignisse aus Ihren eigenen externen Anwendungen aufnehmen möchten AWS, geben Sie Custom den Wert von an. --source

    aws cloudtrail create-channel \ --region us-east-1 \ --destinations '[{"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEf852-4e8f-8bd1-bcf6cEXAMPLE"}, {"Type": "EVENT_DATA_STORE", "Location": "EXAMPLEg922-5n2l-3vz1- apqw8EXAMPLE"}]' --name my-partner-channel \ --source $partnerSourceName \

    Kopieren Sie in der Antwort auf Ihren create-channel Befehl den ARN des neuen Kanals. Sie benötigen dieARN, um die put-audit-events Befehle put-resource-policy und in den nächsten Schritten auszuführen.

  3. Führen Sie den put-resource-policyBefehl aus, um eine Ressourcenrichtlinie an den Kanal anzuhängen. Ressourcenrichtlinien sind JSON Richtliniendokumente, die angeben, welche Aktionen ein bestimmter Prinzipal auf der Ressource ausführen kann und unter welchen Bedingungen. Die Konten, die in der Ressourcenrichtlinie des Kanals als Principals definiert sind, können diese aufrufen PutAuditEventsAPI, um Ereignisse auszulösen.

    Anmerkung

    Wenn du keine Ressourcenrichtlinie für den Kanal erstellst, kann nur der Kanalbesitzer die PutAuditEvents API auf dem Kanal aufrufen.

    Die für die Richtlinie erforderlichen Informationen werden durch den Integrationstyp bestimmt.

    • Für eine direkte Integration CloudTrail muss die Richtlinie das AWS Konto IDs des Partners enthalten und du musst die vom Partner bereitgestellte eindeutige externe ID eingeben. CloudTrail fügt das AWS Konto des Partners automatisch IDs zur Ressourcenrichtlinie hinzu, wenn Sie eine Integration mithilfe der CloudTrail Konsole erstellen. In der Dokumentation des Partners erfahren Sie, wie Sie die für die Richtlinie erforderlichen AWS Kontonummern erhalten.

    • Für eine Lösungsintegration müssen Sie mindestens eine AWS Konto-ID als Principal angeben und können optional eine externe ID eingeben, um zu verhindern, dass der Stellvertreter verwirrt wird.

    Die folgenden Anforderungen sind für die Ressourcenrichtlinie erforderlich:

    • Die in der Richtlinie ARN definierte Ressource muss mit dem Kanal übereinstimmen, an ARN den die Richtlinie angehängt ist.

    • Die Richtlinie enthält nur eine Aktion: cloudtrail-data: PutAuditEvents

    • Jede Richtlinie muss mindestens eine Aussage enthalten. Die Richtlinie kann maximal 20 Aussagen umfassen.

    • Jede Aussage enthält mindestens einen Prinzipal. Eine Aussage kann maximal 50 Prinzipale haben.

    aws cloudtrail put-resource-policy \ --resource-arn "channelARN" \ --policy "{ "Version": "2012-10-17", "Statement": [ { "Sid": "ChannelPolicy", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root", "arn:aws:iam::123456789012:root" ] }, "Action": "cloudtrail-data:PutAuditEvents", "Resource": "arn:aws:cloudtrail:us-east-1:777788889999:channel/EXAMPLE-80b5-40a7-ae65-6e099392355b", "Condition": { "StringEquals": { "cloudtrail:ExternalId": "UniqueExternalIDFromPartner" } } } ] }"

    Weitere Informationen zu Ressourcenrichtlinien finden Sie unter AWS CloudTrail Beispiele für ressourcenbasierte Richtlinien.

  4. Führen Sie den aus PutAuditEventsAPI, in den Sie Ihre Aktivitätsereignisse aufnehmen möchten. CloudTrail Sie benötigen die Payload der Ereignisse, die Sie hinzufügen CloudTrail möchten. Stellen Sie sicher, dass die Event-Payload keine sensiblen oder persönlich identifizierbaren Informationen enthält, bevor Sie sie in die Payload aufnehmen. CloudTrail Beachten Sie, dass der den Endpunkt PutAuditEvents API verwendet, nicht den cloudtrail-data CLI Endpunkt. cloudtrail

    Die folgenden Beispiele zeigen, wie der put-audit-events CLI Befehl verwendet wird. Die Parameter --audit-events und --channel-arn müssen angegeben werden. Der --external-id-Parameter ist erforderlich, wenn in der Ressourcenrichtlinie eine externe ID definiert ist. Sie benötigen den ARN des Kanals, den Sie im vorherigen Schritt erstellt haben. Der Wert von --audit-events ist ein JSON Array von Ereignisobjekten. --audit-eventsenthält eine erforderliche ID aus dem Ereignis, die erforderliche Nutzlast des Ereignisses als Wert von und eine optionale Prüfsumme EventData, mit deren Hilfe die Integrität des Ereignisses nach der Aufnahme in überprüft werden kann. CloudTrail

    aws cloudtrail-data put-audit-events \ --channel-arn $ChannelArn \ --external-id $UniqueExternalIDFromPartner \ --audit-events \ id="event_ID",eventData='"{event_payload}"' \ id="event_ID",eventData='"{event_payload}"',eventDataChecksum="optional_checksum"

    Nachfolgend finden Sie einen Beispielbefehl mit zwei Ereignisbeispielen.

    aws cloudtrail-data put-audit-events \ --channel-arn arn:aws:cloudtrail:us-east-1:123456789012:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE \ --external-id UniqueExternalIDFromPartner \ --audit-events \ id="EXAMPLE3-0f1f-4a85-9664-d50a3EXAMPLE",eventData='"{\"eventVersion\":\0.01\",\"eventSource\":\"custom1.domain.com\", ... \}"' \ id="EXAMPLE7-a999-486d-b241-b33a1EXAMPLE",eventData='"{\"eventVersion\":\0.02\",\"eventSource\":\"custom2.domain.com\", ... \}"',eventDataChecksum="EXAMPLE6e7dd61f3ead...93a691d8EXAMPLE"

    Der folgende Beispielbefehl fügt den --cli-input-json Parameter zur Angabe einer JSON Datei (custom-events.json) mit der Ereignisnutzlast hinzu.

    aws cloudtrail-data put-audit-events --channel-arn $channelArn --external-id $UniqueExternalIDFromPartner --cli-input-json file://custom-events.json --region us-east-1

    Im Folgenden finden Sie den Beispielinhalt der JSON Beispieldatei,custom-events.json.

    { "auditEvents": [ { "eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\", \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\", \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\", \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\", \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"}, \"additionalEventData\":{\"key\":\"value\"}, \"sourceIPAddress\":\"12.34.56.78\",\"recipientAccountId\":\"152089810396\"}", "id": "1" } ] }

Sie können überprüfen, ob die Integration funktioniert und CloudTrail Ereignisse aus der Quelle korrekt aufnimmt, indem Sie den get-channelBefehl ausführen. Die Ausgabe von get-channel zeigt den letzten Zeitstempel, mit dem Ereignisse CloudTrail empfangen wurden.

aws cloudtrail get-channel --channel arn:aws:cloudtrail:us-east-1:01234567890:channel/EXAMPLE8-0558-4f7e-a06a-43969EXAMPLE

(Optional) Berechnen Sie einen Prüfsummenwert

Anhand der Prüfsumme, die Sie EventDataChecksum in einer PutAuditEvents Anforderung als Wert angeben, können Sie überprüfen, ob das Ereignis CloudTrail empfangen wird, das mit der Prüfsumme übereinstimmt. Sie hilft Ihnen dabei, die Integrität von Ereignissen zu überprüfen. Der Prüfsummenwert ist ein SHA256 Base64-Algorithmus, den Sie berechnen, indem Sie den folgenden Befehl ausführen.

printf %s "{"eventData": "{\"version\":\"eventData.version\",\"UID\":\"UID\", \"userIdentity\":{\"type\":\"CustomUserIdentity\",\"principalId\":\"principalId\", \"details\":{\"key\":\"value\"}},\"eventTime\":\"2021-10-27T12:13:14Z\",\"eventName\":\"eventName\", \"userAgent\":\"userAgent\",\"eventSource\":\"eventSource\", \"requestParameters\":{\"key\":\"value\"},\"responseElements\":{\"key\":\"value\"}, \"additionalEventData\":{\"key\":\"value\"}, \"sourceIPAddress\":\"source_IP_address\", \"recipientAccountId\":\"recipient_account_ID\"}", "id": "1"}" \ | openssl dgst -binary -sha256 | base64

Der Befehl gibt die Prüfsumme zurück. Im Folgenden wird ein Beispiel gezeigt.

EXAMPLEDHjkI8iehvCUCWTIAbNYkOgO/t0YNw+7rrQE=

Der Prüfsummenwert wird der Wert von EventDataChecksum in Ihrer PutAuditEvents-Anfrage. Wenn die Prüfsumme nicht mit der für das angegebene Ereignis übereinstimmt, wird das Ereignis mit einem CloudTrail Fehler zurückgewiesen. InvalidChecksum

Auf dieser Seite

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.