Como crio uma tabela do Amazon Athena de forma automática para pesquisar logs do AWS CloudTrail?
Quero fazer pesquisas em um conjunto muito grande de logs do AWS CloudTrail. Para evitar erros não quero criar uma tabela do Amazon Athena manualmente.
Resolução
Use o console do CloudTrail para criar as tabelas do Athena automaticamente. Para mais informações, consulte Pesquisa de logs do AWS CloudTrail usando Amazon Athena.
Criar tabela do Athena
1. Abra o console do CloudTrail e escolha Trilhas no painel de navegação. Preste atenção ao nome do bucket do S3.
2. No painel de navegação, escolha Histórico de eventos e depois Criar tabela do Athena.
3. Na janela Criar uma tabela no Amazon Athena, abra o menu Local de armazenamento e escolha o bucket do Amazon Simple Storage Service (Amazon S3) que contém os logs do CloudTrail.
Observação: você pode otimizar a pesquisa por períodos em uma região específica da AWS usando o Athena para realizar uma operação de projeção em partições dos logs do CloudTrail.
4. Escolha Criar tabela.
5. Escolha Acessar Athena.
Observação: você pode receber o erro “Sua conta não tem permissões suficientes para criar tabelas no Amazon Athena”. Caso receba, anexe a política gerenciada AmazonAthenaFullAccess conforme as instruções em Adicionar permissões de identidade do IAM (console).
Você pode usar os exemplos de consultas a seguir nos logs. Substitua your_athena_tablename pelo nome da tabela do Athena e access_key_id pela chave de acesso de 20 caracteres. A chave de acesso geralmente começa com os caracteres AKIA ou ASIA.
Executar consulta do Athena
1. Abra o console do Athena, escolha Nova consulta. Depois, escolha a caixa de diálogo para apagar a consulta de exemplo.
2. Insira a consulta e escolha Executar consulta.
Exibir todas as atividades de APIs da AWS de uma chave de acesso em específico
SELECT eventTime, eventName, userIdentity.principalId FROM your_athena_tablename WHERE userIdentity.accessKeyId like 'access_key_id'
Identificar alterações nos grupos de segurança de uma instância do EC2
SELECT eventname, useridentity.username, sourceIPAddress, eventtime, requestparameters FROM your_athena_tablename WHERE (requestparameters like '%sg-5887f224%' or requestparameters like '%sg-e214609e%' or requestparameters like '%eni-6c5ca5a8%') and eventtime > '2017-02-15T00:00:00Z' order by eventtime asc;
Exibir todos os registros de login no console ocorridos nas últimas 24 horas
SELECT useridentity.username, sourceipaddress, eventtime, additionaleventdata FROM your_athena_tablename WHERE eventname = 'ConsoleLogin' and eventtime >= '2017-02-17T00:00:00Z' and eventtime < '2017-02-18T00:00:00Z';
Exibir todas as tentativas de login no console ocorridas nas últimas 24 horas
SELECT useridentity.username, sourceipaddress, eventtime, additionaleventdata FROM your_athena_tablename WHERE eventname = 'ConsoleLogin' and useridentity.username = 'HIDDEN_DUE_TO_SECURITY_REASONS' and eventtime >= '2017-02-17T00:00:00Z' and eventtime < '2017-02-18T00:00:00Z';
Detectar aumentos nos custos do CloudTrail por mês
SELECT eventName,count(eventName) AS NumberOfChanges,eventSource FROM your_athena_tablename WHERE eventtime >= '2019-01-01T00:00:00Z'and eventtime < '2019-01-31T00:00:00Z' GROUP BY eventName, eventSource ORDER BY NumberOfChanges DESC
Observação: os valores definidos em eventtime limitam-se ao período de um mês. Se quiser ver os resultados de um período maior, faça mais de uma consulta.
Identificar permissões ausentes do IAM
SELECT count (*) as TotalEvents, useridentity.arn, eventsource, eventname, errorCode, errorMessage FROM your_athena_tablename WHERE (errorcode like '%Denied%' or errorcode like '%Unauthorized%') AND eventtime >= '2019-10-28T00:00:00Z' AND eventtime < '2019-10-29T00:00:00Z' GROUP by eventsource, eventname, errorCode, errorMessage, useridentity.arn ORDER by eventsource, eventname
Se o resultado não exibir as chamadas de API que falharam, amplie o intervalo das consultas desta maneira:
SELECT count (*) as TotalEvents, useridentity.arn, eventsource, eventname, errorCode, errorMessage FROM your_athena_tablename WHERE errorcode <> '' AND eventtime >= '2019-10-28T00:00:00Z' AND eventtime < '2019-10-29T00:00:00Z' GROUP by eventsource, eventname, errorCode, errorMessage, useridentity.arn ORDER by eventsource, eventname
Informações relacionadas
Consultar logs do AWS CloudTrail
Vídeos relacionados
Conteúdo relevante
- AWS OFICIALAtualizada há 10 meses
- AWS OFICIALAtualizada há 4 anos
- Como posso usar o AWS CloudTrail para rastrear chamadas de API para minhas instâncias do Amazon EC2?AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 2 anos