Filtern von Datenereignissen mithilfe erweiterter Event-Selektoren - 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.

Filtern von Datenereignissen mithilfe erweiterter Event-Selektoren

In diesem Abschnitt wird beschrieben, wie Sie erweiterte Ereignisselektoren verwenden können, um detaillierte Selektoren zu erstellen, die Ihnen helfen, die Kosten zu kontrollieren, indem sie nur die spezifischen Datenereignisse protokollieren, die für Sie von Interesse sind.

Beispielsweise:

  • Sie können bestimmte API Anrufe ein- oder ausschließen, indem Sie dem Feld einen Filter hinzufügen. eventName

  • Sie können die Protokollierung für bestimmte Ressourcen ein- oder ausschließen, indem Sie dem resources.ARN Feld einen Filter hinzufügen. Wenn Sie beispielsweise S3-Datenereignisse protokollieren, könnten Sie die Protokollierung für den S3-Bucket für Ihren Trail ausschließen.

  • Sie können wählen, ob nur Schreibereignisse oder schreibgeschützte Ereignisse protokolliert werden sollen, indem Sie dem Feld einen Filter hinzufügen. readOnly

Die folgende Tabelle enthält zusätzliche Informationen zu den konfigurierbaren Feldern für erweiterte Ereignisselektoren.

Feld Erforderlich Gültige Operatoren Beschreibung

eventCategory

Ja

Equals

Dieses Feld ist so eingestellt, dass Data Datenereignisse protokolliert werden.

resources.type

Ja

Equals

Dieses Feld wird verwendet, um den Ressourcentyp auszuwählen, für den Sie Datenereignisse protokollieren möchten. Die Tabelle mit Datenereignissen zeigt die möglichen Werte.

readOnly

Nein

Equals

Dies ist ein optionales Feld, das verwendet wird, um Datenereignisse basierend auf dem readOnly Wert ein- oder auszuschließen. Der Wert true protokolliert nur Leseereignisse. Der Wert false protokolliert nur Ereignisse, bei denen nur Ereignisse geschrieben werden. Wenn Sie dieses Feld nicht hinzufügen, werden sowohl Lese- als auch Schreibereignisse CloudTrail protokolliert.

eventName

Nein

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Dies ist ein optionales Feld, das verwendet wird, um jedes Datenereignis, bei dem protokolliert wurde, ein- oder herauszufiltern CloudTrail, z. B. PutBucket oder. GetSnapshotBlock

Wenn Sie das verwenden AWS CLI, können Sie mehrere Werte angeben, indem Sie jeden Wert durch ein Komma trennen.

Wenn Sie die Konsole verwenden, können Sie mehrere Werte angeben, indem Sie für jeden Wert, nach dem eventName Sie filtern möchten, eine Bedingung erstellen.

resources.ARN

Nein

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Dies ist ein optionales Feld, das verwendet wird, um Datenereignisse für eine bestimmte Ressource auszuschließen oder einzuschließen, indem Sie die angebenresources.ARN. Sie können einen beliebigen Operator mit verwendenresources.ARN, aber wenn Sie Equals oder verwendenNotEquals, muss der Wert exakt dem Wert einer gültigen Ressource für die ARN von resoureces.type Ihnen angegebene Ressource entsprechen. Um alle Datenereignisse für alle Objekte in einem bestimmten S3-Bucket zu protokollieren, verwenden Sie den StartsWith Operator und geben Sie nur den Bucket ARN als passenden Wert an.

Wenn Sie den verwenden AWS CLI, können Sie mehrere Werte angeben, indem Sie jeden Wert durch ein Komma trennen.

Wenn Sie die Konsole verwenden, können Sie mehrere Werte angeben, indem Sie für jeden Wert, nach dem resources.ARN Sie filtern möchten, eine Bedingung erstellen.

Um Datenereignisse mithilfe der CloudTrail Konsole zu protokollieren, wählen Sie die Option Datenereignisse und dann den gewünschten Datenereignistyp aus, wenn Sie einen Trail- oder Event-Datenspeicher erstellen oder aktualisieren. In der Tabelle mit Datenereignissen werden die möglichen Datenereignistypen aufgeführt, die Sie auf der CloudTrail Konsole auswählen können.

Auswahl des Datenereignistyps für das SNSThema auf der Konsole.

