View a markdown version of this page

Registrando chamadas de Amazon EventBridge API usando AWS CloudTrail - Amazon EventBridge

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á.

Registrando chamadas de Amazon EventBridge API usando AWS CloudTrail

Amazon EventBridge é integrado com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, função ou um AWS service (Serviço da AWS). CloudTrail captura todas as chamadas de API EventBridge como eventos. As chamadas capturadas incluem chamadas do EventBridge console e chamadas de código para as operações EventBridge da API. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita EventBridge, o endereço IP do qual a solicitação foi feita, quando foi feita e detalhes adicionais.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar o seguinte:

  • Se a solicitação foi feita com credenciais de usuário raiz ou credenciais de usuário.

  • Se a solicitação foi feita em nome de um usuário do Centro de Identidade do IAM.

  • Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.

  • Se a solicitação foi feita por outro AWS service (Serviço da AWS).

CloudTrail está ativo Conta da AWS quando você cria a conta e você tem acesso automático ao histórico de CloudTrail eventos. O histórico de CloudTrail eventos fornece um registro visível, pesquisável, baixável e imutável dos últimos 90 dias de eventos de gerenciamento registrados em um. Região da AWS Para obter mais informações, consulte Trabalhando com o histórico de CloudTrail eventos no Guia AWS CloudTrail do usuário. Não há CloudTrail cobrança pela visualização do histórico de eventos.

Para um registro contínuo dos eventos dos Conta da AWS últimos 90 dias, crie uma trilha ou um armazenamento de dados de eventos do CloudTrailLake.

CloudTrail trilhas

Uma trilha permite CloudTrail entregar arquivos de log para um bucket do Amazon S3. Todas as trilhas criadas usando o Console de gerenciamento da AWS são multirregionais. Só é possível criar uma trilha de região única ou de várias regiões usando a AWS CLI. É recomendável criar uma trilha multirregional porque você captura todas as atividades Regiões da AWS em sua conta. Ao criar uma trilha de região única, é possível visualizar somente os eventos registrados na Região da AWS da trilha. Para obter mais informações sobre trilhas, consulte Criar uma trilha para a Conta da AWS e Criar uma trilha para uma organização no Guia do usuário do AWS CloudTrail .

Você pode entregar uma cópia dos seus eventos de gerenciamento contínuos para o bucket do Amazon S3 sem nenhum custo CloudTrail criando uma trilha. No entanto, há cobranças de armazenamento do Amazon S3. Para obter mais informações sobre CloudTrail preços, consulte AWS CloudTrail Preços. Para receber informações sobre a definição de preços do Amazon S3, consulte Definição de preços do Amazon S3.

CloudTrail Armazenamentos de dados de eventos em Lake

CloudTrail O Lake permite que você execute consultas baseadas em SQL em seus eventos. CloudTrail O Lake converte eventos existentes no formato JSON baseado em linhas para o formato Apache ORC. O ORC é um formato colunar de armazenamento otimizado para recuperação rápida de dados. Os eventos são agregados em armazenamentos de dados de eventos, que são coleções imutáveis de eventos baseados nos critérios selecionados com a aplicação de seletores de eventos avançados. Os seletores que aplicados a um armazenamento de dados de eventos controlam quais eventos persistem e estão disponíveis para consulta. Para obter mais informações sobre o CloudTrail Lake, consulte Trabalhando com o AWS CloudTrail Lake no Guia AWS CloudTrail do usuário.

CloudTrail Os armazenamentos e consultas de dados de eventos em Lake incorrem em custos. Ao criar um armazenamento de dados de eventos, você escolhe a opção de preço que deseja usar para ele. A opção de preço determina o custo para a ingestão e para o armazenamento de eventos, e o período de retenção padrão e máximo para o armazenamento de dados de eventos. Para obter mais informações sobre CloudTrail preços, consulte AWS CloudTrail Preços.

EventBridge eventos de gerenciamento em CloudTrail

Os eventos de gerenciamento fornecem informações sobre as operações de gerenciamento que são realizadas nos recursos do seu Conta da AWS. Também são conhecidas como operações de ambiente de gerenciamento. Por padrão, CloudTrail registra eventos de gerenciamento.

Todas as operações Amazon EventBridge da API, exceto PutEventse PutPartnerEventssão operações do plano de controle. Para ver uma lista completa, consulte Ações na Referência Amazon EventBridge da API. Por exemplo, eventos de gerenciamento, consulteEventBridge exemplos de eventos de gerenciamento.

EventBridge eventos de dados em CloudTrail

