Registrando chamadas da API X-Ray com AWS CloudTrail - AWS X-Ray

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 da API X-Ray com AWS CloudTrail

AWS X-Ray é 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 para X-Ray como eventos. As chamadas capturadas incluem chamadas do console X-Ray e chamadas de código para as operações da API X-Ray. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita ao X-Ray, 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:

  • 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 AWS Management Console 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. Se você criar uma trilha de região única, poderá 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ço do Amazon S3, consulte Definição de preço 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 você aplica a um armazenamento de dados de eventos controlam quais eventos persistem e estão disponíveis para você consultar. 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.

Eventos de gerenciamento de raios-X em CloudTrail

AWS X-Ray integra-se com AWS CloudTrail para registrar ações de API feitas por um usuário, uma função ou um AWS service (Serviço da AWS) no X-Ray. Você pode usar CloudTrail para monitorar solicitações da API X-Ray em tempo real e armazenar registros no Amazon S3, Amazon CloudWatch Logs e Amazon CloudWatch Events. O X-Ray suporta o registro das seguintes ações como eventos em arquivos de CloudTrail log:

Eventos de dados X-Ray em CloudTrail

Os eventos de dados fornecem informações sobre as operações de recursos realizadas em ou em um recurso (por exemplo PutTraceSegments, que carrega documentos do segmento para o X-Ray).

Elas também são conhecidas como operações de plano de dados. Eventos de dados geralmente são 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 recursos do X-Ray usando o CloudTrail console ou as operações CloudTrail da API. AWS CLI Para obter mais informações sobre como registrar eventos de dados em log, consulte Registrar eventos de dados com o AWS Management Console 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 recursos do X-Ray para os quais você pode registrar eventos de dados. A coluna Tipo de evento de dados (console) mostra o valor a ser escolhido na lista Tipo de evento de dados 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 as APIs ou. AWS CLI CloudTrail A CloudTrail coluna Data APIs logged to mostra as chamadas de API registradas CloudTrail para o tipo de recurso.

Tipo de evento de dados (console) valor resources.type APIs de dados registradas em CloudTrail
Traço de raio-X AWS::XRay::Trace

Você pode configurar seletores de eventos avançados para filtrar os readOnly campos eventName e para registrar somente os eventos que são importantes para você. No entanto, você não pode selecionar eventos adicionando o seletor de resources.ARN campo, porque os rastreamentos de X-Ray não têm ARNs. Para obter mais informações sobre esses campos, consulte AdvancedFieldSelector na Referência de API do AWS CloudTrail . Veja a seguir um exemplo de como executar o put-event-selectors AWS CLI comando para registrar eventos de dados em uma CloudTrail trilha. Você deve executar o comando ou especificar a região na qual a trilha foi criada; caso contrário, a operação retornará uma InvalidHomeRegionException exceção.

aws cloudtrail put-event-selectors --trail-name myTrail --advanced-event-selectors \ '{ "AdvancedEventSelectors": [ { "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::XRay::Trace"] }, { "Field": "eventName", "Equals": ["PutTraceSegments","GetSamplingTargets"] } ], "Name": "Log X-Ray PutTraceSegments and GetSamplingTargets data events" } ] }'

Exemplos de eventos X-Ray

Exemplo de evento de gerenciamento, GetEncryptionConfig

A seguir está um exemplo da entrada de GetEncryptionConfig registro do X-Ray em CloudTrail.

{ "eventVersion"=>"1.05", "userIdentity"=>{ "type"=>"AssumedRole", "principalId"=>"AROAJVHBZWD3DN6CI2MHM:MyName", "arn"=>"arn:aws:sts::123456789012:assumed-role/MyRole/MyName", "accountId"=>"123456789012", "accessKeyId"=>"AKIAIOSFODNN7EXAMPLE", "sessionContext"=>{ "attributes"=>{ "mfaAuthenticated"=>"false", "creationDate"=>"2023-7-01T00:24:36Z" }, "sessionIssuer"=>{ "type"=>"Role", "principalId"=>"AROAJVHBZWD3DN6CI2MHM", "arn"=>"arn:aws:iam::123456789012:role/MyRole", "accountId"=>"123456789012", "userName"=>"MyRole" } } }, "eventTime"=>"2023-7-01T00:24:36Z", "eventSource"=>"xray.amazonaws.com", "eventName"=>"GetEncryptionConfig", "awsRegion"=>"us-east-2", "sourceIPAddress"=>"33.255.33.255", "userAgent"=>"aws-sdk-ruby2/2.11.19 ruby/2.3.1 x86_64-linux", "requestParameters"=>nil, "responseElements"=>nil, "requestID"=>"3fda699a-32e7-4c20-37af-edc2be5acbdb", "eventID"=>"039c3d45-6baa-11e3-2f3e-e5a036343c9f", "eventType"=>"AwsApiCall", "recipientAccountId"=>"123456789012" }

Exemplo de evento de dados, PutTraceSegments

A seguir está um exemplo da entrada do registro de eventos PutTraceSegments de dados do X-Ray em CloudTrail.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAWYXPW54Y4NEXAMPLE:i-0dzz2ac111c83zz0z", "arn": "arn:aws:sts::012345678910:assumed-role/my-service-role/i-0dzz2ac111c83zz0z", "accountId": "012345678910", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAWYXPW54Y4NEXAMPLE", "arn": "arn:aws:iam::012345678910:role/service-role/my-service-role", "accountId": "012345678910", "userName": "my-service-role" }, "attributes": { "creationDate": "2024-01-22T17:34:11Z", "mfaAuthenticated": "false" }, "ec2RoleDelivery": "2.0" } }, "eventTime": "2024-01-22T18:22:05Z", "eventSource": "xray.amazonaws.com", "eventName": "PutTraceSegments", "awsRegion": "us-west-2", "sourceIPAddress": "198.51.100.0", "userAgent": "aws-sdk-ruby3/3.190.0 md/internal ua/2.0 api/xray#1.0.0 os/linux md/x86_64 lang/ruby#2.7.8 md/2.7.8 cfg/retry-mode#legacy", "requestParameters": { "traceSegmentDocuments": [ "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000", "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0000", "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0001", "trace_id:1-00zzz24z-EXAMPLE4f4e41754c77d0002" ] }, "responseElements": { "unprocessedTraceSegments": [] }, "requestID": "5zzzzz64-acbd-46ff-z544-451a3ebcb2f8", "eventID": "4zz51z7z-77f9-44zz-9bd7-6c8327740f2e", "readOnly": false, "resources": [ { "type": "AWS::XRay::Trace" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "012345678910", "eventCategory": "Data", "tlsDetails": { "tlsVersion": "TLSv1.2", "cipherSuite": "ZZZZZ-RSA-AAA128-GCM-SHA256", "clientProvidedHostHeader": "example.us-west-2.xray.cloudwatch.aws.dev" } }