Um Datenereignisse mit dem zu protokollieren AWS CLI, konfigurieren Sie den --advanced-event-selector Parameter so, dass er eventCategory gleich Data oder gleich dem resources.type Ressourcentypwert ist, für den Sie Datenereignisse protokollieren möchten. In der Tabelle mit Datenereignissen sind die verfügbaren Ressourcentypen aufgeführt.

Wenn Sie beispielsweise Datenereignisse für alle Cognito Identity-Pools protokollieren möchten, konfigurieren Sie den --advanced-event-selectors Parameter so, dass er wie folgt aussieht:

--advanced-event-selectors '[ { "Name": "Log Cognito data events on Identity pools", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Cognito::IdentityPool"] } ] } ]'

Im vorherigen Beispiel werden alle Cognito-Datenereignisse in Identitätspools protokolliert. Sie können die erweiterten Ereignisauswahlen weiter verfeinern, um nach den resources.ARN FelderneventName, und zu filternreadOnly, um bestimmte Ereignisse von Interesse zu protokollieren oder Ereignisse auszuschließen, die nicht von Interesse sind.

Sie können erweiterte Ereignisauswahlen konfigurieren, um Datenereignisse auf der Grundlage mehrerer Felder zu filtern. Sie können beispielsweise erweiterte Event-Selektoren so konfigurieren, dass sie alle Amazon S3 PutObject - und DeleteObject API Aufrufe protokollieren, aber die Ereignisprotokollierung für einen bestimmten S3-Bucket ausschließen, wie im folgenden Beispiel gezeigt. Ersetzen amzn-s3-demo-bucket mit dem Namen Ihres Buckets.

--advanced-event-selectors '[ { "Name": "Log PutObject and DeleteObject events for all but one bucket", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["PutObject","DeleteObject"] }, { "Field": "resources.ARN", "NotStartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] } ] } ]'

Sie können auch mehrere Bedingungen für ein Feld angeben. Informationen darüber, wie mehrere Bedingungen bewertet werden, finden Sie unterWie werden mehrere Bedingungen für CloudTrail ein Feld ausgewertet.

Sie können erweiterte Ereignisauswahlfunktionen verwenden, um sowohl Verwaltungs- als auch Datenereignisse zu protokollieren. Um Datenereignisse für mehrere Ressourcentypen zu protokollieren, fügen Sie für jeden Ressourcentyp, für den Sie Datenereignisse protokollieren möchten, eine Feldauswahlanweisung hinzu.

Anmerkung

Für Trails können entweder einfache oder erweiterte Event-Selektoren verwendet werden, aber nicht beide. Wenn Sie erweiterte Ereignisselektoren auf einen Trail anwenden, werden alle vorhandenen grundlegenden Ereignisselektoren überschrieben.

Wie werden mehrere Bedingungen für CloudTrail ein Feld ausgewertet

Bei erweiterten Ereignis-Selektoren werden mehrere Bedingungen für ein Feld wie folgt CloudTrail ausgewertet:

  • DESELECTOperatoren werden zusammen AND verwendet. Wenn eine der Bedingungen des DESELECT Operators erfüllt ist, wird das Ereignis nicht zugestellt. Dies sind die gültigen DESELECT Operatoren für erweiterte Event-Selektoren:

    • NotEndsWith

    • NotEquals

    • NotStartsWith

  • SELECTOperatoren werden mit ODER verknüpft. Dies sind die gültigen SELECT Operatoren für erweiterte Event-Selektoren:

    • EndsWith

    • Equals

    • StartsWith

  • Kombinationen von DESELECT Operatoren SELECT und folgen den obigen Regeln, und beide Gruppen werden zusammen AND betrachtet.

Beispiel, das mehrere Bedingungen für das resources.ARN Feld zeigt

Die folgende Beispielanweisung zur Ereignisauswahl sammelt Datenereignisse für den AWS::S3::Object Ressourcentyp und wendet mehrere Bedingungen auf das resources.ARN Feld an.

{ "Name": "S3Select", "FieldSelectors": [ { "Field": "eventCategory", "Equals": [ "Data" ] }, { "Field": "resources.type", "Equals": [ "AWS::S3::Object" ] }, { "Field": "resources.ARN", "Equals": [ "arn:aws:s3:::amzn-s3-demo-bucket/object1" ], "StartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/" ], "EndsWith": [ "object3" ], "NotStartsWith": [ "arn:aws:s3:::amzn-s3-demo-bucket/deselect" ], "NotEndsWith": [ "object5" ], "NotEquals": [ "arn:aws:s3:::amzn-s3-demo-bucket/object6" ] } ] }

