Filtrando eventos de dados usando seletores de eventos avançados - AWS CloudTrail

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Filtrando eventos de dados usando seletores de eventos avançados

Esta seção descreve como você pode usar seletores de eventos avançados para criar seletores refinados, que ajudam a controlar os custos registrando somente os eventos de dados específicos de interesse.

Por exemplo:

  • Você pode incluir ou excluir API chamadas específicas adicionando um filtro no eventName campo.

  • Você pode incluir ou excluir o registro de recursos específicos adicionando um filtro no resources.ARN campo. Por exemplo, se você estivesse registrando eventos de dados do S3, poderia excluir o registro do bucket do S3 para sua trilha.

  • Você pode optar por registrar somente eventos somente de gravação ou eventos somente de leitura adicionando um filtro no campo. readOnly

A tabela a seguir fornece informações adicionais sobre os campos configuráveis para seletores de eventos avançados.

Campo Obrigatório Operadores válidos Descrição

eventCategory

Sim

Equals

Esse campo está definido Data para registrar eventos de dados.

resources.type

Sim

Equals

Esse campo é usado para selecionar o tipo de recurso para o qual você deseja registrar eventos de dados. A tabela de eventos de dados mostra os valores possíveis.

readOnly

Não

Equals

Esse é um campo opcional usado para incluir ou excluir eventos de dados com base no readOnly valor. Um valor de true registros só lê eventos. Um valor de false logs só grava eventos. Se você não adicionar esse campo, CloudTrail registrará os eventos de leitura e gravação.

eventName

Não

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Esse é um campo opcional usado para filtrar ou filtrar qualquer evento de dados registrado, como ou. CloudTrail PutBucket GetSnapshotBlock

Se você estiver usando o AWS CLI, você pode especificar vários valores separando cada valor com uma vírgula.

Se você estiver usando o console, poderá especificar vários valores criando uma condição para cada um eventName que você deseja filtrar.

resources.ARN

Não

EndsWith

Equals

NotEndsWith

NotEquals

NotStartsWith

StartsWith

Esse é um campo opcional usado para excluir ou incluir eventos de dados para um recurso específico fornecendo resources.ARN o. Você pode usar qualquer operador comresources.ARN, mas se usar Equals ouNotEquals, o valor deve corresponder exatamente ao ARN de um recurso válido para o que resoureces.type você especificou. Para registrar todos os eventos de dados de todos os objetos em um bucket específico do S3, use o StartsWith operador e inclua somente o bucket ARN como valor correspondente.

Se você estiver usando o AWS CLI, você pode especificar vários valores separando cada valor com uma vírgula.

Se você estiver usando o console, poderá especificar vários valores criando uma condição para cada um resources.ARN que você deseja filtrar.

Para registrar eventos de dados usando o CloudTrail console, você escolhe a opção Eventos de dados e, em seguida, seleciona o tipo de evento de dados de interesse ao criar ou atualizar um armazenamento de dados de trilhas ou eventos. A tabela Eventos de dados mostra os possíveis tipos de eventos de dados que você pode escolher no CloudTrail console.

Seleção do tipo de evento de dados do SNStópico no console.

Para registrar eventos de dados com o AWS CLI, configure o --advanced-event-selector parâmetro para definir o valor eventCategory igual Data e igual ao resources.type valor do tipo de recurso para o qual você deseja registrar eventos de dados. A tabela de eventos de dados lista os tipos de recursos disponíveis.

Por exemplo, se você quisesse registrar eventos de dados para todos os pools de Identidade do Cognito, você configuraria o --advanced-event-selectors parâmetro para ter a seguinte aparência:

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

O exemplo anterior registra todos os eventos de dados do Cognito nos grupos de identidade. Você pode refinar ainda mais os seletores de eventos avançados para filtrar os resources.ARN campos eventNamereadOnly,, e para registrar eventos específicos de interesse ou excluir eventos que não sejam de interesse.

