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á.
Filtrar todos os eventos de dados utilizando seletores de eventos avançados
Esta seção descreve como você pode usar seletores de eventos avançados para criar seletores refinados para registrar eventos de dados, o que pode ajudá-lo a controlar custos registrando somente os eventos de dados específicos de interesse.
Por exemplo:
-
Você pode incluir ou excluir chamadas de API específicas adicionando um filtro no campo
eventName
. -
Você pode incluir ou excluir registros em log de recursos específicos adicionando um filtro no campo
resources.ARN
. Por exemplo, se você estivesse registrando em log eventos de dados do S3, poderia excluir o registro do bucket do S3 para sua trilha. -
Você pode optar por registrar apenas eventos somente gravação ou eventos somente leitura adicionando um filtro no campo
readOnly
.
A tabela a seguir descreve os campos compatíveis para filtrar eventos de dados. Para ver uma lista dos campos compatíveis para cada tipo de CloudTrail evento, consulte AdvancedEventSelectora Referência da AWS CloudTrail API.
Campo | Obrigatório | Operadores válidos | Descrição |
---|---|---|---|
|
Sim |
|
Esse campo é definido como |
|
Sim |
|
Esse campo é usado para selecionar o tipo de recurso para o qual você deseja registrar eventos de dados. A tabela 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 valor de |
|
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 |
|
Não |
|
Esse é um campo opcional usado para excluir ou incluir eventos de dados para um recurso específico fornecendo o 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 |
|
Não |
|
Você pode usá-lo para incluir ou excluir fontes de eventos específicas. Normalmente, |
|
Não |
|
O EventType a ser incluído ou excluído. Por exemplo, você pode definir esse campo |
|
Não |
|
Inclua ou exclua eventos originados de uma AWS Management Console sessão. Esse campo pode ser definido como |
|
Não |
|
Inclua ou exclua eventos para ações realizadas por identidades específicas do IAM. Para obter mais informações, consulte Elemento userIdentity do CloudTrail . |
Para registrar eventos de dados usando o CloudTrail console, você escolhe a opção Eventos de dados e, em seguida, seleciona o tipo de recurso de interesse ao criar ou atualizar um armazenamento de dados de trilhas ou eventos. A tabela de eventos de dados mostra os tipos de recursos possíveis 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 Eventos de dados lista os tipos de recursos disponíveis.
Por exemplo, se você quisesse registrar eventos de dados para todos os bancos de identidades do Cognito, você configuraria o parâmetro --advanced-event-selectors
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 bancos de identidades. Você pode refinar ainda mais os seletores de eventos avançados para filtrar os campos eventName
, readOnly
e resources.ARN
para registrarem ou excluírem eventos específicos de interesse ou não.
É possível 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 todos os PutObject
do Amazon S3 e chamadas DeleteObject
de API, mas excluir o registro em log de eventos de um bucket específico do S3, conforme mostrado no exemplo a seguir. Substitua amzn-s3-demo-bucket
pelo 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, consulte Como CloudTrail avalia várias condições para um campo.
É possível usar seletores de eventos avançados para registrar eventos de gerenciamento e de dados. Para registrar eventos de dados de vários tipos de recursos, adicione uma instrução no seletor de campo para cada tipo de recurso para o qual você deseja registrar eventos de dados.
nota
As trilhas podem usar seletores de eventos avançados ou seletores de eventos básicos, 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.
Os seletores não suportam o uso de curingas, como. *
Para combinar vários valores com uma única condição, você pode usarStartsWith
,, EndsWith
NotStartsWith
, ou NotEndsWith
para corresponder explicitamente ao início ou ao fim do campo do evento.
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:
-
Os operadores DESELECT são AND'd (combinados). Se alguma das condições do operador DESELECT for atendida, o evento não será entregue. Os operadores DESELECT válidos para seletores de eventos avançados são os seguintes:
-
NotEndsWith
-
NotEquals
-
NotStartsWith
-
-
Os operadores SELECT são OR'd (exclusivos). Os operadores SELECT válidos para seletores de eventos avançados são os seguintes:
-
EndsWith
-
Equals
-
StartsWith
-
-
As combinações dos operadores SELECT e DESELECT seguem as regras acima e os dois grupos são combinados (AND'd).
Exemplo mostrando várias condições para o campo resources.ARN
O exemplo de instrução do seletor de eventos a seguir coleta eventos de dados do tipo de recurso AWS::S3::Object
e aplica várias condições no campo resources.ARN
.
{ "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 o recurso AWS::S3::Object
serão entregues se:
-
Nenhuma das seguintes condições do operador DESELECT for atendida:
-
o campo
resources.ARN
NotStartsWith
com o valorarn:aws:s3:::amzn-s3-demo-bucket/deselect
-
o campo
resources.ARN
NotEndsWith
com o valorobject5
-
o campo
resources.ARN
NotEquals
com o valorarn:aws:s3:::amzn-s3-demo-bucket/object6
-
-
Pelo menos uma das seguintes condições do operador SELECT for atendida:
-
o campo
resources.ARN
Equals
com o valorarn:aws:s3:::amzn-s3-demo-bucket/object1
-
o campo
resources.ARN
StartsWith
com o valorarn:aws:s3:::amzn-s3-demo-bucket/
-
o campo
resources.ARN
EndsWith
com o valorobject3
-
Com base na lógica de avaliação:
-
Os eventos de dados do
amzn-s3-demo-bucket/object1
serão entregues porque correspondem ao valor do operadorEquals
e não correspondem a nenhum dos valores dos operadoresNotStartsWith
,NotEndsWith
eNotEquals
. -
O evento de dados do
amzn-s3-demo-bucket/object2
será entregue porque corresponde ao valor do operadorStartsWith
e não corresponde a nenhum dos valores dos operadoresNotStartsWith
,NotEndsWith
eNotEquals
. -
Os eventos de dados do
amzn-s3-demo-bucket1/object3
serão entregues porque correspondem ao operadorEndsWith
e não correspondem a nenhum dos valores dos operadoresNotStartsWith
,NotEndsWith
eNotEquals
. -
Os eventos de dados do
arn:aws:s3:::amzn-s3-demo-bucket/deselectObject4
não serão entregues porque correspondem à condiçãoNotStartsWith
, embora correspondam à condição do operadorStartsWith
. -
Os eventos de dados do
arn:aws:s3:::amzn-s3-demo-bucket/object5
não serão entregues porque correspondem à condiçãoNotEndsWith
, embora correspondam à condição do operadorStartsWith
. -
Os eventos de dados do
arn:aws:s3:::amzn-s3-demo-bucket/object6
não serão entregues porque correspondem à condição do operadorNotEquals
, embora correspondam à condição do operadorStartsWith
.
AWS CLI exemplos para filtrar eventos de dados
Esta seção fornece AWS CLI exemplos que mostram como filtrar eventos de dados em campos diferentes. Para obter AWS CLI exemplos adicionais, consulte Registre eventos de dados para trilhas usando seletores de eventos avançados Registrando eventos de dados para armazenamentos de dados de eventos com o AWS CLI e.
Para obter informações sobre como registrar eventos de dados usando o console, consulteRegistrando eventos de dados com o AWS Management Console.
Exemplos:
Exemplo 1: Filtragem no eventName
campo
No primeiro exemplo, o --advanced-event-selectors
for a trail está configurado para registrar somente oGetObject
,PutObject
, e as chamadas de DeleteObject
API para objetos do Amazon S3 em buckets de uso geral.
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 Direct APIs , mas exclui as chamadas de ListChangedBlocks
API. 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"] } ] } ]'
Exemplo 2: Filtragem nos campos resources.ARN
e userIdentity.arn
O exemplo a seguir mostra como incluir todos os eventos de dados de todos os objetos do Amazon S3 em um bucket S3 de uso geral específico, mas excluir eventos gerados pelo. bucket-scanner-role
userIdentity
O valor para eventos do S3 para o campo resources.type
é AWS::S3::Object
. Como os valores de ARN para objetos do S3 e buckets do S3 são um pouco diferentes, você deve adicionar o operador para. StartsWith
resources.ARN
aws cloudtrail put-event-selectors \ --trail-name
trailName
\ --advanced-event-selectors \ '[ { "Name": "S3EventSelector", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::S3::Object"] }, { "Field": "resources.ARN", "StartsWith": ["arn:partition
:s3:::amzn-s3-demo-bucket
/"] }, { "Field": "userIdentity.arn", "NotStartsWith": ["arn:aws:sts::123456789012:assumed-role/bucket-scanner-role"]} ] } ]'