Im vorherigen Beispiel werden Amazon S3 S3-Datenereignisse für die AWS::S3::Object Ressource zugestellt, wenn:

  1. Keine dieser DESELECT Betreiberbedingungen ist erfüllt:

    • das resources.ARN Feld, NotStartsWith der Wert arn:aws:s3:::amzn-s3-demo-bucket/deselect

    • das resources.ARN Feld NotEndsWith der Wert object5

    • das resources.ARN Feld NotEquals der Wert arn:aws:s3:::amzn-s3-demo-bucket/object6

  2. Mindestens eine dieser SELECT Operatorbedingungen ist erfüllt:

    • das resources.ARN Feld, Equals der Wert arn:aws:s3:::amzn-s3-demo-bucket/object1

    • das resources.ARN Feld StartsWith der Wert arn:aws:s3:::amzn-s3-demo-bucket/

    • das resources.ARN Feld EndsWith der Wert object3

Basierend auf der Bewertungslogik:

  1. Datenereignisse für amzn-s3-demo-bucket/object1 werden übermittelt, da sie mit dem Wert für den Equals Operator und keinem der Werte für die NotEquals Operatoren NotStartsWithNotEndsWith, und übereinstimmen.

  2. Das Datenereignis für amzn-s3-demo-bucket/object2 wird übermittelt, da es mit dem Wert für den StartsWith Operator und keinem der Werte für die NotEquals Operatoren NotStartsWithNotEndsWith, und übereinstimmt.

  3. Das amzn-s3-demo-bucket1/object3 Datenereignis für wird übermittelt, weil es dem EndsWith Operator entspricht und keinem der Werte für die NotEquals Operatoren NotStartsWithNotEndsWith, und.

  4. Datenereignisse für arn:aws:s3:::amzn-s3-demo-bucket/deselectObject4 werden nicht übermittelt, da sie der Bedingung für entsprechen, NotStartsWith obwohl sie der Bedingung für den StartsWith Operator entsprechen.

  5. Datenereignisse für arn:aws:s3:::amzn-s3-demo-bucket/object5 werden nicht übermittelt, da sie der Bedingung für entsprechen, NotEndsWith obwohl sie der Bedingung für den StartsWith Operator entsprechen.

  6. Datenereignisse für arn:aws:s3:::amzn-s3-demo-bucket/object6 werden nicht zugestellt, da sie der Bedingung für den NotEquals Operator entsprechen, obwohl sie der Bedingung für den StartsWith Operator entsprechen.

Datenereignisse filtern nach eventName

Mithilfe erweiterter Event-Selektoren können Sie Ereignisse basierend auf dem Wert des eventName Felds ein- oder ausschließen. Wenn Sie nach filtern, eventName können Sie die Kosten kontrollieren, da Sie vermeiden, dass Kosten entstehen, wenn AWS-Service Sie protokollieren Datenereignisse für fügt Unterstützung für neue Daten hinzu. APIs

Sie können einen beliebigen Operator für das eventName Feld verwenden. Sie können ihn verwenden, um jedes Datenereignis, bei dem protokolliert wurde, ein- oder herauszufiltern CloudTrail, z. B. PutBucket oder. GetSnapshotBlock

Filtern von Datenereignissen mit dem eventNameAWS Management Console

Gehen Sie wie folgt vor, um das eventName Feld mithilfe der CloudTrail Konsole zu filtern.

  1. Folgen Sie den Schritten im Verfahren zum Erstellen von Pfaden oder folgen Sie den Schritten im Verfahren zum Erstellen eines Ereignisdatenspeichers.

  2. Wenn Sie den Schritten zum Erstellen des Trail- oder Event-Datenspeichers folgen, treffen Sie die folgenden Auswahlen:

    1. Wählen Sie Datenereignisse aus.

    2. Wählen Sie den Datenereignistyp, für den Sie Datenereignisse protokollieren möchten.

    3. Wählen Sie für die Protokollauswahlvorlage die Option Benutzerdefiniert aus.

    4. (Optional) Geben Sie unter Selektorname einen Namen ein, um Ihre Auswahl zu identifizieren. Der Selektorname ist ein optionaler, beschreibender Name für eine erweiterte Ereignisauswahl, z. B. „Datenereignisse nur für zwei S3-Buckets protokollieren“. Der Name des Selektors wird wie Name in der erweiterten Ereignisauswahl aufgeführt und ist sichtbar, wenn Sie die Ansicht erweitern. JSON

    5. Gehen Sie unter Erweiterte Event-Selektoren wie folgt vor, um nach folgenden Kriterien zu filtern: eventName

      1. Wählen Sie für Feld die Option eventName.

      2. Wählen Sie für Operator den Bedingungsoperator aus. In diesem Beispiel wählen wir Equals, weil wir einen bestimmten API Anruf protokollieren möchten.

      3. Geben Sie unter Wert den Namen des Ereignisses ein, nach dem Sie filtern möchten.

      4. Um nach einem anderen zu filterneventName, wählen Sie + Bedingung. Informationen darüber, wie mehrere Bedingungen CloudTrail ausgewertet werden, finden Sie unterWie werden mehrere Bedingungen für CloudTrail ein Feld ausgewertet.

      Filtern Sie S3-Datenereignisse nach eventName
    6. Wählen Sie +Feld, um Filter für andere Felder hinzuzufügen.