Você pode configurar seletores de eventos avançados para filtrar eventos de dados com base em vários campos. Por exemplo, você pode configurar seletores de eventos avançados para registrar todas as chamadas DeleteObject API e o Amazon PutObject S3, mas excluir o registro de eventos para um bucket específico do S3, conforme mostrado no exemplo a seguir. Substituir amzn-s3-demo-bucket com o nome do seu bucket.

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

Você também pode incluir várias condições para um campo. Para obter informações sobre como várias condições são avaliadas, consulteComo CloudTrail avalia várias condições para um campo.

Você pode usar seletores de eventos avançados para registrar eventos de gerenciamento e dados. Para registrar eventos de dados para vários tipos de recursos, adicione uma instrução seletora de campo para cada tipo de recurso para o qual você deseja registrar eventos de dados.

nota

As trilhas podem usar seletores de eventos básicos ou seletores de eventos avançados, mas não ambos. Se você aplicar seletores de eventos avançados a uma trilha, todos os seletores de eventos básicos existentes serão substituídos.

Como CloudTrail avalia várias condições para um campo

Para seletores de eventos avançados, CloudTrail avalia várias condições para um campo da seguinte forma:

  • DESELECTos operadores AND estão juntos. Se alguma das condições do DESELECT operador for atendida, o evento não será entregue. Estes são os DESELECT operadores válidos para seletores de eventos avançados:

    • NotEndsWith

    • NotEquals

    • NotStartsWith

  • SELECTos operadores são submetidos a OR juntos. Estes são os SELECT operadores válidos para seletores de eventos avançados:

    • EndsWith

    • Equals

    • StartsWith

  • As combinações de DESELECT operadores SELECT e seguem as regras acima e os dois grupos são AND unidos.

Exemplo mostrando várias condições para o resources.ARN campo

O exemplo de instrução seletora de eventos a seguir coleta eventos de dados para o tipo de AWS::S3::Object recurso e aplica várias condições no resources.ARN campo.

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

No exemplo anterior, os eventos de dados do Amazon S3 para AWS::S3::Object o recurso serão entregues se:

  1. Nenhuma dessas condições do DESELECT operador é atendida:

    • o resources.ARN campo NotStartsWith o valor arn:aws:s3:::amzn-s3-demo-bucket/deselect

    • o resources.ARN campo NotEndsWith o valor object5

    • o resources.ARN campo NotEquals o valor arn:aws:s3:::amzn-s3-demo-bucket/object6

  2. Pelo menos uma dessas condições do SELECT operador é atendida:

    • o resources.ARN campo Equals o valor arn:aws:s3:::amzn-s3-demo-bucket/object1

    • o resources.ARN campo StartsWith o valor arn:aws:s3:::amzn-s3-demo-bucket/

    • o resources.ARN campo EndsWith o valor object3

Com base na lógica de avaliação:

  1. Os eventos de dados para amzn-s3-demo-bucket/object1 serão entregues porque correspondem ao valor do Equals operador e não correspondem a nenhum dos valores dos NotEquals operadores NotStartsWithNotEndsWith, e.

  2. O evento de dados para amzn-s3-demo-bucket/object2 será entregue porque corresponde ao valor do StartsWith operador e não corresponde a nenhum dos valores dos NotEquals operadores NotStartsWithNotEndsWith, e.

  3. Os eventos de dados para amzn-s3-demo-bucket1/object3 serão entregues porque correspondem ao EndsWith operador e não correspondem a nenhum dos valores dos NotEquals operadores NotStartsWithNotEndsWith, e.

  4. Os eventos de dados para não arn:aws:s3:::amzn-s3-demo-bucket/deselectObject4 serão entregues porque correspondem à condição do, NotStartsWith embora correspondam à condição do StartsWith operador.

  5. Os eventos de dados para não arn:aws:s3:::amzn-s3-demo-bucket/object5 serão entregues porque correspondem à condição do, NotEndsWith embora correspondam à condição do StartsWith operador.

  6. Os eventos de dados do não arn:aws:s3:::amzn-s3-demo-bucket/object6 serão entregues porque correspondem à condição do NotEquals operador, embora correspondam à condição do StartsWith operador.