Os eventos de dados fornecem informações sobre as operações de recursos realizadas em ou em um recurso (por exemplo, publicar eventos em um barramento de eventos). Também são conhecidas como operações de plano de dados. Os eventos de dados costumam ser atividades de alto volume. Por padrão, CloudTrail não registra eventos de dados. O histórico de CloudTrail eventos não registra eventos de dados.

Há cobranças adicionais para eventos de dados. Para obter mais informações sobre CloudTrail preços, consulte AWS CloudTrail Preços.

Você pode registrar eventos de dados para os tipos de EventBridge recursos usando o CloudTrail console ou AWS CLI as operações CloudTrail da API. Para saber mais sobre como registrar eventos de dados em log, consulte Registrar eventos de dados com o Console de gerenciamento da AWS e Registrar eventos de dados com a AWS Command Line Interface no Guia do usuário do AWS CloudTrail .

A tabela a seguir lista os tipos de EventBridge recursos para os quais você pode registrar eventos de dados. A coluna Tipo de recurso (console) mostra o valor a ser escolhido na lista Tipo de recurso no CloudTrail console. A coluna de valor resources.type mostra o resources.type valor, que você especificaria ao configurar seletores de eventos avançados usando o ou. AWS CLI CloudTrail APIs A CloudTrail coluna Dados APIs registrados em mostra as chamadas de API registradas CloudTrail para o tipo de recurso.

Tipo de recurso (console) valor resources.type Dados APIs registrados em CloudTrail
EventBridge ônibus de eventos AWS::Events::EventBus
EventBridge fonte de eventos parceiros AWS::Events::EventSource
EventBridge endpoint AWS::Events::Endpoint

É possível configurar seletores de eventos avançados para filtrar os campos eventName, readOnly e resources.ARN para registrar em log somente os eventos que são importantes para você. Para saber mais sobre esses campos, consulte AdvancedFieldSelector na Referência de API do AWS CloudTrail .

nota

O detail campo nas entradas de eventos é redigido nos registros de eventos de CloudTrail dados para proteger dados confidenciais.

Entrega de eventos de dados

nota

CloudTrail envia eventos de dados somente para Conta da AWS a chamada API.

PutEvents

Chamadas entre contas PutEvents

Quando uma conta à qual você concedeu permissão por meio de uma política de recursos liga PutEvents para seu ônibus, somente a conta do chamador recebe o evento de CloudTrail dados. Sua conta (a proprietária do ônibus) não tem.

Bus-to-bus encaminhamento

Até quatro contas podem estar envolvidas em um cenário de bus-to-bus encaminhamento. A tabela a seguir mostra quais contas recebem um evento CloudTrail de dados.

Função da conta Recebe evento CloudTrail de dados
A conta que ligou originalmente PutEvents (o remetente) Sim, sempre.
A conta que possui o barramento de origem (o proprietário do barramento de origem) Não.
A conta que possui a regra e a função do IAM no destino da regra (o proprietário da regra)

Sim, mas somente para encaminhamento entre regiões. Para encaminhamento entre regiões, EventBridge usa a função do IAM no destino da regra para chamar a região PutEvents de destino. Isso faz com que a conta do proprietário da regra seja a chamadora efetiva da API. O encaminhamento para a mesma região não gera um evento de dados adicional.

A conta proprietária do ônibus de destino (o proprietário do ônibus de destino) Não.
nota

Para o encaminhamento entre regiões, a PutEvents chamada original e a chamada de encaminhamento PutEvents são registradas como eventos de CloudTrail dados separados em suas respectivas regiões. Para capturar ambos, certifique-se de que CloudTrail esteja configurado para registrar eventos de dados em ambas as regiões.

Endpoints globais com replicação de eventos

Quando você usa um endpoint global com a replicação de eventos ativada, EventBridge cria uma regra gerenciada que encaminha eventos entre regiões para o barramento secundário. Esse é um cenário de bus-to-bus encaminhamento entre regiões, portanto, as mesmas regras da tabela acima se aplicam:

  • Região primária: EventBridge gera um evento de dados para a PutEvents chamada original. O evento inclui o ARN do barramento de eventos e o ARN do recurso de endpoint.

  • Região secundária: como você possui a regra gerenciada e a função do IAM usada para replicar eventos, sua conta recebe um evento de dados para a chamada de replicaçãoPutEvents. O evento inclui apenas o ônibus ARN do evento. O ARN do recurso de endpoint não está incluído.

PutPartnerEvents

Eventos recebidos de um parceiro SaaS