Filtern von Datenereignissen eventName mithilfe von AWS CLI

Verwendung der AWS CLI, können Sie nach dem eventName Feld filtern, um bestimmte Ereignisse ein- oder auszuschließen.

Wenn Sie einen vorhandenen Trail- oder Event-Datenspeicher aktualisieren, um zusätzliche Event-Selektoren zu protokollieren, rufen Sie die aktuellen Event-Selektoren ab, indem Sie den get-event-selectorsBefehl für einen Trail oder den get-event-data-storeBefehl für einen Event-Datenspeicher ausführen. Aktualisieren Sie anschließend Ihre Event-Selektoren, um für jeden Datenressourcentyp, den Sie protokollieren möchten, eine Feldauswahl hinzuzufügen.

Im folgenden Beispiel werden S3-Datenereignisse in einem Trail protokolliert. Sie --advanced-event-selectors sind so konfiguriert, dass sie nur Datenereignisse für die GetObject PutObject ,- und DeleteObject API -Aufrufe protokollieren.

aws cloudtrail put-event-selectors \ --trail-name trailName \ --advanced-event-selectors '[ { "Name": "Log GetObject, PutObject and DeleteObject S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "eventName", "Equals": ["GetObject","PutObject","DeleteObject"] } ] } ]'

Im nächsten Beispiel wird ein neuer Ereignisdatenspeicher erstellt, der Datenereignisse für EBS Direct protokolliert, ListChangedBlocks API Aufrufe APIs jedoch ausschließt. Sie können das verwenden update-event-data-storeBefehl zum Aktualisieren eines vorhandenen Ereignisdatenspeichers.

aws cloudtrail create-event-data-store \ --name "eventDataStoreName" --advanced-event-selectors '[ { "Name": "Log all EBS Direct API data events except ListChangedBlocks", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::EC2::Snapshot"] }, { "Field": "eventName", "NotEquals": ["ListChangedBlocks"] } ] } ]'

Filterung von Datenereignissen nach resources.ARN

Mithilfe erweiterter Event-Selektoren können Sie nach dem Wert des resources.ARN Felds filtern.

Sie können einen beliebigen Operator mit verwendenresources.ARN, aber wenn Sie Equals oder verwendenNotEquals, muss der Wert exakt dem Wert einer gültigen Ressource für den ARN von Ihnen angegebenen resources.type Wert entsprechen. Um alle Datenereignisse für alle Objekte in einem bestimmten S3-Bucket zu protokollieren, verwenden Sie den StartsWith Operator und geben Sie nur den Bucket ARN als passenden Wert an.

Die folgende Tabelle zeigt das jeweils gültige ARN Formatresources.type.

Anmerkung

Sie können das resources.ARN Feld nicht verwenden, um Ressourcentypen zu filtern, bei denen dies nicht der Fall istARNs.

resources.type Ressourcen. ARN
AWS::DynamoDB::Table1
arn:partition:dynamodb:region:account_ID:table/table_name
AWS::Lambda::Function
arn:partition:lambda:region:account_ID:function:function_name

AWS::S3::Object2

