Athena를 사용하여 CloudTrail 로그 검색

3754 단어 AWS

개요


과거의 Cloud Trail 로그를 Athena로 분석할 기회가 있었기 때문에 이 글을 요약하고 싶습니다.
컨트롤러에서 테이블을 만들고 검색을 실행하면 과거의 이벤트를 쉽게 검색할 수 있습니다.

테이블 작성


콘솔에서 CloudTrail에 액세스하고 이벤트 기록 페이지를 엽니다.
Athena 테이블 만들기 버튼을 클릭합니다.

Athena 양식 제작 페이지가 표시되어 있기 때문에.
로그 저장 시간을 선택하고 오른쪽 아래 모서리의'테이블 만들기'를 누르십시오.
CREATE EXTERNAL TABLE table_name (
    eventVersion STRING,
    userIdentity STRUCT<
        type: STRING,
        principalId: STRING,
        arn: STRING,
        accountId: STRING,
        invokedBy: STRING,
        accessKeyId: STRING,
        userName: STRING,
        sessionContext: STRUCT<
            attributes: STRUCT<
                mfaAuthenticated: STRING,
                creationDate: STRING>,
            sessionIssuer: STRUCT<
                type: STRING,
                principalId: STRING,
                arn: STRING,
                accountId: STRING,
                userName: 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
)
COMMENT 'CloudTrail table for cloudtrail-bucket bucket'
ROW FORMAT SERDE 'com.amazon.emr.hive.serde.CloudTrailSerde'
STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION 's3://cloudtrail-bucket/AWSLogs/XXXXXXXXXXXX/CloudTrail/'
TBLPROPERTIES ('classification'='cloudtrail')
※ 이 조회를 Athena에 직접 붙여넣더라도 테이블을 만들 수 있습니다.
CREATE EXTERNAL TABLE의 테이블 이름
Location S3에 저장된 CloudTrail 로그 경로 지정

질의 실행


Athena를 열고 테이블이 생성되었는지 확인합니다.
질의를 수행하고 열 분석을 수행합니다.

상용 열

useridentity
eventtime 
eventsource 
eventname
awsregion 
useragent
requestparameters
열에 대한 자세한 내용은 공식 페이지의 "CloudTrail 레코드 세부 정보"를 참조하십시오.
https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html

질의 실행 예

SELECT "useridentity","eventtime","eventsource","eventname","awsregion","useragent"
,"requestparameters"
FROM "テーブル名"
WHERE eventName ='CreateStuck(検索したいAPI名)'AND 
awsregion ='ap-northeast-1'(検索したいリージョン)AND 
eventTime > '2020-12-01T00:00:00Z(検索したい期間)';
상기 예시에서 조회를 실행하면 12월 00일 이후 도쿄 지역에서 생성된 CloudFromation 창고 생성 이벤트를 찾을 수 있습니다.

총결산


Athena는 과거 CloudTrail 로그를 검색하는 데 매우 편리합니다.
우선, 내용을 파악하면 검색의 정밀도가 높아지므로 먼저 SELECT에 "*"를 붙여서 모든 열의 내용을 확인하는 것이 좋습니다.

참조 페이지


AWS CloudTrail 로그 조회
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/cloudtrail-logs.html

좋은 웹페이지 즐겨찾기