Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Como uso o Athena para consultar meus logs do CloudTrail para chamadas de API do AWS Support?
Quero executar consultas do Amazon Athena para pesquisar meus logs do AWS CloudTrail em busca de chamadas de API que o AWS Support fez para minha conta da AWS.
Breve descrição
Para ajudar você a resolver seu problema, o AWS Support pode reunir metadados seguros somente para leitura sobre seus recursos da AWS. O AWS Support usa um perfil vinculado ao serviço do AWS Identity and Access Management (AWS IAM) chamado AWSServiceRoleForSupport para coletar os metadados.
Para encontrar informações sobre as chamadas de API que o AWS Support faz para sua conta, use o Athena para consultar seus logs do CloudTrail.
Resolução
Use a projeção de partição para criar manualmente uma tabela do CloudTrail
Mesmo quando você particiona a tabela do CloudTrail para reduzir o runtime das consultas, os logs do CloudTrail podem aumentar de tamanho com o tempo. Consultas executadas em uma tabela altamente particionada têm um tempo de planejamento alto e não são concluídas rapidamente.
Para reduzir os runtimes das consultas, use a projeção de partição para criar manualmente uma tabela do CloudTrail.
Por exemplo, a seguinte instrução CREATE TABLE usa automaticamente a projeção de partição nos logs do CloudTrail dentro de um período de tempo especificado em uma região da AWS:
CREATE EXTERNAL TABLE cloudtrail_logs_pp( eventversion STRING, useridentity STRUCT< type: STRING, principalid: STRING, arn: STRING, accountid: STRING, invokedby: STRING, accesskeyid: STRING, username: STRING, onbehalfof: STRUCT< userid: STRING, identitystorearn: STRING>, sessioncontext: STRUCT< attributes: STRUCT< mfaauthenticated: STRING, creationdate: STRING>, sessionissuer: STRUCT< type: STRING, principalid: STRING, arn: STRING, accountid: STRING, username: STRING>, ec2roledelivery:string, webidfederationdata: STRUCT< federatedprovider: STRING, attributes: map<string,string>> > >, eventtime STRING, eventsource STRING, eventname STRING, awsregion STRING, sourceipaddress STRING, useragent STRING, errorcode STRING, errormessage STRING, requestparameters STRING, responseelements STRING, additionaleventdata STRING, requestid STRING, eventid STRING, readonly STRING, resources ARRAY<STRUCT< arn: STRING, accountid: STRING, type: STRING>>, eventtype STRING, apiversion STRING, recipientaccountid STRING, serviceeventdetails STRING, sharedeventid STRING, vpcendpointid STRING, vpcendpointaccountid STRING, eventcategory STRING, addendum STRUCT< reason:STRING, updatedfields:STRING, originalrequestid:STRING, originaleventid:STRING>, sessioncredentialfromconsole STRING, edgedevicedetails STRING, tlsdetails STRUCT< tlsversion:STRING, ciphersuite:STRING, clientprovidedhostheader:STRING> ) PARTITIONED BY ( `timestamp` string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://example-bucket/AWSLogs/account-id/CloudTrail/aws-region' TBLPROPERTIES ( 'projection.enabled'='true', 'projection.timestamp.format'='yyyy/MM/dd', 'projection.timestamp.interval'='1', 'projection.timestamp.interval.unit'='DAYS', 'projection.timestamp.range'='2020/01/01,NOW', 'projection.timestamp.type'='date', 'storage.location.template'='s3://example-bucket/AWSLogs/account-id/CloudTrail/aws-region/${timestamp}')
Observação: Nas cláusulas LOCATION e TBLPROPERTIES, substitua example-bucket pelo nome do bucket, account-id pelo ID da sua conta e aws-region pela sua região. Para projection.timestamp.range, substitua 2020/01/01 pela sua data de início.
Para executar a consulta anterior e criar uma tabela de logs particionada do CloudTrail, conclua as seguintes etapas:
- Abra o console do Athena.
- Escolha Nova consulta e, em seguida, escolha a caixa de diálogo para apagar a consulta de exemplo.
- Insira a consulta anterior e escolha Executar consulta.
Para obter mais informações, consulte Criar a tabela para os logs do CloudTrail no Athena usando a projeção de partição.
Pesquisar na tabela de logs do CloudTrail as chamadas de API do AWS Support
A seguir estão exemplos de consultas que é possível usar para pesquisar chamadas do AWS Support na tabela de logs do CloudTrail durante um intervalo especificado. Os exemplos usam 2025/01/01 a 2025/01/07 como o intervalo especificado.
Observação: Nos exemplos de consultas a seguir, substitua default pelo nome do banco de dados em que você criou a tabela cloudtrail_logs_pp.
Conte o número de chamadas de API do AWS Support
A consulta a seguir conta o número total de chamadas de API que o AWS Support fez para sua conta:
SELECT COUNT(*) FROM "default"."cloudtrail_logs_pp" WHERE timestamp <= '2025/01/07' AND timestamp > '2025/01/01' AND sourceipaddress = 'support.amazonaws.com'
Receba todas as chamadas de API do AWS Support
A consulta a seguir mostra todas as chamadas de API que o AWS Support fez para sua conta:
SELECT * FROM "default"."cloudtrail_logs_pp" WHERE timestamp <= '2025/01/07' AND timestamp > '2025/01/01' AND sourceipaddress = 'support.amazonaws.com' LIMIT 10
Conte o número de chamadas de API do AWS Support por nome de usuário e origem do evento
A consulta a seguir mostra o número total de chamadas de API para cada nome de usuário e origem de evento que o AWS Support fez em sua conta:
SELECT useridentity.sessioncontext.sessionissuer.username, eventsource, COUNT(*) AS number_of_event FROM "default"."cloudtrail_logs_pp" WHERE timestamp <= '2025/01/07' AND timestamp > '2025/01/01' AND sourceipaddress = 'support.amazonaws.com' GROUP BY useridentity.sessioncontext.sessionissuer.username, eventsource ORDER BY number_of_event DESC
Obtenha os ARNs das chamadas de API que o AWS Support fez para sua conta
A consulta a seguir mostra o ARN de todas as chamadas de API que o AWS Support fez para a sua conta:
SELECT useridentity.arn FROM "default"."cloudtrail_logs_pp" WHERE timestamp <= '2025/01/07' AND timestamp > '2025/01/01' AND regexp_like(useridentity.arn, 'AWSServiceRoleForSupport') LIMIT 10
Obtenha os IDs das entidades principais das chamadas de API que o AWS Support fez para a sua conta
A consulta a seguir mostra os IDs das entidades principais de todas as chamadas de API que o AWS Support fez para a sua conta:
SELECT useridentity.principalid FROM "default"."cloudtrail_logs_pp" WHERE timestamp <= '2025/01/07' AND timestamp > '2025/01/01' AND regexp_like(useridentity.arn, 'AWSServiceRoleForSupport') LIMIT 10
Informações relacionadas
Adicionar e remover permissões de identidade do IAM
Gerenciamento de identidade e acesso no Athena
Como posso usar a projeção de partição para criar tabelas do CloudTrail para consultas do Athena?
- Idioma
- Português

Conteúdo relevante
- feita há 6 meses
- feita há 4 dias