AWS CLI를 사용하여 CloudTrail Insights 이벤트 보기 - AWS CloudTrail

AWS CLI를 사용하여 CloudTrail Insights 이벤트 보기

aws cloudtrail lookup-events 명령을 실행하여 최근 90일간의 CloudTrail Insights 이벤트를 조회할 수 있습니다. lookup-events 명령에는 다음과 같은 옵션이 있습니다.

  • --end-time

  • --event-category

  • --max-results

  • --start-time

  • --lookup-attributes

  • --next-token

  • --generate-cli-skeleton

  • --cli-input-json

AWS Command Line Interface 사용에 대한 일반적인 내용은 AWS Command Line Interface 사용 설명서를 참조하세요.

사전 조건

  • AWS CLI 명령을 실행하려면 AWS CLI를 설치해야 합니다. 자세한 내용은 AWS 명령줄 인터페이스 설치 단원을 참조하세요.

  • AWS CLI 버전이 1.6.6 이상인지 확인합니다. CLI 버전을 확인하려면 명령줄에서 aws --version를 실행하십시오.

  • AWS CLI 세션에 대한 계정, 리전 및 기본 출력 형식을 설정하려면 aws configure 명령을 사용하십시오. 자세한 내용은 AWS 명령줄 인터페이스 구성 단원을 참조하세요.

참고

CloudTrail AWS CLI 명령은 대/소문자를 구분합니다.

명령줄 도움말 받기

lookup-events에 대한 명령줄 도움말을 보려면 다음 명령을 입력하십시오.

aws cloudtrail lookup-events help

Insights 이벤트 조회

최근 Insights 이벤트 10개를 보려면 다음 명령을 입력하세요.

aws cloudtrail lookup-events --event-category insight

반환된 이벤트는 다음 예와 비슷합니다.

{ "NextToken": "kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=", "Events": [ { "eventVersion": "1.07", "eventTime": "2019-10-15T21:13:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLE-9b6f-45f8-bc6b-9b41c052ebc7", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "Start", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" }, { "eventVersion": "1.07", "eventTime": "2019-10-15T21:14:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLEc-9eac-4af6-8e07-26a5ae8786a5", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "End", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" } ] }

출력에서 조회 관련 필드에 대한 설명은 이 주제의 조회 출력 필드를 참조하십시오. Insights 이벤트의 필드에 대한 설명은 CloudTrail 레코드 콘텐츠를 참조하십시오.

반환할 Insights 이벤트 수 지정

반환할 이벤트 수를 지정하려면 다음 명령을 입력하십시오.

aws cloudtrail lookup-events --event-category insight --max-results <integer>

<integer>에 대한 기본값(지정되지 않은 경우)은 10입니다. 가능한 값은 1에서 50까지입니다. 다음 예제는 하나의 결과를 반환합니다.

aws cloudtrail lookup-events --event-category insight --max-results 1

시간 범위별 Insights 이벤트 조회

지난 90일간의 Insights 이벤트를 조회할 수 있습니다. 시간 범위를 지정하려면 다음 명령을 입력하십시오.

aws cloudtrail lookup-events --event-category insight --start-time <timestamp> --end-time <timestamp>

--start-time <timestamp>은 지정된 시간이나 그 후에 발생하는 Insights 이벤트만 반환되도록 지정합니다. 지정된 시작 시간이 지정된 종료 시간 이후인 경우 오류가 반환됩니다.

--end-time <timestamp>은 지정된 시간이나 그 전에 발생하는 Insights 이벤트만 반환되도록 지정합니다. 지정된 종료 시간이 지정된 시작 시간 이전인 경우 오류가 반환됩니다.

기본 시작 시간은 최근 90일 중 데이터가 확인되는 가장 이른 날짜입니다. 기본 종료 시간은 현재 시간과 가장 근접해 발생한 이벤트의 시간입니다.

유효한 <timestamp> 형식

--start-time--end-time 속성은 UNIX 시간 값 또는 동등한 유효 값을 가져옵니다.

다음은 유효한 형식의 예입니다. 날짜, 월 및 연도 값은 하이픈 또는 슬래시로 구분할 수 있습니다. 공백이 있으면 큰 따옴표를 사용해야 합니다.

1422317782 1422317782.0 01-27-2015 01-27-2015,01:16PM "01-27-2015, 01:16 PM" "01/27/2015, 13:16" 2015-01-27 "2015-01-27, 01:16 PM"

속성별 Insights 이벤트 조회

속성별로 필터링하려면 다음 명령을 입력하십시오.

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=<attribute>,AttributeValue=<string>

lookup-events 명령에 대한 속성 키-값 페어 하나만 지정할 수 있습니다. 다음은 AttributeKey에서 유효한 인사이트 이벤트 값입니다 . 값 이름은 대/소문자를 구분합니다.

  • EventId

  • EventName

  • EventSource

속성 조회 예제

다음 명령 예는 EventName 값이 PutRule인 Insights 이벤트를 반환합니다.

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule

다음 명령 예는 EventId 값이 b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002인 Insights 이벤트를 반환합니다.

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventId, AttributeValue=b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002