Quando um parceiro de SaaS envia eventos para seu ônibus, sua conta não recebe um evento de PutPartnerEvents CloudTrail dados. Somente a conta do parceiro SaaS recebe o evento de dados.

Eventos enviados para um ônibus de clientes como parceiro de SaaS

Quando você envia eventos para o ônibus de eventos de um cliente como parceiro de SaaS, sua conta recebe o evento de PutPartnerEvents CloudTrail dados. O evento inclui somente o ARN da fonte do evento como recurso. O ARN do ônibus de eventos do cliente não está incluído.

Para exemplos de eventos de dados EventBridge registrados em CloudTrail, consulteEventBridge exemplos de eventos de dados.

EventBridge exemplos de eventos de gerenciamento

Um evento representa uma única solicitação de qualquer fonte e inclui informações sobre a operação de API solicitada, a data e a hora da operação, os parâmetros da solicitação e assim por diante. CloudTrail os arquivos de log não são um rastreamento de pilha ordenado das chamadas públicas de API, portanto, os eventos não aparecem em nenhuma ordem específica.

O exemplo a seguir mostra um CloudTrail evento que demonstra a PutRule operação.

{ "eventVersion":"1.03", "userIdentity":{ "type":"Root", "principalId":"123456789012", "arn":"arn:aws:iam::123456789012:root", "accountId":"123456789012", "accessKeyId":"AKIAIOSFODNN7EXAMPLE", "sessionContext":{ "attributes":{ "mfaAuthenticated":"false", "creationDate":"2015-11-17T23:56:15Z" } } }, "eventTime":"2015-11-18T00:11:28Z", "eventSource":"events.amazonaws.com", "eventName":"PutRule", "awsRegion":"us-east-1", "sourceIPAddress":"AWS Internal", "userAgent":"AWS CloudWatch Console", "requestParameters":{ "description":"", "name":"cttest2", "state":"ENABLED", "eventPattern":"{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"]}", "scheduleExpression":"" }, "responseElements":{ "ruleArn":"arn:aws:events:us-east-1:123456789012:rule/cttest2" }, "requestID":"e9caf887-8d88-11e5-a331-3332aa445952", "eventID":"49d14f36-6450-44a5-a501-b0fdcdfaeb98", "eventType":"AwsApiCall", "apiVersion":"2015-10-07", "recipientAccountId":"123456789012" }

Para obter informações sobre o conteúdo do CloudTrail registro, consulte o conteúdo do CloudTrail registro no Guia AWS CloudTrail do usuário.

EventBridge exemplos de eventos de dados

O exemplo a seguir mostra um evento de CloudTrail dados para uma PutEvents chamada bem-sucedida.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA3XFRBF23EXAMPLE:johndoe-session", "arn": "arn:aws:sts::111122223333:assumed-role/MyRole/johndoe-session", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA3XFRBF23EXAMPLE", "arn": "arn:aws:iam::111122223333:role/MyRole", "accountId": "111122223333", "userName": "MyRole" }, "attributes": { "creationDate": "2026-03-07T00:49:09Z", "mfaAuthenticated": "false" } } }, "eventTime": "2026-03-07T00:51:07Z", "eventSource": "events.amazonaws.com", "eventName": "PutEvents", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.1", "userAgent": "aws-cli/2.33.13", "requestParameters": { "entries": [ { "source": "my-application", "detailType": "MyDetailType", "detail": "HIDDEN_DUE_TO_SECURITY_REASONS", "eventBusName": "default" } ] }, "responseElements": { "failedEntryCount": 0, "entries": [ { "eventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" } ] }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "readOnly": false, "resources": [ { "type": "AWS::Events::EventBus", "ARN": "arn:aws:events:us-east-1:111122223333:event-bus/default" } ], "eventType": "AwsApiCall", "apiVersion": "2015-10-07", "managementEvent": false, "recipientAccountId": "111122223333", "eventCategory": "Data", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "events.us-east-1.amazonaws.com" } }

