Filtrer les événements liés aux données à l'aide de sélecteurs d'événements avancés - AWS CloudTrail

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Filtrer les événements liés aux données à l'aide de sélecteurs d'événements avancés

Cette section décrit comment utiliser les sélecteurs d'événements avancés pour créer des sélecteurs précis, qui vous aident à contrôler les coûts en enregistrant uniquement les événements de données spécifiques qui vous intéressent.

Par exemple :

  • Vous pouvez inclure ou exclure des API appels spécifiques en ajoutant un filtre sur le eventName champ.

  • Vous pouvez inclure ou exclure la journalisation pour des ressources spécifiques en ajoutant un filtre sur le resources.ARN champ. Par exemple, si vous enregistrez des événements de données S3, vous pouvez exclure la journalisation du compartiment S3 de votre parcours.

  • Vous pouvez choisir de ne consigner que les événements en écriture seule ou en lecture seule en ajoutant un filtre sur le champ. readOnly

Le tableau suivant fournit des informations supplémentaires sur les champs configurables pour les sélecteurs d'événements avancés.

Champ Obligatoire Opérateurs valides Description

eventCategory

Oui

Equals

Ce champ est configuré pour enregistrer Data les événements liés aux données.

resources.type

Oui

Equals

Ce champ est utilisé pour sélectionner le type de ressource pour lequel vous souhaitez enregistrer des événements de données. Le tableau des événements de données indique les valeurs possibles.

readOnly

Non

Equals

Il s'agit d'un champ facultatif utilisé pour inclure ou exclure des événements de données en fonction de la readOnly valeur. Une valeur des true journaux ne lit que les événements. Une valeur de false logs n'écrit que des événements. Si vous n'ajoutez pas ce champ, CloudTrail enregistre les événements de lecture et d'écriture.

eventName

Non

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Il s'agit d'un champ facultatif utilisé pour filtrer ou filtrer tout événement de données enregistré CloudTrail, tel que ou. PutBucket GetSnapshotBlock

Si vous utilisez le AWS CLI, vous pouvez spécifier plusieurs valeurs en séparant chaque valeur par une virgule.

Si vous utilisez la console, vous pouvez spécifier plusieurs valeurs en créant une condition pour chacune des valeurs que eventName vous souhaitez filtrer.

resources.ARN

Non

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Il s'agit d'un champ facultatif utilisé pour exclure ou inclure des événements de données pour une ressource spécifique en fournissant leresources.ARN. Vous pouvez utiliser n'importe quel opérateurresources.ARN, mais si vous utilisez Equals ouNotEquals, la valeur doit correspondre exactement à celle ARN d'une ressource valide pour celle que resoureces.type vous avez spécifiée. Pour enregistrer tous les événements de données pour tous les objets d'un compartiment S3 spécifique, utilisez l'StartsWithopérateur et incluez uniquement le compartiment ARN comme valeur correspondante.

Si vous utilisez le AWS CLI, vous pouvez spécifier plusieurs valeurs en séparant chaque valeur par une virgule.

Si vous utilisez la console, vous pouvez spécifier plusieurs valeurs en créant une condition pour chacune des valeurs que resources.ARN vous souhaitez filtrer.

Pour enregistrer les événements de données à l'aide de la CloudTrail console, vous choisissez l'option Événements de données, puis sélectionnez le type d'événement de données qui vous intéresse lorsque vous créez ou mettez à jour un journal ou un magasin de données d'événements. Le tableau des événements de données indique les types d'événements de données possibles que vous pouvez choisir sur la CloudTrail console.

Sélection du type d'événement relatif aux données du SNSsujet sur la console.

Pour enregistrer les événements liés aux données à l'aide du AWS CLI, configurez le --advanced-event-selector paramètre pour définir la valeur eventCategory égale Data et la resources.type valeur égale à la valeur du type de ressource pour lequel vous souhaitez enregistrer les événements de données. Le tableau des événements de données répertorie les types de ressources disponibles.

Par exemple, si vous souhaitez enregistrer les événements de données pour tous les pools Cognito Identity, vous devez configurer le --advanced-event-selectors paramètre comme suit :

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

L'exemple précédent enregistre tous les événements de données Cognito sur les groupes d'identités. Vous pouvez affiner davantage les sélecteurs d'événements avancés pour filtrer les eventNamereadOnly, et les resources.ARN champs pour enregistrer des événements spécifiques présentant un intérêt ou exclure des événements qui ne présentent aucun intérêt.