다음 명령 예는 EventSource 값이 iam.amazonaws.com인 Insights 이벤트를 반환합니다.

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventSource, AttributeValue=iam.amazonaws.com

결과의 다음 페이지 지정

lookup-events 명령에서 결과의 다음 페이지를 가져오려면 다음 명령을 입력하십시오.

aws cloudtrail lookup-events --event-category insight <same parameters as previous command> --next-token=<token>

이 명령에서 <token>에 대한 값은 이전 명령 출력의 첫 번째 필드에서 가져옵니다.

명령에서 --next-token을 사용할 때 이전 명령과 같은 파라미터를 사용해야 합니다. 예를 들어 다음 명령을 실행한다고 가정합니다.

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule

결과의 다음 페이지를 가져오려면 다음 명령이 아래와 유사합니다.

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName,AttributeValue=PutRule --next-token=EXAMPLEZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=

파일에서 JSON 입력 가져오기

일부 AWS CLI 서비스에 대한 AWS에는 --generate-cli-skeleton--cli-input-json라는 2개의 파라미터가 있는데, 이들을 사용해 JSON 템플릿을 생성할 수 있습니다. 이 템플릿은 수정이 가능하고 --cli-input-json 파라미터에 대한 입력으로 사용할 수 있습니다. 이 섹션에서는 aws cloudtrail lookup-events로 이러한 파라미터를 사용하는 방법을 설명합니다. 자세한 내용은 CLI 스켈레톤 및 CLI 입력 JSON 파라미터 생성을 참조하십시오.

파일에서 JSON 입력을 가져와서 Insights 이벤트를 조회하려면
  1. 다음 예와 같이 --generate-cli-skeleton 출력을 파일로 리디렉션하여 lookup-events와 함께 사용할 입력 템플릿을 생성합니다.

    aws cloudtrail lookup-events --event-category insight --generate-cli-skeleton > LookupEvents.txt

    생성된 템플릿 파일(이 경우, LookupEvents.txt)은 다음과 같습니다.

    { "LookupAttributes": [ { "AttributeKey": "", "AttributeValue": "" } ], "StartTime": null, "EndTime": null, "MaxResults": 0, "NextToken": "" }
  2. 텍스트 편집기를 사용하여 필요에 따라 JSON을 수정합니다. JSON 입력은 지정된 값만 포함해야 합니다.

    중요

    템플릿을 사용하기 전에 템플릿에서 모든 비어 있는 값이나 null 값을 제거해야 합니다.

    다음 예제에서는 반환할 최대 결과 수와 시간 범위를 지정합니다.

    { "StartTime": "2015-01-01", "EndTime": "2015-01-27", "MaxResults": 2 }
  3. 편집된 파일을 입력으로 사용하려면 다음 예제와 같이 구문 --cli-input-json file://<filename>을 사용합니다.

    aws cloudtrail lookup-events --event-category insight --cli-input-json file://LookupEvents.txt
참고

--cli-input-json과 동일한 명령줄에서 다른 인수를 사용할 수 있습니다.

조회 출력 필드

이벤트

조회 속성과 지정된 시간 범위를 기반으로 한 조회 이벤트 목록입니다. 이벤트 목록은 최신 이벤트부터 먼저 나열되는 시간별로 정렬됩니다. 각 항목에는 조회 요청에 관한 정보 및 검색된 CloudTrail 이벤트의 문자열 표현이 포함됩니다.

다음 항목은 각 조회 이벤트의 필드를 설명합니다.

CloudTrailEvent

이벤트가 반환되었음을 나타내는 객체를 포함한 JSON 문자열입니다. 반환된 각 요소에 관한 정보는 레코드 본문 콘텐츠를 참조하십시오.

EventId

반환된 이벤트 GUID를 포함한 문자열입니다.

EventName

반환된 이벤트 이름을 포함한 문자열입니다.

EventSource

​요청이 이루어진 AWS 서비스입니다.

EventTime

이벤트 날짜 및 시간(UNIX 시간 형식)입니다.

리소스

반환된 이벤트가 참조하는 리소스 목록입니다. 각 리소스 항목은 리소스 유형 및 리소스 이름을 지정합니다.

ResourceName

이벤트가 참조하는 리소스 이름을 포함하는 문자열입니다.

ResourceType

이벤트가 참조하는 리소스 유형을 포함하는 문자열입니다. 리소스 유형을 결정할 수 없는 경우 null이 반환됩니다.

Username(사용자 이름) –

반환된 이벤트에 대한 계정 사용자 이름을 포함하는 문자열입니다.

NextToken

이전 lookup-events 명령에서 결과의 다음 페이지를 가져오는 문자열입니다. 토큰을 사용하기 위해 파라미터는 원래 명령의 것과 같아야 합니다. 출력에 NextToken 항목이 나타나지 않는 경우 더 반환할 결과가 없는 것입니다.

CloudTrail Insights 이벤트에 대한 자세한 내용은 이 설명서의 추적에 대한 Insights 이벤트 로깅 단원을 참조하세요.