arn:partition:s3:::amzn-s3-demo-bucket/ arn:partition:s3:::amzn-s3-demo-bucket/object_or_file_name/
AWS::AppConfig::Configuration
arn:partition:appconfig:region:account_ID:application/application_ID/environment/environment_ID/configuration/configuration_profile_ID
AWS::B2BI::Transformer
arn:partition:b2bi:region:account_ID:transformer/transformer_ID
AWS::Bedrock::AgentAlias
arn:partition:bedrock:region:account_ID:agent-alias/agent_ID/alias_ID
AWS::Bedrock::FlowAlias
arn:partition:bedrock:region:account_ID:flow/flow_ID/alias/alias_ID
AWS::Bedrock::Guardrail
arn:partition:bedrock:region:account_ID:guardrail/guardrail_ID
AWS::Bedrock::KnowledgeBase
arn:partition:bedrock:region:account_ID:knowledge-base/knowledge_base_ID
AWS::Cassandra::Table
arn:partition:cassandra:region:account_ID:keyspace/keyspace_name/table/table_name
AWS::CloudFront::KeyValueStore
arn:partition:cloudfront:region:account_ID:key-value-store/KVS_name
AWS::CloudTrail::Channel
arn:partition:cloudtrail:region:account_ID:channel/channel_UUID
AWS::CodeWhisperer::Customization
arn:partition:codewhisperer:region:account_ID:customization/customization_ID
AWS::CodeWhisperer::Profile
arn:partition:codewhisperer:region:account_ID:profile/profile_ID
AWS::Cognito::IdentityPool
arn:partition:cognito-identity:region:account_ID:identitypool/identity_pool_ID
AWS::DynamoDB::Stream
arn:partition:dynamodb:region:account_ID:table/table_name/stream/date_time
AWS::EC2::Snapshot
arn:partition:ec2:region::snapshot/snapshot_ID
AWS::EMRWAL::Workspace
arn:partition:emrwal:region:account_ID:workspace/workspace_name
AWS::FinSpace::Environment
arn:partition:finspace:region:account_ID:environment/environment_ID
AWS::Glue::Table
arn:partition:glue:region:account_ID:table/database_name/table_name
AWS::GreengrassV2::ComponentVersion
arn:partition:greengrass:region:account_ID:components/component_name
AWS::GreengrassV2::Deployment
arn:partition:greengrass:region:account_ID:deployments/deployment_ID
AWS::GuardDuty::Detector
arn:partition:guardduty:region:account_ID:detector/detector_ID
AWS::IoT::Certificate
arn:partition:iot:region:account_ID:cert/certificate_ID
AWS::IoT::Thing
arn:partition:iot:region:account_ID:thing/thing_ID
AWS::IoTSiteWise::Asset
arn:partition:iotsitewise:region:account_ID:asset/asset_ID
AWS::IoTSiteWise::TimeSeries
arn:partition:iotsitewise:region:account_ID:timeseries/timeseries_ID
AWS::IoTTwinMaker::Entity
arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID/entity/entity_ID
AWS::IoTTwinMaker::Workspace
arn:partition:iottwinmaker:region:account_ID:workspace/workspace_ID
AWS::KendraRanking::ExecutionPlan
arn:partition:kendra-ranking:region:account_ID:rescore-execution-plan/rescore_execution_plan_ID
AWS::Kinesis::Stream
arn:partition:kinesis:region:account_ID:stream/stream_name
AWS::Kinesis::StreamConsumer
arn:partition:kinesis:region:account_ID:stream_type/stream_name/consumer/consumer_name:consumer_creation_timestamp
AWS::KinesisVideo::Stream
arn:partition:kinesisvideo:region:account_ID:stream/stream_name/creation_time
AWS::MachineLearning::MlModel
arn:partition:machinelearning:region:account_ID:mlmodel/model_ID
AWS::ManagedBlockchain::Network
arn:partition:managedblockchain:::networks/network_name
AWS::ManagedBlockchain::Node
arn:partition:managedblockchain:region:account_ID:nodes/node_ID
AWS::MedicalImaging::Datastore
arn:partition:medical-imaging:region:account_ID:datastore/data_store_ID
AWS::NeptuneGraph::Graph
arn:partition:neptune-graph:region:account_ID:graph/graph_ID
AWS::One::UKey
arn:partition:one:region:account_ID:user/user_ID/u-key/u-key_ID
AWS::One::User
arn:partition:one:region:account_ID:user/user_ID
AWS::PaymentCryptography::Alias
arn:partition:payment-cryptography:region:account_ID:alias/alias
AWS::PaymentCryptography::Key
arn:partition:payment-cryptography:region:account_ID:key/key_ID
AWS::PCAConnectorAD::Connector
arn:partition:pca-connector-ad:region:account_ID:connector/connector_ID
AWS::PCAConnectorSCEP::Connector
arn:partition:pca-connector-scep:region:account_ID:connector/connector_ID
AWS::QApps:QApp
arn:partition:qapps:region:account_ID:application/application_UUID/qapp/qapp_UUID
AWS::QBusiness::Application
arn:partition:qbusiness:region:account_ID:application/application_ID
AWS::QBusiness::DataSource
arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID/data-source/datasource_ID
AWS::QBusiness::Index
arn:partition:qbusiness:region:account_ID:application/application_ID/index/index_ID
AWS::QBusiness::WebExperience
arn:partition:qbusiness:region:account_ID:application/application_ID/web-experience/web_experienc_ID
AWS::RDS::DBCluster
arn:partition:rds:region:account_ID:cluster/cluster_name
AWS::RUM::AppMonitor
arn:partition:rum:region:account_ID:appmonitor/app_monitor_name