O exemplo a seguir mostra um evento de CloudTrail dados para uma PutEvents chamada usando um endpoint global. Observe o AWS::Events::Endpoint recurso adicional na resources matriz.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA3XFRBF23EXAMPLE:johndoe-session", "arn": "arn:aws:sts::111122223333:assumed-role/MyRole/johndoe-session", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA3XFRBF23EXAMPLE", "arn": "arn:aws:iam::111122223333:role/MyRole", "accountId": "111122223333", "userName": "MyRole" }, "attributes": { "creationDate": "2026-03-07T00:49:09Z", "mfaAuthenticated": "false" } } }, "eventTime": "2026-03-07T00:51:06Z", "eventSource": "events.amazonaws.com", "eventName": "PutEvents", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.1", "userAgent": "aws-cli/2.33.13", "requestParameters": { "entries": [ { "source": "my-application", "detailType": "MyDetailType", "detail": "HIDDEN_DUE_TO_SECURITY_REASONS", "eventBusName": "default" } ], "endpointId": "abc1234567.us-east-1" }, "responseElements": { "failedEntryCount": 0, "entries": [ { "eventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE44444" } ] }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE55555", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE66666", "readOnly": false, "resources": [ { "type": "AWS::Events::EventBus", "ARN": "arn:aws:events:us-east-1:111122223333:event-bus/default" }, { "type": "AWS::Events::Endpoint", "ARN": "arn:aws:events:us-east-1:111122223333:endpoint/MyGlobalEndpoint" } ], "eventType": "AwsApiCall", "apiVersion": "2015-10-07", "managementEvent": false, "recipientAccountId": "111122223333", "eventCategory": "Data", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "abc1234567.us-east-1.endpoint.events.amazonaws.com" } }

O exemplo a seguir mostra um evento de CloudTrail dados para uma PutPartnerEvents chamada bem-sucedida.

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROA3XFRBF23EXAMPLE:partner-session", "arn": "arn:aws:sts::111122223333:assumed-role/PartnerRole/partner-session", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA3XFRBF23EXAMPLE", "arn": "arn:aws:iam::111122223333:role/PartnerRole", "accountId": "111122223333", "userName": "PartnerRole" }, "attributes": { "creationDate": "2026-03-07T00:49:09Z", "mfaAuthenticated": "false" } } }, "eventTime": "2026-03-07T00:51:07Z", "eventSource": "events.amazonaws.com", "eventName": "PutPartnerEvents", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.1", "userAgent": "aws-cli/2.33.13", "requestParameters": { "entries": [ { "time": "Mar 7, 2026, 12:51:07 AM", "source": "aws.partner/example.com/my-integration", "detailType": "MyDetailType", "detail": "HIDDEN_DUE_TO_SECURITY_REASONS" } ] }, "responseElements": { "failedEntryCount": 0, "entries": [ { "eventId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE77777" } ] }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE88888", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE99999", "readOnly": false, "resources": [ { "type": "AWS::Events::EventSource", "ARN": "arn:aws:events:us-east-1::event-source/aws.partner/example.com/my-integration" } ], "eventType": "AwsApiCall", "apiVersion": "2015-10-07", "managementEvent": false, "recipientAccountId": "111122223333", "eventCategory": "Data", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "events.us-east-1.amazonaws.com" } }

CloudTrail entradas de registro para ações tomadas pelo EventBridge Pipes

EventBridge O Pipes assume a função do IAM fornecida ao ler eventos de fontes, invocar enriquecimentos ou invocar destinos. Para CloudTrail entradas relacionadas às ações realizadas em sua conta em todos os enriquecimentos, destinos e fontes do Amazon SQS, Kinesis e DynamoDB, os campos e incluirão. sourceIPAddress invokedBy pipes.amazonaws.com

Exemplo de entrada de CloudTrail registro para todos os enriquecimentos, destinos e fontes do Amazon SQS, Kinesis e DynamoDB

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "...", "arn": "arn:aws:sts::111222333444:assumed-role/...", "accountId": "111222333444", "accessKeyId": "...", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "...", "arn": "...", "accountId": "111222333444", "userName": "userName" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-09-22T21:41:15Z", "mfaAuthenticated": "false" } }, "invokedBy": "pipes.amazonaws.com" }, "eventTime": ",,,", "eventName": "...", "awsRegion": "us-west-2", "sourceIPAddress": "pipes.amazonaws.com", "userAgent": "pipes.amazonaws.com", "requestParameters": { ... }, "responseElements": null, "requestID": "...", "eventID": "...", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "...", "eventCategory": "Management" }

Para todas as outras fontes, o sourceIPAddress campo das entradas de CloudTrail registro terá um endereço IP dinâmico e não deve ser usado para nenhuma integração ou categorização de eventos. Além disso, essas entradas não terão o campo invokedBy.

Entrada de CloudTrail registro de amostra para todas as outras fontes

{ "eventVersion": "1.08", "userIdentity": { ... }, "eventTime": ",,,", "eventName": "...", "awsRegion": "us-west-2", "sourceIPAddress": "127.0.0.1", "userAgent": "Python-httplib2/0.8 (gzip)", }