Vous pouvez configurer des sélecteurs d'événements avancés pour filtrer les événements de données en fonction de plusieurs champs. Par exemple, vous pouvez configurer des sélecteurs d'événements avancés pour consigner tous les DeleteObject API appels PutObject et Amazon S3, mais exclure la journalisation des événements pour un compartiment S3 spécifique, comme illustré dans l'exemple suivant. Remplacez amzn-s3-demo-bucket avec le nom de votre compartiment.

--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/"] } ] } ]'

Vous pouvez également inclure plusieurs conditions pour un champ. Pour plus d'informations sur la manière dont plusieurs conditions sont évaluées, voirComment CloudTrail évaluer plusieurs conditions pour un champ.

Vous pouvez utiliser des sélecteurs d'événements avancés pour enregistrer à la fois les événements de gestion et de données. Pour enregistrer des événements de données pour plusieurs types de ressources, ajoutez une instruction de sélection de champs pour chaque type de ressource pour lequel vous souhaitez enregistrer des événements de données.

Note

Les sentiers peuvent utiliser des sélecteurs d'événements de base ou des sélecteurs d'événements avancés, mais pas les deux. Si vous appliquez des sélecteurs d’événements avancés à un journal de suivi, tous les sélecteurs d’événements de base existants sont remplacés.

Comment CloudTrail évaluer plusieurs conditions pour un champ

Pour les sélecteurs d'événements avancés, CloudTrail évalue plusieurs conditions pour un champ comme suit :

  • DESELECTles opérateurs AND sont ensemble. Si l'une des conditions de l'DESELECTopérateur est remplie, l'événement n'est pas organisé. Voici les DESELECT opérateurs valides pour les sélecteurs d'événements avancés :

    • NotEndsWith

    • NotEquals

    • NotStartsWith

  • SELECTles opérateurs sont en OR ensemble. Voici les SELECT opérateurs valides pour les sélecteurs d'événements avancés :

    • EndsWith

    • Equals

    • StartsWith

  • Les combinaisons d'DESELECTopérateurs SELECT et suivent les règles ci-dessus et les deux groupes AND sont combinés.

Exemple illustrant plusieurs conditions pour le resources.ARN champ

L'exemple d'instruction de sélection d'événements suivant collecte des événements de données pour le type de AWS::S3::Object ressource et applique plusieurs conditions sur le resources.ARN terrain.

{ "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" ] } ] }

Dans l'exemple précédent, les événements de données Amazon S3 relatifs à la AWS::S3::Object ressource seront fournis si :

  1. Aucune de ces conditions de DESELECT l'opérateur n'est remplie :

    • le resources.ARN champNotStartsWith, la valeur arn:aws:s3:::amzn-s3-demo-bucket/deselect

    • le resources.ARN champNotEndsWith, la valeur object5

    • le resources.ARN champNotEquals, la valeur arn:aws:s3:::amzn-s3-demo-bucket/object6

  2. Au moins l'une de ces conditions de SELECT l'opérateur est remplie :

    • le resources.ARN champEquals, la valeur arn:aws:s3:::amzn-s3-demo-bucket/object1

    • le resources.ARN champStartsWith, la valeur arn:aws:s3:::amzn-s3-demo-bucket/

    • le resources.ARN champEndsWith, la valeur object3

Sur la base de la logique d'évaluation :

  1. Les événements de données pour amzn-s3-demo-bucket/object1 seront fournis car ils correspondent à la valeur de Equals l'opérateur et ne correspondent à aucune des valeurs des NotEquals opérateurs NotStartsWithNotEndsWith, et.

  2. L'événement de données pour amzn-s3-demo-bucket/object2 sera délivré car il correspond à la valeur de StartsWith l'opérateur et ne correspond à aucune des valeurs des NotEquals opérateurs NotStartsWithNotEndsWith, et.

  3. Les événements de données pour amzn-s3-demo-bucket1/object3 seront fournis car ils correspondent à l'EndsWithopérateur et ne correspondent à aucune des valeurs des NotEquals opérateurs NotStartsWithNotEndsWith, et.

  4. Les événements de données pour ne arn:aws:s3:::amzn-s3-demo-bucket/deselectObject4 seront pas fournis car ils correspondent à la condition du NotStartsWith même si elles correspondent à la condition de l'StartsWithopérateur.

  5. Les événements de données pour ne arn:aws:s3:::amzn-s3-demo-bucket/object5 seront pas fournis car ils correspondent à la condition du NotEndsWith même si elles correspondent à la condition de l'StartsWithopérateur.

  6. Les événements de données pour le ne arn:aws:s3:::amzn-s3-demo-bucket/object6 seront pas transmis car ils correspondent à la condition de l'NotEqualsopérateur, même s'ils correspondent à la condition de l'StartsWithopérateur.