AWS::S3::AccessPoint3

arn:partition:s3:region:account_ID:accesspoint/access_point_name

AWS::S3Express::Object

arn:partition:s3express:region:account_ID:bucket/bucket_name
AWS::S3ObjectLambda::AccessPoint
arn:partition:s3-object-lambda:region:account_ID:accesspoint/access_point_name
AWS::S3Outposts::Object
arn:partition:s3-outposts:region:account_ID:object_path
AWS::SageMaker::Endpoint
arn:partition:sagemaker:region:account_ID:endpoint/endpoint_name
AWS::SageMaker::ExperimentTrialComponent
arn:partition:sagemaker:region:account_ID:experiment-trial-component/experiment_trial_component_name
AWS::SageMaker::FeatureGroup
arn:partition:sagemaker:region:account_ID:feature-group/feature_group_name
AWS::SCN::Instance
arn:partition:scn:region:account_ID:instance/instance_ID
AWS::ServiceDiscovery::Namespace
arn:partition:servicediscovery:region:account_ID:namespace/namespace_ID
AWS::ServiceDiscovery::Service
arn:partition:servicediscovery:region:account_ID:service/service_ID
AWS::SNS::PlatformEndpoint
arn:partition:sns:region:account_ID:endpoint/endpoint_type/endpoint_name/endpoint_ID
AWS::SNS::Topic
arn:partition:sns:region:account_ID:topic_name
AWS::SQS::Queue
arn:partition:sqs:region:account_ID:queue_name
AWS::SSM::ManagedNode

Das ARN muss in einem der folgenden Formate vorliegen:

  • arn:partition:ssm:region:account_ID:managed-instance/instance_ID

  • arn:partition:ec2:region:account_ID:instance/instance_ID

AWS::SSMMessages::ControlChannel
arn:partition:ssmmessages:region:account_ID:control-channel/control_channel_ID
AWS::StepFunctions::StateMachine

Das ARN muss in einem der folgenden Formate vorliegen:

  • arn:partition:states:region:account_ID:stateMachine:stateMachine_name

  • arn:partition:states:region:account_ID:stateMachine:stateMachine_name/label_name

AWS::SWF::Domain
arn:partition:swf:region:account_ID:/domain/domain_name
AWS::ThinClient::Device
arn:partition:thinclient:region:account_ID:device/device_ID
AWS::ThinClient::Environment
arn:partition:thinclient:region:account_ID:environment/environment_ID
AWS::Timestream::Database
arn:partition:timestream:region:account_ID:database/database_name
AWS::Timestream::Table
arn:partition:timestream:region:account_ID:database/database_name/table/table_name
AWS::VerifiedPermissions::PolicyStore
arn:partition:verifiedpermissions:region:account_ID:policy-store/policy_store_ID

1 Bei Tabellen mit aktivierten Streams enthält das resources-Feld im Datenereignis sowohl AWS::DynamoDB::Stream als auch AWS::DynamoDB::Table. Wenn Sie AWS::DynamoDB::Table als resources.type angeben, werden standardmäßig sowohl DynamoDB-Tabellen- als auch DynamoDB-Stream-Ereignisse protokolliert. Um Streams-Ereignisse auszuschließen, fügen Sie dem eventName Feld einen Filter hinzu.

2 Um alle Datenereignisse für alle Objekte in einem bestimmten S3-Bucket zu protokollieren, verwenden Sie den StartsWith Operator und geben Sie nur den Bucket ARN als passenden Wert an. Der abschließende Schrägstrich ist beabsichtigt; schließen Sie ihn nicht aus.

3 Um Ereignisse für alle Objekte in einem S3-Zugriffspunkt zu protokollieren, empfehlen wir, nur den Access Point zu verwendenARN, den Objektpfad nicht einzubeziehen und die NotStartsWith Operatoren StartsWith oder zu verwenden.

