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 |
---|---|---|---|
|
Sim |
|
Esse campo está definido |
|
Sim |
|
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. |
|
Não |
|
Esse é um campo opcional usado para incluir ou excluir eventos de dados com base no |
|
Não |
|
Esse é um campo opcional usado para filtrar ou filtrar qualquer evento de dados registrado, como ou. CloudTrail 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 |
|
Não |
|
Esse é um campo opcional usado para excluir ou incluir eventos de dados para um recurso específico fornecendo 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 |
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.
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 eventName
readOnly
,, 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.
Tópicos
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:
-
Nenhuma dessas condições do DESELECT operador é atendida:
-
o
resources.ARN
campoNotStartsWith
o valorarn:aws:s3:::amzn-s3-demo-bucket/deselect
-
o
resources.ARN
campoNotEndsWith
o valorobject5
-
o
resources.ARN
campoNotEquals
o valorarn:aws:s3:::amzn-s3-demo-bucket/object6
-
-
Pelo menos uma dessas condições do SELECT operador é atendida:
-
o
resources.ARN
campoEquals
o valorarn:aws:s3:::amzn-s3-demo-bucket/object1
-
o
resources.ARN
campoStartsWith
o valorarn:aws:s3:::amzn-s3-demo-bucket/
-
o
resources.ARN
campoEndsWith
o valorobject3
-
Com base na lógica de avaliação:
-
Os eventos de dados para
amzn-s3-demo-bucket/object1
serão entregues porque correspondem ao valor doEquals
operador e não correspondem a nenhum dos valores dosNotEquals
operadoresNotStartsWith
NotEndsWith
, e. -
O evento de dados para
amzn-s3-demo-bucket/object2
será entregue porque corresponde ao valor doStartsWith
operador e não corresponde a nenhum dos valores dosNotEquals
operadoresNotStartsWith
NotEndsWith
, e. -
Os eventos de dados para
amzn-s3-demo-bucket1/object3
serão entregues porque correspondem aoEndsWith
operador e não correspondem a nenhum dos valores dosNotEquals
operadoresNotStartsWith
NotEndsWith
, e. -
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 doStartsWith
operador. -
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 doStartsWith
operador. -
Os eventos de dados do não
arn:aws:s3:::amzn-s3-demo-bucket/object6
serão entregues porque correspondem à condição doNotEquals
operador, embora correspondam à condição doStartsWith
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
Tópicos
Filtrando eventos de dados eventName
usando o AWS Management Console
Siga as etapas a seguir para filtrar no eventName
campo usando o CloudTrail console.
-
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.
-
Ao seguir as etapas para criar o armazenamento de dados de trilhas ou eventos, faça as seguintes seleções:
-
Escolha Eventos de dados.
-
Escolha o tipo de evento de dados para o qual você deseja registrar eventos de dados.
-
Em Modelo de seletor de registros, escolha Personalizado.
-
(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 -
Em Seletores de eventos avançados, faça o seguinte para filtrar o
eventName
:-
Em Campo, escolha eventName.
-
Em Operador, escolha o operador de condição. Neste exemplo, escolheremos equals porque queremos registrar uma chamada específicaAPI.
-
Em Valor, insira o nome do evento que você deseja filtrar.
-
Para filtrar por outro
eventName
, 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.
-
-
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-selectors
comando para uma trilha ou o get-event-data-store
comando 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 GetObject
PutObject
, 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 |
|
AWS::Lambda::Function |
|
|
|
AWS::AppConfig::Configuration |
|
AWS::B2BI::Transformer |
|
AWS::Bedrock::AgentAlias |
|
AWS::Bedrock::FlowAlias |
|
AWS::Bedrock::Guardrail |
|
AWS::Bedrock::KnowledgeBase |
|
AWS::Bedrock::Model |
Eles ARN devem estar em um dos seguintes formatos:
|
AWS::Cassandra::Table |
|
AWS::CloudFront::KeyValueStore |
|
AWS::CloudTrail::Channel |
|
AWS::CodeWhisperer::Customization |
|
AWS::CodeWhisperer::Profile |
|
AWS::Cognito::IdentityPool |
|
AWS::DataExchange::Asset |
|
AWS::Deadline::Fleet |
|
AWS::Deadline::Job |
|
AWS::Deadline::Queue |
|
AWS::Deadline::Worker |
|
AWS::DynamoDB::Stream |
|
AWS::EC2::Snapshot |
|
AWS::EMRWAL::Workspace |
|
AWS::FinSpace::Environment |
|
AWS::Glue::Table |
|
AWS::GreengrassV2::ComponentVersion |
|
AWS::GreengrassV2::Deployment |
|
AWS::GuardDuty::Detector |
|
AWS::IoT::Certificate |
|
AWS::IoT::Thing |
|
AWS::IoTSiteWise::Asset |
|
AWS::IoTSiteWise::TimeSeries |
|
AWS::IoTTwinMaker::Entity |
|
AWS::IoTTwinMaker::Workspace |
|
AWS::KendraRanking::ExecutionPlan |
|
AWS::Kinesis::Stream |
|
AWS::Kinesis::StreamConsumer |
|
AWS::KinesisVideo::Stream |
|
AWS::MachineLearning::MlModel |
|
AWS::ManagedBlockchain::Network |
|
AWS::ManagedBlockchain::Node |
|
AWS::MedicalImaging::Datastore |
|
AWS::NeptuneGraph::Graph |
|
AWS::One::UKey |
|
AWS::One::User |
|
AWS::PaymentCryptography::Alias |
|
AWS::PaymentCryptography::Key |
|
AWS::PCAConnectorAD::Connector |
|
AWS::PCAConnectorSCEP::Connector |
|
AWS::QApps:QApp |
|
AWS::QBusiness::Application |
|
AWS::QBusiness::DataSource |
|
AWS::QBusiness::Index |
|
AWS::QBusiness::WebExperience |
|
AWS::RDS::DBCluster |
|
AWS::RUM::AppMonitor |
|
|
|
|
|
AWS::S3ObjectLambda::AccessPoint |
|
AWS::S3Outposts::Object |
|
AWS::SageMaker::Endpoint |
|
AWS::SageMaker::ExperimentTrialComponent |
|
AWS::SageMaker::FeatureGroup |
|
AWS::SCN::Instance |
|
AWS::ServiceDiscovery::Namespace |
|
AWS::ServiceDiscovery::Service |
|
AWS::SNS::PlatformEndpoint |
|
AWS::SNS::Topic |
|
AWS::SocialMessaging::PhoneNumberId |
|
AWS::SQS::Queue |
|
AWS::SSM::ManagedNode |
Eles ARN devem estar em um dos seguintes formatos:
|
AWS::SSMMessages::ControlChannel |
|
AWS::StepFunctions::StateMachine |
Eles ARN devem estar em um dos seguintes formatos:
|
AWS::SWF::Domain |
|
AWS::ThinClient::Device |
|
AWS::ThinClient::Environment |
|
AWS::Timestream::Database |
|
AWS::Timestream::Table |
|
AWS::VerifiedPermissions::PolicyStore |
|
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.
Tópicos
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.
-
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.
-
Ao seguir as etapas para criar o armazenamento de dados de trilhas ou eventos, faça as seguintes seleções:
-
Escolha Eventos de dados.
-
Escolha o tipo de evento de dados para o qual você deseja registrar eventos de dados.
-
Em Modelo de seletor de registros, escolha Personalizado.
-
(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 -
Em Seletores de eventos avançados, faça o seguinte para filtrar o
resources.ARN
:-
Em Campo, escolha recursos. ARN.
-
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.
-
Em Valor, insira o ARN para seu tipo de recurso (por exemplo,
arn:aws:s3:::amzn-s3-demo-bucket
). -
Para filtrar outro
resources.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.
-
-
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-selectors
comando para uma trilha ou o get-event-data-store
comando 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
\ --regionregion
\ --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.
Tópicos
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.
-
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.
-
Ao seguir as etapas para criar o armazenamento de dados de trilhas ou eventos, faça as seguintes seleções:
-
Escolha Eventos de dados.
-
Escolha o tipo de evento de dados para o qual você deseja registrar eventos de dados.
-
Para Modelo de seletor de registros, escolha o modelo apropriado para seu caso de uso.
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, noresources.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
-
Em Campo, escolha readOnly.
-
Em Operador, escolha equals.
-
Em Valor, insira
false
. -
Escolha +Campo para adicionar filtros em outros campos.
Para registrar eventos de leitura
-
Em Campo, escolha readOnly.
-
Em Operador, escolha equals.
-
Em Valor, insira
true
. -
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-selectors
comando para uma trilha ou o get-event-data-store
comando 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
\ --regionregion
\ --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"] } ] } ]'