Filtrer les événements de données par eventName

À l'aide de sélecteurs d'événements avancés, vous pouvez inclure ou exclure des événements en fonction de la valeur du eventName champ. Le filtrage sur le eventName peut aider à contrôler les coûts, car vous évitez d'encourir des coûts lorsque Service AWS vous enregistrez des événements de données pour ajouter de la prise en charge des nouvelles donnéesAPIs.

Vous pouvez utiliser n'importe quel opérateur avec le eventName champ. Vous pouvez l'utiliser pour filtrer ou filtrer tout événement de données enregistré CloudTrail, tel que ou. PutBucket GetSnapshotBlock

Filtrer les événements liés aux données à eventName l'aide du AWS Management Console

Procédez comme suit pour filtrer sur le eventName terrain à l'aide de la CloudTrail console.

  1. Suivez les étapes de la procédure de création d'un journal ou suivez les étapes de la procédure de création d'un magasin de données d'événements.

  2. Au fur et à mesure que vous suivez les étapes de création du magasin de données de parcours ou d'événement, effectuez les sélections suivantes :

    1. Choisissez Data events.

    2. Choisissez le type d'événement de données pour lequel vous souhaitez enregistrer les événements de données.

    3. Pour le modèle de sélecteur de journal, choisissez Personnalisé.

    4. (Facultatif) Dans Nom du sélecteur, saisissez un nom pour identifier votre sélecteur. Le nom du sélecteur est un nom descriptif pour un sélecteur d'événements avancé, tel que « Journaliser les événements de données pour deux compartiments S3 uniquement ». Le nom du sélecteur est répertorié comme Name dans le sélecteur d'événements avancé et est visible si vous agrandissez la vue. JSON

    5. Dans les sélecteurs d'événements avancés, procédez comme suit pour filtrer les eventName éléments suivants :

      1. Pour Field, choisissez eventName.

      2. Pour Opérateur, choisissez l'opérateur de condition. Dans cet exemple, nous allons choisir « égal » parce que nous voulons enregistrer un API appel spécifique.

      3. Dans Valeur, entrez le nom de l'événement sur lequel vous souhaitez filtrer.

      4. Pour filtrer sur une autre optioneventName, choisissez + Condition. Pour plus d'informations sur le mode CloudTrail d'évaluation de plusieurs conditions, consultezComment CloudTrail évaluer plusieurs conditions pour un champ.

      Filtrer les événements de données S3 par eventName
    6. Choisissez +Champ pour ajouter des filtres sur d'autres champs.

Filtrer les événements liés aux données à eventName l'aide du AWS CLI

Utilisation de AWS CLI, vous pouvez filtrer le eventName champ pour inclure ou exclure des événements spécifiques.

Si vous mettez à jour un magasin de données de suivi ou d'événement existant pour enregistrer des sélecteurs d'événements supplémentaires, obtenez les sélecteurs d'événements actuels en exécutant la get-event-selectorscommande pour un suivi ou la get-event-data-storecommande pour un magasin de données d'événements. Mettez ensuite à jour vos sélecteurs d'événements pour ajouter un sélecteur de champ pour chaque type de ressource de données que vous souhaitez enregistrer.

L'exemple suivant enregistre les événements liés aux données S3 sur un parcours. Ils --advanced-event-selectors sont configurés pour enregistrer uniquement les événements de données pour les DeleteObject API appels GetObjectPutObject, et.

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"] } ] } ]'

L'exemple suivant crée un nouveau magasin de données d'événements qui enregistre les événements de données pour EBS Direct APIs mais exclut les ListChangedBlocks API appels. Vous pouvez utiliser le update-event-data-storecommande pour mettre à jour un magasin de données d'événements existant.

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"] } ] } ]'

Filtrer les événements de données par resources.ARN

À l'aide de sélecteurs d'événements avancés, vous pouvez filtrer en fonction de la valeur du resources.ARN champ.

