¿Cómo puedo usar Athena para consultar mis registros de CloudTrail para las llamadas a la API de AWS Support?
Quiero ejecutar consultas de Amazon Athena para buscar en mis registros de AWS CloudTrail las llamadas a la API que AWS Support realizó a mi cuenta de AWS.
Descripción corta
Para ayudarlo a resolver su problema, AWS Support puede recopilar metadatos seguros de solo lectura sobre sus recursos de AWS. AWS Support utiliza un rol vinculado al servicio de AWS Identity and Access Management (IAM) denominado AWSServiceRoleForSupport para recopilar los metadatos.
Para obtener información sobre las llamadas a la API que AWS Support realiza a su cuenta, utilice Athena para consultar sus registros de CloudTrail.
Resolución
Uso de la proyección de particiones para crear manualmente una tabla de CloudTrail
Incluso si fragmenta la tabla de CloudTrail en particiones para reducir la versión ejecutable de las consultas, el tamaño de los registros de CloudTrail puede aumentar con el tiempo. Las consultas que ejecuta en una tabla con muchas particiones requieren mucho tiempo de planificación y no se completan rápidamente.
Para reducir las versiones ejecutables de las consultas, utilice la proyección de particiones para crear manualmente una tabla de CloudTrail.
Por ejemplo, la siguiente instrucción CREATE TABLE usa automáticamente la proyección de particiones en los registros de CloudTrail dentro de un periodo de tiempo específico en una región de 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}')
Nota: En las cláusulas LOCATION y TBLPROPERTIES, sustituya example-bucket por el nombre de su bucket, account-id por su ID de cuenta y aws-region por su región. Para projection.timestamp.range, sustituya 2020/01/01 por su fecha de inicio.
Para ejecutar la consulta anterior y crear una tabla de registros de CloudTrail con particiones, siga estos pasos:
- Abra la consola de Athena.
- Elija Nueva consulta y, a continuación, seleccione el cuadro de diálogo para borrar la consulta de ejemplo.
- Introduzca la consulta anterior y, a continuación, seleccione Ejecutar consulta.
Para obtener más información, consulte Creación de la tabla para los registros de CloudTrail en Athena mediante la proyección de particiones.
Búsqueda en la tabla de registros de CloudTrail de las llamadas a la API de AWS Support
Los siguientes son ejemplos de consultas que puede usar para buscar llamadas de AWS Support en la tabla de registros de CloudTrail durante un intervalo de tiempo específico. En los ejemplos se utiliza 2025/01/01 a 2025/01/07 como intervalo de tiempo especificado.
Nota: En las consultas de ejemplo siguientes, sustituya default por el nombre de la base de datos en la que creó la tabla cloudtrail_logs_pp.
Recuento del número de llamadas a la API de AWS Support
La siguiente consulta cuenta el número total de llamadas a la API que AWS Support realizó a su cuenta:
SELECT COUNT(*) FROM "default"."cloudtrail_logs_pp" WHERE timestamp <= '2025/01/07' AND timestamp > '2025/01/01' AND sourceipaddress = 'support.amazonaws.com'
Obtención de todas las llamadas a la API de AWS Support
La siguiente consulta muestra todas las llamadas a la API que AWS Support realizó a su cuenta:
SELECT * FROM "default"."cloudtrail_logs_pp" WHERE timestamp <= '2025/01/07' AND timestamp > '2025/01/01' AND sourceipaddress = 'support.amazonaws.com' LIMIT 10
Recuento del número de llamadas a la API de AWS Support por nombre de usuario y origen de eventos
La siguiente consulta muestra el número total de llamadas a la API para cada nombre de usuario y origen de eventos que AWS Support realizó a su cuenta:
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
Obtención de los ARN de las llamadas a la API que AWS Support realizó a su cuenta
La siguiente consulta muestra el ARN de todas las llamadas a la API que AWS Support realizó a su cuenta:
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
Obtención de los ID principales de las llamadas a la API que AWS Support realizó a su cuenta
La siguiente consulta muestra los ID principales de todas las llamadas a la API que AWS Support realizó a su cuenta:
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
Información relacionada
Adición y eliminación de permisos de identidad de IAM
- Etiquetas
- Amazon AthenaAWS CloudTrail
- Idioma
- Español

Contenido relevante
- preguntada hace 4 días
- preguntada hace 9 meses
- preguntada hace 16 días
- preguntada hace 4 meses