Filtern von Datenereignissen resources.ARN mithilfe von AWS Management Console

Gehen Sie wie folgt vor, um das resources.ARN Feld mithilfe der CloudTrail Konsole zu filtern.

  1. Folgen Sie den Schritten im Verfahren zum Erstellen von Pfaden oder folgen Sie den Schritten im Verfahren zum Erstellen eines Ereignisdatenspeichers.

  2. Wenn Sie den Schritten zum Erstellen des Trail- oder Event-Datenspeichers folgen, treffen Sie die folgenden Auswahlen:

    1. Wählen Sie Datenereignisse aus.

    2. Wählen Sie den Datenereignistyp, für den Sie Datenereignisse protokollieren möchten.

    3. Wählen Sie für die Protokollauswahlvorlage die Option Benutzerdefiniert aus.

    4. (Optional) Geben Sie unter Selektorname einen Namen ein, um Ihre Auswahl zu identifizieren. Der Selektorname ist ein optionaler, beschreibender Name für eine erweiterte Ereignisauswahl, z. B. „Datenereignisse nur für zwei S3-Buckets protokollieren“. Der Name des Selektors wird wie Name in der erweiterten Ereignisauswahl aufgeführt und ist sichtbar, wenn Sie die Ansicht erweitern. JSON

    5. Gehen Sie unter Erweiterte Event-Selektoren wie folgt vor, um nach folgenden Kriterien zu filtern: resources.ARN

      1. Wählen Sie für Feld die Option Ressourcen aus. ARN.

      2. Wählen Sie für Operator den Bedingungsoperator aus. In diesem Beispiel wählen wir starts with, weil wir Datenereignisse für einen bestimmten S3-Bucket protokollieren möchten.

      3. Geben Sie als Wert den ARN für Ihren Ressourcentyp ein (zum Beispiel arn:aws:s3:::amzn-s3-demo-bucket).

      4. Um eine andere zu filternresources.ARN, wählen Sie + Bedingung. Informationen darüber, wie mehrere Bedingungen CloudTrail ausgewertet werden, finden Sie unterWie werden mehrere Bedingungen für CloudTrail ein Feld ausgewertet.

      Filtern Sie S3-Datenereignisse nach resources.ARN
    6. Wählen Sie +Feld, um Filter für andere Felder hinzuzufügen.

Filtern von Datenereignissen resources.ARN mithilfe von AWS CLI

Verwendung der AWS CLI, können Sie nach dem resources.ARN Feld filtern, um Ereignisse für ein bestimmtes Ereignis zu protokollieren ARN oder die Protokollierung für ein bestimmtes Feld auszuschließenARN.

Wenn Sie einen vorhandenen Trail- oder Event-Datenspeicher aktualisieren, um zusätzliche Event-Selektoren zu protokollieren, rufen Sie die aktuellen Event-Selektoren ab, indem Sie den get-event-selectorsBefehl für einen Trail oder den get-event-data-storeBefehl für einen Event-Datenspeicher ausführen. Aktualisieren Sie anschließend Ihre Event-Selektoren, um für jeden Datenressourcentyp, den Sie protokollieren möchten, eine Feldauswahl hinzuzufügen.

Das folgende Beispiel zeigt, wie Sie Ihren Trail so konfigurieren, dass alle Datenereignisse für alle Amazon-S3-Objekte in einem bestimmten S3 Bucket enthalten sind. Der Wert für S3-Ereignisse für das resources.type-Feld ist AWS::S3::Object. Da sich die ARN Werte für S3-Objekte und S3-Buckets geringfügig unterscheiden, müssen Sie den StartsWith Operator for hinzufügen, um alle Ereignisse resources.ARN zu erfassen.

aws cloudtrail put-event-selectors \ --trail-name TrailName \ --region region \ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:aws:s3:::amzn-s3-demo-bucket/"] } ] } ]'

Datenereignisse nach readOnly Wert filtern

Mithilfe erweiterter Event-Selektoren können Sie basierend auf dem Wert des readOnly Felds filtern.

Sie können den Equals Operator nur mit dem readOnly Feld verwenden. Sie können den readOnly Wert auf true oder setzenfalse. Wenn Sie dieses Feld nicht hinzufügen, werden sowohl Lese- als auch Schreibereignisse CloudTrail protokolliert. Ein Wert von true protokolliert nur Leseereignisse. Der Wert false protokolliert nur Ereignisse, bei denen nur Ereignisse geschrieben werden.