Vous pouvez utiliser n'importe quel opérateurresources.ARN, mais si vous utilisez Equals ouNotEquals, la valeur doit correspondre exactement à celle ARN d'une ressource valide pour la resources.type valeur que vous avez spécifiée. Pour enregistrer tous les événements de données pour tous les objets d'un compartiment S3 spécifique, utilisez l'StartsWithopérateur et incluez uniquement le compartiment ARN comme valeur correspondante.

Le tableau suivant indique le ARN format valide pour chacun d'entre euxresources.type.

Note

Vous ne pouvez pas utiliser le resources.ARN champ pour filtrer les types de ressources qui n'en ont pasARNs.

resources.type ressources. 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

ARNIl doit être dans l'un des formats suivants :

  • 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

ARNIl doit être dans l'un des formats suivants :

  • 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 Pour les tables ayant les flux activés, le champ resources dans l’événement de plan de données contient à la fois AWS::DynamoDB::Stream et AWS::DynamoDB::Table. Si vous spécifiez AWS::DynamoDB::Table comme resources.type, les événements de table DynamoDB et les événements de flux DynamoDB sont journalisés par défaut. Pour exclure les événements de flux, ajoutez un filtre sur le eventName champ.

2 Pour enregistrer tous les événements de données pour tous les objets d'un compartiment S3 spécifique, utilisez l'StartsWithopérateur et incluez uniquement le compartiment ARN comme valeur correspondante. La barre oblique de fin est intentionnelle ; ne l’excluez pas.

3 Pour consigner les événements relatifs à tous les objets d'un point d'accès S3, nous vous recommandons de n'utiliser que le point d'accèsARN, de ne pas inclure le chemin de l'objet et d'utiliser les NotStartsWith opérateurs StartsWith or.

Filtrer les événements liés aux données à resources.ARN l'aide du AWS Management Console

Procédez comme suit pour filtrer sur le resources.ARN terrain à l'aide de la CloudTrail console.

  1. Suivez les étapes de la procédure de création d'un journal ou suivez les étapes de la procédure de création d'un magasin de données d'événements.

  2. Au fur et à mesure que vous suivez les étapes de création du magasin de données de parcours ou d'événement, effectuez les sélections suivantes :

    1. Choisissez Data events.

    2. Choisissez le type d'événement de données pour lequel vous souhaitez enregistrer les événements de données.

    3. Pour le modèle de sélecteur de journal, choisissez Personnalisé.

    4. (Facultatif) Dans Nom du sélecteur, saisissez un nom pour identifier votre sélecteur. Le nom du sélecteur est un nom descriptif pour un sélecteur d'événements avancé, tel que « Journaliser les événements de données pour deux compartiments S3 uniquement ». Le nom du sélecteur est répertorié comme Name dans le sélecteur d'événements avancé et est visible si vous agrandissez la vue. JSON

    5. Dans les sélecteurs d'événements avancés, procédez comme suit pour filtrer les resources.ARN éléments suivants :

      1. Pour Field, sélectionnez les ressources. ARN.

      2. Pour Opérateur, choisissez l'opérateur de condition. Dans cet exemple, nous allons choisir commence par parce que nous voulons enregistrer les événements de données pour un compartiment S3 spécifique.

      3. Dans Valeur, entrez le type de ressource ARN correspondant à votre type de ressource (par exemple, arn:aws:s3:::amzn-s3-demo-bucket).

      4. Pour en filtrer un autreresources.ARN, choisissez + Condition. Pour plus d'informations sur le mode CloudTrail d'évaluation de plusieurs conditions, consultezComment CloudTrail évaluer plusieurs conditions pour un champ.

      Filtrer les événements de données S3 par resources.ARN
    6. Choisissez +Champ pour ajouter des filtres sur d'autres champs.

Filtrer les événements liés aux données à resources.ARN l'aide du AWS CLI

Utilisation de AWS CLI, vous pouvez filtrer le resources.ARN champ pour enregistrer les événements relatifs à un événement spécifique ARN ou exclure la journalisation pour un événement spécifiqueARN.

Si vous mettez à jour un magasin de données de suivi ou d'événement existant pour enregistrer des sélecteurs d'événements supplémentaires, obtenez les sélecteurs d'événements actuels en exécutant la get-event-selectorscommande pour un suivi ou la get-event-data-storecommande pour un magasin de données d'événements. Mettez ensuite à jour vos sélecteurs d'événements pour ajouter un sélecteur de champ pour chaque type de ressource de données que vous souhaitez enregistrer.