Filtrando eventos de dados por eventName

Usando seletores de eventos avançados, você pode incluir ou excluir eventos com base no valor do eventName campo. A filtragem do eventName pode ajudar a controlar os custos, pois você evita incorrer em custos ao AWS service (Serviço da AWS) registrar eventos de dados para adicionar suporte a novos dados. APIs

Você pode usar qualquer operador com o eventName campo. Você pode usá-lo para filtrar ou filtrar qualquer evento de dados registrado, como ou. CloudTrail PutBucket GetSnapshotBlock

Filtrando eventos de dados eventName usando o AWS Management Console

Siga as etapas a seguir para filtrar no eventName campo usando o CloudTrail console.

  1. Siga as etapas do procedimento de criação de trilha ou siga as etapas do procedimento de criação de armazenamento de dados de eventos.

  2. Ao seguir as etapas para criar o armazenamento de dados de trilhas ou eventos, faça as seguintes seleções:

    1. Escolha Eventos de dados.

    2. Escolha o tipo de evento de dados para o qual você deseja registrar eventos de dados.

    3. Em Modelo de seletor de registros, escolha Personalizado.

    4. (Opcional) Em Nome do seletor, insira um nome para identificar o seletor. O nome do seletor é um nome descritivo para um seletor de eventos avançado, como "Registrar eventos de dados em log para apenas dois buckets do S3". O nome do seletor é listado como Name no seletor de eventos avançado e pode ser visualizado se você expandir a exibição. JSON

    5. Em Seletores de eventos avançados, faça o seguinte para filtrar oeventName:

      1. Em Campo, escolha eventName.

      2. Em Operador, escolha o operador de condição. Neste exemplo, escolheremos equals porque queremos registrar uma chamada específicaAPI.

      3. Em Valor, insira o nome do evento que você deseja filtrar.

      4. Para filtrar por outroeventName, escolha + Condição. Para obter informações sobre como CloudTrail avalia várias condições, consulteComo CloudTrail avalia várias condições para um campo.

      Filtrar eventos de dados do S3 por eventName
    6. Escolha +Campo para adicionar filtros em outros campos.

Filtrando eventos de dados eventName usando o AWS CLI

Usando o AWS CLI, você pode filtrar no eventName campo para incluir ou excluir eventos específicos.

Se você estiver atualizando um repositório de dados de trilha ou evento existente para registrar seletores de eventos adicionais, obtenha os seletores de eventos atuais executando o get-event-selectorscomando para uma trilha ou o get-event-data-storecomando para um armazenamento de dados de eventos. Em seguida, atualize seus seletores de eventos para adicionar um seletor de campo para cada tipo de recurso de dados que você deseja registrar.

O exemplo a seguir registra eventos de dados do S3 em uma trilha. Eles --advanced-event-selectors são configurados para registrar somente eventos de dados para as DeleteObject API chamadas GetObjectPutObject, e.

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

O próximo exemplo cria um novo armazenamento de dados de eventos que registra eventos de dados para o EBS DirectAPIs, mas exclui as ListChangedBlocks API chamadas. Você pode usar o update-event-data-storecomando para atualizar um armazenamento de dados de eventos existente.

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

Filtrando eventos de dados por resources.ARN

Usando seletores de eventos avançados, você pode filtrar o valor do resources.ARN campo.

Você pode usar qualquer operador comresources.ARN, mas se usar Equals ouNotEquals, o valor deve corresponder exatamente ao ARN de um recurso válido para o resources.type valor que você especificou. Para registrar todos os eventos de dados de todos os objetos em um bucket específico do S3, use o StartsWith operador e inclua somente o bucket ARN como valor correspondente.

A tabela a seguir mostra o ARN formato válido para cada umresources.type.

nota

Você não pode usar o resources.ARN campo para filtrar tipos de recursos que não têmARNs.

resources.type recursos. 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::Bedrock::Model

