Deren 씨가 Amazon Athena를 사용하여
CloudTrail 로그를 검색하는 방법을
보여줍니다.

Deren_SEA0818

대량의 AWS CloudTrail 로그 컬렉션을 검색하려고 하는데 오류를 방지하기 위해 Amazon Athena 테이블을 수동으로 생성하지 않으려고 합니다.

CloudTrail 콘솔을 사용하여 Athena 테이블을 자동으로 생성할 수 있습니다. 자세한 내용은 Amazon Athena를 사용한 AWS CloudTrail 로그 검색을 참조하십시오.

Athena 테이블 생성

  1. CloudTrail 콘솔을 열고 탐색 창에서 [Trails]를 선택합니다. S3 버킷 이름을 기록해 둡니다.
  2. 탐색 창에서 [Event history]를 선택한 다음 [Run advanced queries in Amazon Athena]를 선택합니다.
  3. [Create a table in Amazon Athena] 창에서 [Storage location] 메뉴를 열고 CloudTrail 로그 파일이 포함된 S3 버킷을 선택합니다.
  4. [Create table]을 선택합니다.
  5. [Go to Athena]를 선택합니다.

참고: "Your account does not have sufficient permissions to create tables in Amazon Athena"라는 오류가 표시될 수 있습니다. 이 오류가 표시되는 경우 IAM 정책 연결(콘솔)의 지침에 따라 AmazonAthenaFullAccess 관리형 정책을 연결합니다.

다음과 같은 샘플 쿼리 중 하나 이상을 로그에 사용할 수 있습니다. your_athena_tablename을 Athena 테이블 이름으로 바꾸고 access_key_id를 20자 액세스 키로 바꿉니다. 액세스 키는 일반적으로 AKIA 또는 ASIA 문자로 시작됩니다.

Athena 쿼리 실행

  1. Athena 콘솔을 열고 [New query]를 선택한 다음 샘플 쿼리를 지우는 대화 상자를 선택합니다.
  2. 쿼리를 입력한 다음 [Run Query]를 선택합니다.

특정 액세스 키에 대해 기록된 모든 AWS API 활동 표시

SELECT eventTime, eventName, userIdentity.principalId
FROM your_athena_tablename 
WHERE userIdentity.accessKeyId like 'access_key_id'

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;

지난 24시간 동안의 모든 콘솔 로그인 표시

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';

지난 24시간 동안 실패한 모든 콘솔 로그인 시도 표시

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';

CloudTrail 월별 비용 증가 식별 

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

참고: eventtime에 정의되는 값은 1개월로 제한됩니다. 여러 개월에 대한 결과를 가져오려면 추가 쿼리를 실행합니다. 


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2018년 7월 5일

업데이트 날짜: 2019년 3월 15일