Datenereignisse nach readOnly Wert filtern mit dem AWS Management Console

Gehen Sie wie folgt vor, um das readOnly Feld mithilfe der CloudTrail Konsole zu filtern.

  1. Folgen Sie den Schritten im Verfahren zum Erstellen von Pfaden oder folgen Sie den Schritten im Verfahren zum Erstellen eines Ereignisdatenspeichers.

  2. Wenn Sie den Schritten zum Erstellen des Trail- oder Event-Datenspeichers folgen, treffen Sie die folgenden Auswahlen:

    1. Wählen Sie Datenereignisse aus.

    2. Wählen Sie den Datenereignistyp, für den Sie Datenereignisse protokollieren möchten.

    3. Wählen Sie unter Log Selector Template die passende Vorlage für Ihren Anwendungsfall aus.

      Wählen Sie die Protokollauswahlvorlage für Datenereignisse
      Wenn Sie dies planen Wählen Sie diese Log-Selector-Vorlage

      Protokollieren Sie nur Leseereignisse und wenden Sie keine anderen Filter an (z. B. auf den resources.ARN Wert).

      readOnly Ereignisse protokollieren

      Protokollieren Sie nur Schreibereignisse und wenden Sie keine anderen Filter an (z. B. auf den resources.ARN Wert).

      writeOnly Ereignisse protokollieren

      Filtern Sie nach dem readOnly Wert und wenden Sie zusätzliche Filter an (z. B. auf den resources.ARN Wert).

      Custom (Benutzerdefiniert)

      Gehen Sie unter Erweiterte Event-Selektoren wie folgt vor, um nach dem readOnly Wert zu filtern:

      Um Schreibereignisse zu protokollieren
      1. Wählen Sie für Feld die Option readOnly.

      2. Wählen Sie für Operator die Option Equals aus.

      3. Geben Sie für Wert false ein.

      4. Wählen Sie +Feld, um Filter für andere Felder hinzuzufügen.

      Um Leseereignisse zu protokollieren
      1. Wählen Sie für Feld die Option readOnly.

      2. Wählen Sie für Operator die Option Equals aus.

      3. Geben Sie für Wert true ein.

      4. Wählen Sie +Feld, um Filter für andere Felder hinzuzufügen.

Filtern von Datenereignissen nach readOnly Wert mithilfe der AWS CLI

Verwendung der AWS CLI, Sie können nach dem readOnly Feld filtern.

Sie können den Equals Operator nur mit dem readOnly Feld verwenden. Sie können den readOnly Wert auf true oder setzenfalse. Wenn Sie dieses Feld nicht hinzufügen, werden sowohl Lese- als auch Schreibereignisse CloudTrail protokolliert. Ein Wert von true protokolliert nur Leseereignisse. Der Wert false protokolliert nur Ereignisse, bei denen nur Ereignisse geschrieben werden.

Wenn Sie einen vorhandenen Trail- oder Event-Datenspeicher aktualisieren, um zusätzliche Event-Selektoren zu protokollieren, rufen Sie die aktuellen Event-Selektoren ab, indem Sie den get-event-selectorsBefehl für einen Trail oder den get-event-data-storeBefehl für einen Event-Datenspeicher ausführen. Aktualisieren Sie anschließend Ihre Event-Selektoren, um für jeden Datenressourcentyp, den Sie protokollieren möchten, eine Feldauswahl hinzuzufügen.

Das folgende Beispiel zeigt, wie Sie Ihren Trail so konfigurieren, dass schreibgeschützte Datenereignisse für alle Amazon S3 S3-Objekte protokolliert werden.

aws cloudtrail put-event-selectors \ --trail-name TrailName \ --region region \ --advanced-event-selectors '[ { "Name": "Log read-only S3 data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "readOnly", "Equals": ["true"] } ] } ]'

Im nächsten Beispiel wird ein neuer Ereignisdatenspeicher erstellt, der nur schreibgeschützte Datenereignisse für Direct protokolliert. EBS APIs Sie können das verwenden update-event-data-storeBefehl zum Aktualisieren eines vorhandenen Ereignisdatenspeichers.

aws cloudtrail create-event-data-store \ --name "eventDataStoreName" \ --advanced-event-selectors \ '[ { "Name": "Log write-only EBS Direct API data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::EC2::Snapshot"] }, { "Field": "readOnly", "Equals": ["false"] } ] } ]'