

# Consultar logs do AWS CloudTrail
<a name="cloudtrail-logs"></a>

O AWS CloudTrail é um serviço que registra chamadas de API da AWS e eventos de contas da Amazon Web Services. 

Os logs do CloudTrail incluem detalhes sobre todas as chamadas de API feitas para seus Serviços da AWS, incluindo o console. O CloudTrail gera arquivos de log criptografados e os armazena no Amazon S3. Para saber mais, consulte o [Guia do usuário do AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html). 

**nota**  
Se você quiser realizar consultas SQL nas informações de eventos do CloudTrail entre contas, regiões e datas, considere usar o CloudTrail Lake. O CloudTrail Lake é uma alternativa da AWS à criação de trilhas que agregam informações de uma empresa em um único armazenamento pesquisável de dados de eventos. Em vez de usar o armazenamento de bucket do Amazon S3, ele armazena eventos em um data lake, o que permite consultas mais avançadas e rápidas. Você pode usá-lo para criar consultas SQL que pesquisem eventos em organizações, regiões e em períodos temporais personalizados. Como você executa consultas do CloudTrail Lake diretamente no console do CloudTrail, o uso do CloudTrail Lake não requer o Athena. Para obter mais informações, consulte a Documentação do [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html).

O uso do Athena com os logs do CloudTrail é uma ótima maneira de melhorar a análise das atividades da AWS service (Serviço da AWS). Por exemplo, é possível usar consultas para identificar tendências e isolar ainda mais a atividade por atributos, como endereço IP de origem ou usuário.