L’exemple suivant indique comment configurer votre journal de suivi pour inclure tous les événements de données pour tous les objets Amazon S3 dans un compartiment S3 spécifique. La valeur des événements S3 pour le champ resources.type est AWS::S3::Object. Les ARN valeurs des objets S3 et des compartiments S3 étant légèrement différentes, vous devez ajouter l'StartsWithopérateur for resources.ARN pour capturer tous les événements.

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/"] } ] } ]'

Filtrer les événements de données par readOnly valeur

À l'aide de sélecteurs d'événements avancés, vous pouvez filtrer en fonction de la valeur du readOnly champ.

Vous ne pouvez utiliser l'Equalsopérateur qu'avec le readOnly champ. Vous pouvez définir la readOnly valeur sur true oufalse. Si vous n'ajoutez pas ce champ, CloudTrail enregistre les événements de lecture et d'écriture. Une valeur des true journaux ne lit que les événements. Une valeur de false logs n'écrit que des événements.

Filtrer les événements de données par readOnly valeur à l'aide du AWS Management Console

Procédez comme suit pour filtrer sur le readOnly terrain à l'aide de la CloudTrail console.

  1. Suivez les étapes de la procédure de création d'un journal ou suivez les étapes de la procédure de création d'un magasin de données d'événements.

  2. Au fur et à mesure que vous suivez les étapes de création du magasin de données de parcours ou d'événement, effectuez les sélections suivantes :

    1. Choisissez Data events.

    2. Choisissez le type d'événement de données pour lequel vous souhaitez enregistrer les événements de données.

    3. Pour le modèle de sélecteur de journal, choisissez le modèle adapté à votre cas d'utilisation.

      Choisissez le modèle de sélecteur de journal pour les événements de données
      Si vous avez l'intention de le faire Choisissez ce modèle de sélecteur de journal

      Enregistrez uniquement les événements de lecture et n'appliquez aucun autre filtre (par exemple, sur la resources.ARN valeur).

      Journaliser readOnly les événements

      Consignez uniquement les événements d'écriture et n'appliquez aucun autre filtre (par exemple, sur la resources.ARN valeur).

      Journaliser writeOnly les événements

      Filtrez sur la readOnly valeur et appliquez des filtres supplémentaires (par exemple, sur la resources.ARN valeur).

      Personnalisé

      Dans les sélecteurs d'événements avancés, procédez comme suit pour filtrer en fonction de la readOnly valeur :

      Pour enregistrer les événements d'écriture
      1. Pour Field, choisissez readOnly.

      2. Pour Opérateur, choisissez Égal à.

      3. Pour le champ Valeur, saisissez false.

      4. Choisissez +Champ pour ajouter des filtres sur d'autres champs.

      Pour enregistrer les événements de lecture
      1. Pour Field, choisissez readOnly.

      2. Pour Opérateur, choisissez Égal à.

      3. Pour le champ Valeur, saisissez true.

      4. Choisissez +Champ pour ajouter des filtres sur d'autres champs.

Filtrer les événements de données par readOnly valeur à l'aide du AWS CLI

Utilisation de AWS CLI, vous pouvez filtrer sur le readOnly terrain.

Vous ne pouvez utiliser l'Equalsopérateur qu'avec le readOnly champ. Vous pouvez définir la readOnly valeur sur true oufalse. Si vous n'ajoutez pas ce champ, CloudTrail enregistre les événements de lecture et d'écriture. Une valeur des true journaux ne lit que les événements. Une valeur de false logs n'écrit que des événements.

Si vous mettez à jour un magasin de données de suivi ou d'événement existant pour enregistrer des sélecteurs d'événements supplémentaires, obtenez les sélecteurs d'événements actuels en exécutant la get-event-selectorscommande pour un suivi ou la get-event-data-storecommande pour un magasin de données d'événements. Mettez ensuite à jour vos sélecteurs d'événements pour ajouter un sélecteur de champ pour chaque type de ressource de données que vous souhaitez enregistrer.

L'exemple suivant montre comment configurer votre journal pour consigner les événements de données en lecture seule pour tous les objets Amazon S3.

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"] } ] } ]'

L'exemple suivant crée un nouveau magasin de données d'événements qui enregistre uniquement les événements de données en écriture uniquement pour EBS Direct. APIs Vous pouvez utiliser le update-event-data-storecommande pour mettre à jour un magasin de données d'événements existant.

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"] } ] } ]'