Eles ARN devem estar em um dos seguintes formatos:

  • arn:partition:bedrock:region::foundation-model/resource_ID

  • arn:partition:bedrock:region:account_ID:provisioned-model/resource_ID

  • arn:partition:bedrock:region:account_ID:custom-model/resource_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::DataExchange::Asset
arn:partition:dataexchange:region:account_ID:data-sets/data_set_ID/revisions/revision_ID/assets/asset_ID
AWS::Deadline::Fleet
arn:partition:deadline:region:account_ID:farm/farm_ID/fleet/fleet_ID
AWS::Deadline::Job
arn:partition:deadline:region:account_ID:farm/farm_ID/queue/queue_ID/job/job_ID
AWS::Deadline::Queue
arn:partition:deadline:region:account_ID:farm/farm_ID/queue/queue_ID
AWS::Deadline::Worker
arn:partition:deadline:region:account_ID:farm/farm_ID/fleet/fleet_ID/worker/worker_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::SocialMessaging::PhoneNumberId

arn:partition:social-messaging:region:account_ID:phone-number-id/phone_number_ID

AWS::SQS::Queue
arn:partition:sqs:region:account_ID:queue_name
AWS::SSM::ManagedNode

Eles ARN devem estar em um dos seguintes formatos:

  • 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

Eles ARN devem estar em um dos seguintes formatos:

  • 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 Para tabelas com fluxos habilitados, o campo resources no evento de dados contém AWS::DynamoDB::Stream e AWS::DynamoDB::Table. Se você especificar AWS::DynamoDB::Table como resources.type, ele registrará os eventos da tabela do DynamoDB e dos fluxos do DynamoDB por padrão. Para excluir eventos de streams, adicione um filtro no eventName campo.

2 Para registrar todos os eventos de dados de todos os objetos em um bucket específico do S3, use o StartsWith operador e inclua somente o bucket ARN como valor correspondente. A barra final é intencional; não a exclua.

3 Para registrar eventos em todos os objetos em um ponto de acesso do S3, recomendamos que você use somente o ponto de acessoARN, não inclua o caminho do objeto e use os NotStartsWith operadores StartsWith ou.

Filtrando eventos de dados resources.ARN usando o AWS Management Console

Siga as etapas a seguir para filtrar no resources.ARN campo usando o CloudTrail console.

  1. Siga as etapas do procedimento de criação de trilha ou siga as etapas do procedimento de criação de armazenamento de dados de eventos.

  2. Ao seguir as etapas para criar o armazenamento de dados de trilhas ou eventos, faça as seguintes seleções:

    1. Escolha Eventos de dados.

    2. Escolha o tipo de evento de dados para o qual você deseja registrar eventos de dados.

    3. Em Modelo de seletor de registros, escolha Personalizado.

    4. (Opcional) Em Nome do seletor, insira um nome para identificar o seletor. O nome do seletor é um nome descritivo para um seletor de eventos avançado, como "Registrar eventos de dados em log para apenas dois buckets do S3". O nome do seletor é listado como Name no seletor de eventos avançado e pode ser visualizado se você expandir a exibição. JSON

    5. Em Seletores de eventos avançados, faça o seguinte para filtrar oresources.ARN:

      1. Em Campo, escolha recursos. ARN.

      2. Em Operador, escolha o operador de condição. Neste exemplo, escolheremos start with porque queremos registrar eventos de dados para um bucket S3 específico.

      3. Em Valor, insira o ARN para seu tipo de recurso (por exemplo, arn:aws:s3:::amzn-s3-demo-bucket).

      4. Para filtrar outroresources.ARN, escolha + Condição. Para obter informações sobre como CloudTrail avalia várias condições, consulteComo CloudTrail avalia várias condições para um campo.

      Filtrar eventos de dados do S3 por resources.ARN
    6. Escolha +Campo para adicionar filtros em outros campos.

Filtrando eventos de dados resources.ARN usando o AWS CLI

Usando o AWS CLI, você pode filtrar no resources.ARN campo para registrar eventos para um específico ARN ou excluir o registro para um específicoARN.