Uma aplicação comum é usar os logs do CloudTrail para analisar a segurança e a compatibilidade das atividades operacionais. Para obter um exemplo detalhado, consulte a publicação no Blog de Big Data da AWS, [Análise de segurança, conformidade e atividades operacionais usando o AWS CloudTrail e o Amazon Athena](https://aws.amazon.com/blogs/big-data/aws-cloudtrail-and-amazon-athena-dive-deep-to-analyze-security-compliance-and-operational-activity/).

Você pode usar o Athena para consultar esses arquivos de log diretamente no Amazon S3 especificando o `LOCATION` dos arquivos de log. É possível fazer isso de duas formas:
+ Criando tabelas para arquivos de log do CloudTrail diretamente no console do CloudTrail.
+ Criando tabelas manualmente para arquivos de log do CloudTrail no console do Athena.

**Topics**
+ [Noções básicas de logs do CloudTrail e tabelas do Athena](create-cloudtrail-table-understanding.md)
+ [Usar o console do CloudTrail para criar uma tabela do Athena com logs do CloudTrail](create-cloudtrail-table-ct.md)
+ [Criar uma tabela de logs do CloudTrail no Athena usando particionamento manual](create-cloudtrail-table.md)
+ [Criar uma tabela para uma trilha em toda a organização usando particionamento manual](create-cloudtrail-table-org-wide-trail.md)
+ [Criar a tabela para logs do CloudTrail no Athena usando a projeção de partições](create-cloudtrail-table-partition-projection.md)
+ [Exemplo de consultas de log do CloudTrail](query-examples-cloudtrail-logs.md)

# Noções básicas de logs do CloudTrail e tabelas do Athena
<a name="create-cloudtrail-table-understanding"></a>

Antes de começar a criar tabelas, você deve conhecer melhor o CloudTrail e saber como ele armazena os dados. Isso pode ajudar a criar as tabelas necessárias, tanto pelo console do CloudTrail quanto pelo Athena.

O CloudTrail salva logs como arquivos de texto JSON no formato compactado gzip (`*.json.gz`). O local dos arquivos de log depende de como você configura as trilhas, da Região da AWS ou das regiões onde você está registrando, além de outros fatores. 

Para obter mais informações de onde os logs são armazenados, da estrutura JSON e do conteúdo do arquivo de registro, consulte os seguintes tópicos no [Manual do usuário do AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html):
+  [Encontrar os arquivos de log do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html) 
+  [Exemplos de arquivos de log do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-log-file-examples.html) 
+  [Conteúdo do registro do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html)
+  [Referência de eventos do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html) 

Para coletar e salvar os logs no Amazon S3, habilite o CloudTrail no Console de gerenciamento da AWS. Para obter mais informações, consulte [Criar uma trilha](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) no *Guia do usuário do AWS CloudTrail*.

# Usar o console do CloudTrail para criar uma tabela do Athena com logs do CloudTrail
<a name="create-cloudtrail-table-ct"></a>

Você pode criar uma tabela do Athena não particionada para consultar logs do CloudTrail diretamente no console do CloudTrail. A criação de uma tabela do Athena pelo console do CloudTrail requer que você esteja conectado com um perfil que tenha permissões suficientes para criar tabelas no Athena.

**nota**  
Não é possível usar o console do CloudTrail para criar uma tabela do Athena para logs de trilha da organização. Em vez disso, crie a tabela manualmente usando o console do Athena para que você possa especificar o local correto de armazenamento. Para obter informações sobre trilhas de organização, consulte [Criar uma trilha para uma organização](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html) no *Manual do usuário do AWS CloudTrail*.
+ Para obter informações sobre como configurar permissões para o Athena, consulte [Acesso de configuração, administrativo e programático](setting-up.md).
+ Para obter informações sobre como criar uma tabela com partições, consulte [Criar uma tabela de logs do CloudTrail no Athena usando particionamento manual](create-cloudtrail-table.md).

**Para criar uma tabela do Athena para uma trilha do CloudTrail no console do CloudTrail**

1. Abra o console do CloudTrail em [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. No painel de navegação, selecione **Event history (Histórico de eventos)**. 

1. Escolha **Create Athena table** (Criar tabela do Athena).  
![\[Escolher Create Athena table\]](http://docs.aws.amazon.com/pt_br/athena/latest/ug/images/cloudtrail-logs-create-athena-table.png)

1. Em **Storage location** (Local de armazenamento), use a seta para baixo para selecionar o bucket do Amazon S3 onde os arquivos de log estão armazenados para a trilha que será consultada.
**nota**  
Para localizar o nome do bucket associado a uma trilha, escolha **Trails** (Trilhas) no painel de navegação do CloudTrail e visualize a coluna **S3 bucket** (Bucket do S3) da trilha. Para ver o local do bucket do Amazon S3, escolha o link do bucket na coluna **S3 bucket** (Bucket do S3). O console do Amazon S3 é aberto no local do bucket do CloudTrail. 

1. Escolha **Criar tabela**. A tabela é criada com um nome padrão que inclui o nome do bucket do Amazon S3.

# Criar uma tabela de logs do CloudTrail no Athena usando particionamento manual
<a name="create-cloudtrail-table"></a>

É possível criar manualmente tabelas de arquivos de log do CloudTrail no console do Athena e executar consultas no Athena.

**Para criar uma tabela do Athena para uma trilha do CloudTrail no console do Athena**

1. Copie e cole a instrução DDL a seguir em um editor de consultas do console do Athena e modifique-a de acordo com seus requisitos. Observe que, como os arquivos de log do CloudTrail não são um rastreamento de pilha ordenada de chamadas de API públicas, os campos dos arquivos de log não aparecem em nenhuma ordem específica.

   ```
   CREATE EXTERNAL TABLE cloudtrail_logs (
   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,
   resources ARRAY<STRUCT<
                  arn:STRING,
                  accountid:STRING,
                  type:STRING>>,
   eventtype STRING,
   apiversion STRING,
   readonly 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 (region string, year string, month string, day 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://amzn-s3-demo-bucket/AWSLogs/Account_ID/';
   ```
**nota**  
Sugerimos usar o `org.apache.hive.hcatalog.data.JsonSerDe` exibido no exemplo. Embora exista um `com.amazon.emr.hive.serde.CloudTrailSerde`, no momento ele não processa alguns dos campos mais recentes do CloudTrail. 

1. (Opcional) Remova quaisquer campos não obrigatórios para a tabela. Se for necessário ler somente um determinado conjunto de colunas, sua definição de tabela poderá excluir as outras colunas.

1. Modifique `s3://amzn-s3-demo-bucket/AWSLogs/Account_ID/` para apontar para o bucket do Amazon S3 que contém os dados de log que você deseja consultar. O exemplo usa um valor `LOCATION` de logs para uma determinada conta, mas você pode usar o grau de especificidade adequado ao aplicativo. Por exemplo:
   + Para analisar dados de várias contas, você pode reverter o especificador `LOCATION` para indicar todos os `AWSLogs` usando `LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/'`.
   + Para analisar dados de uma data, conta e região específica, use `LOCATION 's3://amzn-s3-demo-bucket/123456789012/CloudTrail/us-east-1/2016/03/14/'.` 
   + Para analisar dados de atividade de rede em vez de eventos de gerenciamento, substitua `/CloudTrail/` na cláusula `LOCATION` por `/CloudTrail-NetworkActivity/`. 

   O uso do nível mais alto na hierarquia de objetos proporciona maior flexibilidade ao consultar usando o Athena.

1. Verifique se os campos estão listados corretamente. Para obter mais informações sobre a lista completa de campos em um registro do CloudTrail, consulte [Conteúdo do registro do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html).

   A declaração de exemplo `CREATE TABLE` na Etapa 1 usa [Hive JSON SerDe](hive-json-serde.md). No exemplo, os campos `requestparameters`, `responseelements` e `additionaleventdata` são listados como tipo `STRING` na consulta, mas são tipos de dados `STRUCT` usados em JSON. Portanto, para obter dados desses campos, use funções `JSON_EXTRACT`. Para obter mais informações, consulte [Extrair dados JSON de strings](extracting-data-from-JSON.md). Para melhorias de performance, o exemplo particiona os dados por Região da AWS, ano, mês e dia.

1. Execute a instrução `CREATE TABLE` no console do Athena.

1. Use o comando [ALTER TABLE ADD PARTITION](alter-table-add-partition.md) a fim de carregar as partições para que você consiga consultá-las, conforme o exemplo a seguir.

   ```
   ALTER TABLE table_name ADD 
      PARTITION (region='us-east-1',
                 year='2019',
                 month='02',
                 day='01')
      LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/Account_ID/CloudTrail/us-east-1/2019/02/01/'
   ```

# Criar uma tabela para uma trilha em toda a organização usando particionamento manual
<a name="create-cloudtrail-table-org-wide-trail"></a>

Para criar uma tabela para arquivos de log do CloudTrail em toda a organização no Athena, siga as etapas listadas em [Criar uma tabela de logs do CloudTrail no Athena usando particionamento manual](create-cloudtrail-table.md), mas faça as modificações observadas no procedimento a seguir.

**Criar uma tabela do Athena para logs do CloudTrail em toda a organização**

1. Na instrução `CREATE TABLE`, modifique a cláusula `LOCATION` para incluir o ID da organização, como no exemplo a seguir:

   ```
   LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/'
   ```

1. Na cláusula `PARTITIONED BY`, adicione uma entrada para o ID da conta como cadeia de caracteres, como no exemplo a seguir:

   ```
   PARTITIONED BY (account string, region string, year string, month string, day string)
   ```

   O exemplo a seguir mostra o resultado combinado:

   ```
   ...
   
   PARTITIONED BY (account string, region string, year string, month string, day 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://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/'
   ```

1. Na instrução `ALTER TABLE`, na cláusula `ADD PARTITION`, inclua o ID da organização, como no exemplo a seguir:

   ```
   ALTER TABLE table_name ADD
   PARTITION (account='111122223333',
   region='us-east-1',
   year='2022',
   month='08',
   day='08')
   ```

1. Na instrução `ALTER TABLE`, na cláusula `LOCATION`, inclua o ID da organização, o ID da conta e a partição que você deseja adicionar, como no exemplo a seguir:

   ```
   LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/us-east-1/2022/08/08/'
   ```

   No exemplo a seguir, a instrução `ALTER TABLE` mostra o resultado combinado:

   ```
   ALTER TABLE table_name ADD
   PARTITION (account='111122223333',
   region='us-east-1',
   year='2022',
   month='08',
   day='08')
   LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/111122223333/CloudTrail/us-east-1/2022/08/08/'
   ```

Observe que, em uma grande organização, usar esse método para adicionar e manter manualmente uma partição para cada ID de conta da organização pode ser complicado. Nesse cenário, considere usar o CloudTrail Lake em vez do Athena. O CloudTrail Lake oferece as seguintes vantagens:
+ Agrega automaticamente os logs em toda a organização
+ Não requer configuração ou manutenção de partições ou de uma tabela do Athena
+ As consultas são executadas diretamente no console do CloudTrail
+ Usa uma linguagem de consultas compatível com SQL

Para obter mais informações, consulte [Trabalhar com o AWS Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html), no *Guia do usuário do AWS CloudTrail*. 

# Criar a tabela para logs do CloudTrail no Athena usando a projeção de partições
<a name="create-cloudtrail-table-partition-projection"></a>

Como os logs do CloudTrail têm uma estrutura conhecida com um esquema de partição que você pode especificar antecipadamente, é possível reduzir o runtime das consultas e automatizar o gerenciamento de partições usando o atributo de projeção de partições do Athena. A projeção de partições adiciona automaticamente novas partições à medida que os dados são adicionados. Isso elimina a necessidade de adicionar manualmente as partições usando `ALTER TABLE ADD PARTITION`. 

A instrução de exemplo `CREATE TABLE` a seguir usa automaticamente a projeção de partições com base nos logs do CloudTrail a partir de uma data especificada até o dia de hoje para uma única Região da AWS. Nas cláusulas `LOCATION` e `storage.location.template`, substitua os espaços reservados *bucket*, *account-id* e *aws-region* pelos valores idênticos correspondentes. Em ‭`projection.timestamp.range`‬, substitua ‭*2020*/*01*/*01* pela data de início que você deseja usar. Depois que você executar a consulta com êxito, poderá consultar a tabela. Você não precisa executar `ALTER TABLE ADD PARTITION` para carregar as partições.

```
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://amzn-s3-demo-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://amzn-s3-demo-bucket/AWSLogs/account-id/CloudTrail/aws-region/${timestamp}')
```

Para obter mais informações sobre projeção de partições, consulte [Usar projeção de partições com o Amazon Athena](partition-projection.md).

# Exemplo de consultas de log do CloudTrail
<a name="query-examples-cloudtrail-logs"></a>

O exemplo a seguir mostra a parte de uma consulta que retorna todas as solicitações anônimas (não assinadas) da tabela criada para os logs de eventos do CloudTrail. Essa consulta seleciona as solicitações em que `useridentity.accountid` são anônimos e `useridentity.arn` não é especificado:

```
SELECT *
FROM cloudtrail_logs
WHERE 
    eventsource = 's3.amazonaws.com' AND 
    eventname in ('GetObject') AND 
    useridentity.accountid = 'anonymous' AND 
    useridentity.arn IS NULL AND
    requestparameters LIKE '%[your bucket name ]%';
```

Para obter mais informações, consulte a publicação no Blog de Big Data da AWS, [Análise de segurança, conformidade e atividades operacionais usando o AWS CloudTrail e o Amazon Athena](https://aws.amazon.com/blogs/big-data/aws-cloudtrail-and-amazon-athena-dive-deep-to-analyze-security-compliance-and-operational-activity/).

## Consulta de campos aninhados nos logs do CloudTrail
<a name="cloudtrail-logs-nested-fields"></a>

Como os campos `userIdentity` e `resources` são tipos de dados aninhados, é necessário um tratamento especial para consultá-los.

O objeto `userIdentity` consiste em tipos `STRUCT` aninhados. É possível consultá-los usando um ponto para separar os campos, como no seguinte exemplo:

```
SELECT 
    eventsource, 
    eventname,
    useridentity.sessioncontext.attributes.creationdate,
    useridentity.sessioncontext.sessionissuer.arn
FROM cloudtrail_logs
WHERE useridentity.sessioncontext.sessionissuer.arn IS NOT NULL
ORDER BY eventsource, eventname
LIMIT 10
```

O campo `resources` é um array de objetos `STRUCT`. Para esses arrays, use `CROSS JOIN UNNEST` para remover o aninhamento do array de modo que você possa consultar seus objetos.

O exemplo a seguir retorna todas as linhas em que o ARN do recurso termina com `example/datafile.txt`. Para legibilidade, a função [replace](https://prestodb.io/docs/current/functions/string.html#replace) remove a substring inicial `arn:aws:s3:::` do ARN.

```
SELECT 
    awsregion,
    replace(unnested.resources_entry.ARN,'arn:aws:s3:::') as s3_resource,
    eventname,
    eventtime,
    useragent
FROM cloudtrail_logs t
CROSS JOIN UNNEST(t.resources) unnested (resources_entry)
WHERE unnested.resources_entry.ARN LIKE '%example/datafile.txt'
ORDER BY eventtime
```

Veja a seguir exemplos de consultas de eventos `DeleteBucket`. A consulta extrai do objeto `resources` o nome do bucket e o ID da conta à qual o bucket pertence.

```
SELECT 
    awsregion,
    replace(unnested.resources_entry.ARN,'arn:aws:s3:::') as deleted_bucket,
    eventtime AS time_deleted,
    useridentity.username, 
    unnested.resources_entry.accountid as bucket_acct_id 
FROM cloudtrail_logs t
CROSS JOIN UNNEST(t.resources) unnested (resources_entry)
WHERE eventname = 'DeleteBucket'
ORDER BY eventtime
```

Para obter mais informações sobre como remover o aninhamento, consulte [Filtrar matrizes](filtering-arrays.md).

## Dicas para consultar logs do CloudTrail
<a name="tips-for-querying-cloudtrail-logs"></a>

Considere o seguinte ao explorar dados do log do CloudTrail:
+ Antes de consultar os logs, verifique se a tabela de logs tem a mesma aparência da tabela em [Criar uma tabela de logs do CloudTrail no Athena usando particionamento manual](create-cloudtrail-table.md). Se não for a primeira tabela, exclua a tabela existente usando o seguinte comando: `DROP TABLE cloudtrail_logs`.
+ Depois de ignorar a tabela existente, recrie-a. Para obter mais informações, consulte [Criar uma tabela de logs do CloudTrail no Athena usando particionamento manual](create-cloudtrail-table.md).

  Verifique se os campos na consulta do Athena estão listados corretamente. Para obter informações sobre a lista completa de campos em um registro do CloudTrail, consulte [Conteúdo do registro do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html). 

  Se a consulta incluir campos em formatos JSON, como `STRUCT`, extraia dados de JSON. Para obter mais informações, consulte [Extrair dados JSON de strings](extracting-data-from-JSON.md). 

  Algumas sugestões para realizar consultas em sua tabela do CloudTrail:
+ Comece observando quais usuários do chamaram quais operações da API e de quais endereços IP de origem.
+ Use a consulta SQL básica a seguir como o modelo. Cole a consulta no console do Athena e execute-a.

  ```
  SELECT
   useridentity.arn,
   eventname,
   sourceipaddress,
   eventtime
  FROM cloudtrail_logs
  LIMIT 100;
  ```
+ Modifique a consulta para explorar ainda mais seus dados.
+ Para melhorar a performance, inclua a cláusula `LIMIT` para retornar um subconjunto especificado de linhas.