Se você estiver atualizando um repositório de dados de trilha ou evento existente para registrar seletores de eventos adicionais, obtenha os seletores de eventos atuais executando o get-event-selectorscomando para uma trilha ou o get-event-data-storecomando para um armazenamento de dados de eventos. Em seguida, atualize seus seletores de eventos para adicionar um seletor de campo para cada tipo de recurso de dados que você deseja registrar.

O exemplo a seguir mostra como configurar a trilha para registrar eventos de dados de todos os objetos do Amazon S3 em um bucket do S3. O valor para eventos do S3 para o campo resources.type é AWS::S3::Object. Como os ARN valores dos objetos do S3 e dos buckets do S3 são um pouco diferentes, você deve adicionar o StartsWith operador resources.ARN para capturar todos os eventos.

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

Filtrando eventos de dados por valor readOnly

Usando seletores de eventos avançados, você pode filtrar com base no valor do readOnly campo.

Você só pode usar o Equals operador com o readOnly campo. Você pode definir o readOnly valor como true oufalse. Se você não adicionar esse campo, CloudTrail registrará os eventos de leitura e gravação. Um valor de true registros só lê eventos. Um valor de false logs só grava eventos.

Filtrando eventos de dados por readOnly valor usando o AWS Management Console

Siga as etapas a seguir para filtrar no readOnly campo usando o CloudTrail console.

  1. Siga as etapas do procedimento de criação de trilha ou siga as etapas do procedimento de criação de armazenamento de dados de eventos.

  2. Ao seguir as etapas para criar o armazenamento de dados de trilhas ou eventos, faça as seguintes seleções:

    1. Escolha Eventos de dados.

    2. Escolha o tipo de evento de dados para o qual você deseja registrar eventos de dados.

    3. Para Modelo de seletor de registros, escolha o modelo apropriado para seu caso de uso.

      Escolha o modelo do seletor de registros para eventos de dados
      Se você planeja fazer isso Escolha esse modelo de seletor de registros

      Registre somente eventos de leitura e não aplique outros filtros (por exemplo, no resources.ARN valor).

      Registrar readOnly eventos

      Registre somente eventos de gravação e não aplique outros filtros (por exemplo, no resources.ARN valor).

      Registrar writeOnly eventos

      Filtre o readOnly valor e aplique filtros adicionais (por exemplo, no resources.ARN valor).

      Custom (Personalizado)

      Em Seletores de eventos avançados, faça o seguinte para filtrar o readOnly valor:

      Para registrar eventos de gravação
      1. Em Campo, escolha readOnly.

      2. Em Operador, escolha equals.

      3. Em Valor, insira false.

      4. Escolha +Campo para adicionar filtros em outros campos.

      Para registrar eventos de leitura
      1. Em Campo, escolha readOnly.

      2. Em Operador, escolha equals.

      3. Em Valor, insira true.

      4. Escolha +Campo para adicionar filtros em outros campos.

Filtrando eventos de dados por readOnly valor usando o AWS CLI

Usando o AWS CLI, você pode filtrar no readOnly campo.

Você só pode usar o Equals operador com o readOnly campo. Você pode definir o readOnly valor como true oufalse. Se você não adicionar esse campo, CloudTrail registrará os eventos de leitura e gravação. Um valor de true registros só lê eventos. Um valor de false logs só grava eventos.

Se você estiver atualizando um repositório de dados de trilha ou evento existente para registrar seletores de eventos adicionais, obtenha os seletores de eventos atuais executando o get-event-selectorscomando para uma trilha ou o get-event-data-storecomando para um armazenamento de dados de eventos. Em seguida, atualize seus seletores de eventos para adicionar um seletor de campo para cada tipo de recurso de dados que você deseja registrar.

O exemplo a seguir mostra como configurar sua trilha para registrar eventos de dados somente para leitura para todos os objetos do 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"] } ] } ]'

O próximo exemplo cria um novo armazenamento de dados de eventos que registra somente eventos de dados somente de gravação para EBS o Direct. APIs Você pode usar o update-event-data-storecomando para atualizar um armazenamento de dados de eventos existente.

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