CloudTrail 레코드 콘텐츠 - AWS CloudTrail

CloudTrail 레코드 콘텐츠

레코드 본문에는 요청한 시기와 장소뿐만 아니라 요청한 작업을 파악하는 데 도움이 되는 필드가 포함됩니다. 선택 사항의 값이 True인 경우, 서비스, API 또는 이벤트 유형에 적용될 때만 필드가 있습니다. 선택 사항의 값이 False인 경우 필드가 항상 있거나 필드의 존재 여부가 서비스, API 또는 이벤트 유형에 따라 달라지지 않음을 의미합니다. 예를 들어 responseElements는 변경을 수행하는 작업(생성, 업데이트 또는 삭제 작업)의 이벤트에 있습니다.

eventTime

요청이 완료된 날짜와 시간은 협정 세계시(UTC)로 표시됩니다. 이벤트의 타임스탬프는 API 호출이 이루어진 서비스 API 엔드포인트를 제공하는 로컬 호스트에서 가져옵니다. 예를 들어 미국 서부(오레곤) 리전에서 실행되는 CreateBucket API 이벤트는 Amazon S3 엔드포인트, s3.us-west-2.amazonaws.com을 실행하는 AWS 호스트의 시간에서 타임스탬프를 가져옵니다. 일반적으로 AWS 서비스는 Network Time Protocol(NTP)을 사용하여 시스템 시계를 동기화합니다.

다음 버전 이후: 1.0

선택 사항: False

eventVersion

로그 이벤트 형식 버전입니다. 현재 버전은 1.08입니다.

eventVersion 값은 major_version.minor_version 형식의 메이저 및 마이너 버전입니다. 예를 들어 eventVersion 값이 1.07일 수 있습니다. 여기서 1은 메이저 버전이고 07은 마이너 버전입니다.

CloudTrail에서는 이전 버전과 호환되지 않는 이벤트 구조가 변경되면 메이저 버전이 증가합니다. 여기에는 이미 존재하는 JSON 필드를 제거하거나 필드 내용이 표시되는 방식(예: 날짜 형식)을 변경하는 작업이 포함됩니다. CloudTrail에서는 이벤트 구조에 새 필드가 추가되는 변경이 일어나면 마이너 버전이 증가합니다. 이는 기존 이벤트 일부 또는 모두에 새 정보를 사용할 수 있는 경우 또는 새 이벤트 유형에서만 새 정보를 사용할 수 있는 경우에 발생할 수 있습니다. 애플리케이션은 이벤트 구조의 새로운 마이너 버전과의 호환성을 유지하기 위해 새 필드를 무시할 수 있습니다.

CloudTrail에 새로운 이벤트 유형이 도입되었지만 이벤트 구조가 달리 변경되지 않은 경우 이벤트 버전은 변경되지 않습니다.

애플리케이션이 이벤트 구조를 구문 분석할 수 있도록 하려면 메이저 버전 번호에 대해 같은 값인지 비교를 수행하는 것이 좋습니다. 애플리케이션에서 예상하는 필드가 있는지 확인하도록 하려면 마이너 버전에 대해 크거나 같은 값인지 비교를 수행하는 것이 좋습니다. 마이너 버전에는 선행 0이 없습니다. major_versionminor_version을 모두 숫자로 해석하고 비교 작업을 수행할 수 있습니다.

다음 버전 이후: 1.0

선택 사항: False

userIdentity

요청한 사용자에 관한 정보입니다. 자세한 내용은 CloudTrail userIdentity 요소 단원을 참조하세요.

다음 버전 이후: 1.0

선택 사항: False

eventSource

요청이 이루어진 서비스입니다. 이 이름은 일반적으로 공백 없이 .amazonaws.com이 붙는 서비스 이름의 간단한 형태입니다. 예제:

  • AWS CloudFormation는 cloudformation.amazonaws.com입니다.

  • Amazon EC2는 ec2.amazonaws.com입니다.

  • Amazon Simple Workflow Service는 swf.amazonaws.com입니다.

이 규칙에는 몇 가지 예외가 있습니다. 예를 들어 Amazon CloudWatch의 eventSourcemonitoring.amazonaws.com입니다.

다음 버전 이후: 1.0

선택 사항: False

eventName

요청된 작업으로 해당 서비스를 위한 API의 작업 중 하나입니다.

다음 버전 이후: 1.0

선택 사항: False

awsRegion

AWS과 같이 요청이 이루어진 us-east-2 리전입니다. CloudTrail 지원 리전 단원을 참조하세요.

다음 버전 이후: 1.0

선택 사항: False

sourceIPAddress

요청이 이루어진 IP 주소입니다. 서비스 콘솔에서 시작된 작업의 경우 보고된 주소는 콘솔 웹 서버가 아닌 기본 고객 리소스용입니다. AWS의 서비스의 경우 DNS 이름만 표시됩니다. 요청이 프록시 클라이언트(예: AWS Management Console)를 사용하여 이루어졌고 sessionCredentialFromConsoletrue 값으로 존재하는 경우, CloudTrail은 sourceIPAddress의 값을 수정하고 AWS Internal로 교체합니다.

다음 버전 이후: 1.0

선택 사항: False

userAgent

AWS Management Console, AWS 서비스, AWS SDK 또는 AWS CLI와 같이 요청이 이루어진 에이전트입니다. 이 필드의 최대 크기는 1KB입니다. 해당 제한을 초과하는 내용은 잘립니다. 다음은 예제 값입니다.

  • signin.amazonaws.com - AWS Management Console을 사용하는 IAM 사용자에 의해 이루어진 요청입니다.

  • console.amazonaws.com - AWS Management Console을 사용하는 루트 사용자에 의해 이루어진 요청입니다.

  • lambda.amazonaws.com - AWS Lambda로 이루어진 요청입니다.

  • aws-sdk-java - AWS SDK for Java로 이루어진 요청입니다.

  • aws-sdk-ruby - AWS SDK for Ruby로 이루어진 요청입니다.

  • aws-cli/1.3.23 Python/2.7.6 Linux/2.6.18-164.el5 - Linux에 설치된 AWS CLI로 이루어진 요청입니다.

  • AWS Internal - 요청이 프록시 클라이언트(예: AWS Management Console)를 사용하여 이루어졌고 sessionCredentialFromConsoletrue 값으로 존재하는 경우, CloudTrail은 userAgent의 값을 수정하고 AWS Internal로 교체합니다.

참고

AWS가 시작하는 이벤트의 경우 보통 이 필드는 AWS Internal/#이며 여기서 #은 내부 목적으로 사용되는 숫자입니다.

다음 버전 이후: 1.0

선택 사항: True

errorCode

요청이 오류를 반환하는 경우의 AWS 서비스 오류 이 필드를 보여 주는 예는 오류 코드 및 메시지 로그의 예 단원을 참조하세요. 이 필드의 최대 크기는 1KB입니다. 해당 제한을 초과하는 내용은 잘립니다.

다음 버전 이후: 1.0

선택 사항: True

errorMessage

요청이 오류를 반환하는 경우의 오류 설명입니다. 이 메시지에는 권한 부여 실패에 대한 메시지가 포함됩니다. CloudTrail은 예외 처리 시 서비스가 로그한 메시지를 캡처합니다. 예시는 오류 코드 및 메시지 로그의 예에서 확인하세요. 이 필드의 최대 크기는 1KB입니다. 해당 제한을 초과하는 내용은 잘립니다.

참고

일부 AWS 서비스는 이벤트의 최상위 수준 필드로 errorCodeerrorMessage를 제공합니다. 기타 AWS 서비스는 responseElements의 일부로 오류 정보를 제공합니다.

다음 버전 이후: 1.0

선택 사항: True

requestParameters

파라미터가 있는 경우 요청과 함께 전송됩니다. 이러한 파라미터는 적합한 AWS 서비스를 위해 API 참조 문서로 문서화됩니다. 이 필드의 최대 크기는 100KB입니다. 해당 제한을 초과하는 내용은 잘립니다.

다음 버전 이후: 1.0

선택 사항: False

responseElements

변경이 이루어지는 작업의 응답 요소입니다(작업 생성, 업데이트 또는 삭제). 작업이 상태를 변경하지 않으면(예를 들어, 객체를 받거나 나열하는 요청) 이 요소는 생략됩니다. 이러한 작업은 적합한 AWS 서비스를 위해 API 참조 문서로 문서화됩니다. 이 필드의 최대 크기는 100KB입니다. 해당 제한을 초과하는 내용은 잘립니다.

responseElements 값은 AWS Support에서 요청을 추적하는 데 유용합니다. x-amz-request-idx-amz-id-2에는 AWS Support에서 요청을 추적하는 데 도움이 되는 정보가 포함되어 있습니다. 이러한 값은 이벤트를 시작하는 요청에 대한 응답으로 서비스가 반환하는 값과 동일하므로 이벤트를 요청과 일치시키는 데 사용할 수 있습니다.

다음 버전 이후: 1.0

선택 사항: False

additionalEventData

요청 또는 응답의 일부가 아닌 이벤트에 대한 추가 데이터입니다. 이 필드의 최대 크기는 28KB입니다. 해당 제한을 초과하는 내용은 잘립니다.

이 필드에 대한 지원은 eventVersion 1.00으로 시작합니다.

다음 버전 이후: 1.0

선택 사항: True

requestID

요청을 식별하는 값입니다. 호출된 서비스가 이 값을 생성합니다. 이 필드의 최대 크기는 1KB입니다. 해당 제한을 초과하는 내용은 잘립니다.

이 필드에 대한 지원은 eventVersion 1.01으로 시작합니다.

다음 버전 이후: 1.01

선택 사항: False

eventID

각 이벤트를 고유하게 식별하기 위해 CloudTrail이 생성한 GUID입니다. 이 값을 사용하여 단일 이벤트를 식별할 수 있습니다. 예를 들어, 검색 가능한 데이터베이스에서 로그 데이터를 검색하기 위해 기본 키로 ID를 사용할 수 있습니다.

다음 버전 이후: 1.01

선택 사항: False

eventType

이벤트 레코드를 생성하는 이벤트 유형을 식별합니다. 다음 값 중 하나일 수 있습니다.

  • AwsApiCall - 호출된 API입니다.

  • AwsServiceEvent - 추적과 관련된 이벤트를 생성한 서비스입니다. 예를 들어, 다른 계정이 소유한 리소스를 사용하여 호출했을 때 발생할 수 있습니다.

  • AwsConsoleAction - API 호출이 아닌 콘솔에서 수행한 작업입니다.

  • AwsConsoleSignIn - AWS Management Console에 로그인한 계정(루트, IAM, 연동, SAML 또는 SwitchRole)의 사용자입니다.

  • AwsCloudTrailInsight - 추적에 대해 Insights 이벤트가 사용 설정된 경우 CloudTrail은 리소스 프로비저닝 스파이크 또는 AWS Identity and Access Management(IAM) 작업 버스트와 같은 비정상적인 운영 활동을 감지할 때 Insights 이벤트를 생성합니다.

    AwsCloudTrailInsight 이벤트는 다음 필드를 사용하지 않습니다.

    • eventName

    • eventSource

    • sourceIPAddress

    • userAgent

    • userIdentity

다음 버전 이후: 1.02

선택 사항: False

apiVersion

AwsApiCall eventType 값과 연계된 API 버전을 식별합니다.

다음 버전 이후: 1.01

선택 사항: True

managementEvent

이벤트가 관리 이벤트인지 여부를 식별하는 부울 값인 managementEventeventVersion이 1.06 이상이고 이벤트 유형이 다음 중 하나인 경우 이벤트 기록에 나타납니다.

  • AwsApiCall

  • AwsConsoleAction

  • AwsConsoleSignIn

  • AwsServiceEvent

다음 버전 이후: 1.06

선택 사항: True

readOnly

이 작업이 읽기 전용 작업인지 식별합니다. 다음 값 중 하나일 수 있습니다.

  • true – 작업이 읽기 전용입니다(예: DescribeTrails).

  • false – 작업이 쓰기 전용입니다(예: DeleteTrail).

다음 버전 이후: 1.01

선택 사항: True

resources

이벤트에서 액세스되는 리소스 목록입니다. 필드에 추가되는 정보는 다음과 같습니다.

  • 리소스 ARN

  • 리소스 소유자의 계정 ID

  • 다음 형식의 리소스 유형 식별자: AWS::aws-service-name::data-type-name

예를 들어, AssumeRole 이벤트가 로깅되었을 때 resources 필드가 다음과 같이 나타날 수 있습니다.

  • ARN: arn:aws:iam::123456789012:role/myRole

  • 계정 ID: 123456789012

  • 리소스 유형 식별자: AWS::IAM::Role

resources 필드가 있는 로그의 예는 IAM 사용 설명서에서 CloudTrail 로그 파일의 AWS STS API 이벤트 또는 AWS Key Management Service 개발자 가이드에서 AWS KMS API 호출 로깅 단원을 참조하세요.

다음 버전 이후: 1.01

선택 사항: True

recipientAccountId

이 이벤트를 수신하는 계정 ID를 나타냅니다. recipientAccountIDCloudTrail userIdentity 요소 accountId와 다를 수 있습니다. 이는 교차 계정 리소스 액세스에서 일어날 수 있습니다. 예를 들어 AWS KMS key라고도 하는 KMS 키가 별도의 계정에서 Encrypt API를 호출하는 데 사용된 경우 accountIdrecipientAccountID 값은 호출을 수행한 계정에 전달된 이벤트에 대해 동일하지만 KMS 키를 소유한 계정에 전달되는 이벤트에 대해서는 서로 다릅니다.

다음 버전 이후: 1.02

선택 사항: True

serviceEventDetails

이벤트 및 결과가 트리거된 내용을 포함하여 서비스 이벤트를 식별합니다. 자세한 내용은 AWS 서비스 이벤트 단원을 참조하세요. 이 필드의 최대 크기는 100KB입니다. 해당 제한을 초과하는 내용은 잘립니다.

다음 버전 이후: 1.05

선택 사항: True

sharedEventID

다른 AWS 계정에 전송되는 동일한 AWS 작업의 CloudTrail 이벤트를 고유하게 식별하기 위해 CloudTrail에서 생성한 GUID입니다.

예를 들어 계정이 또 다른 계정에 속한 AWS KMS key를 사용하는 경우 KMS 키를 사용한 계정과 KMS 키를 소유한 계정은 동일한 작업에 대해 별도의 CloudTrail 이벤트를 수신합니다. 이 AWS 작업을 위해 전달된 각 CloudTrail 이벤트는 동일한 sharedEventID를 공유하지만 고유한 eventIDrecipientAccountID를 갖습니다.

자세한 내용은 sharedEventID 예 단원을 참조하세요.

참고

sharedEventID 필드는 CloudTrail 이벤트가 여러 계정에 전달된 경우에만 나타납니다. 호출자 및 소유자가 동일한 AWS 계정인 경우 CloudTrail은 하나의 이벤트만 전송하고 sharedEventID 필드가 표시되지 않습니다.

다음 버전 이후: 1.03

선택 사항: True

vpcEndpointId

VPC에서 Amazon S3와 같은 다른 AWS 서비스로 요청이 이루어진 VPC 엔드포인트를 식별합니다.

다음 버전 이후: 1.04

선택 사항: True

eventCategory

LookupEvents 호출에 사용되는 이벤트 범주를 표시합니다.

  • 관리 이벤트의 경우 값은 Management입니다.

  • 데이터 이벤트의 경우 값은 Data입니다.

  • Insights 이벤트의 경우 값은 Insight입니다.

다음 버전 이후: 1.07

선택 사항: False

addendum

이벤트 전달이 지연된 경우 또는 이벤트가 로그된 후 기존 이벤트에 관한 추가 정보를 사용할 수 있게 된 경우 addendum 필드에 이벤트가 지연된 이유에 관한 정보가 표시됩니다. 기존 이벤트에서 정보가 누락된 경우 addendum 필드에는 누락된 정보 및 누락된 이유가 포함됩니다. 내용에는 다음이 포함됩니다.

  • reason - 이벤트 또는 일부 내용이 누락된 이유입니다. 값은 다음 중 하나일 수 있습니다.

    • DELIVERY_DELAY - 이벤트 전달이 지연되었습니다. 이러한 지연은 높은 네트워크 트래픽, 연결 문제 또는 CloudTrail 서비스 문제로 인해 발생할 수 있습니다.

    • UPDATED_DATA - 이벤트 레코드의 필드가 누락되었거나 필드에 잘못된 값이 있습니다.

    • SERVICE_OUTAGE - CloudTrail에 이벤트를 로그하는 서비스가 중단되어 CloudTrail에 이벤트를 로그할 수 없습니다. 이는 매우 예외적으로 드물게 일어납니다.

  • updatedFields - addendum에 의해 업데이트되는 이벤트 레코드 필드입니다. 이는 이유가 UPDATED_DATA인 경우에만 제공됩니다.

  • originalRequestID - 요청의 원래 고유 ID입니다. 이는 이유가 UPDATED_DATA인 경우에만 제공됩니다.

  • originalEventID - 원래 이벤트 ID입니다. 이는 이유가 UPDATED_DATA인 경우에만 제공됩니다.

다음 버전 이후: 1.08

선택 사항: True

sessionCredentialFromConsole

이벤트가 AWS Management Console 세션에서 발생했는지 여부를 표시합니다. 이 필드는 값이 true가 아니면 표시되지 않습니다. 즉, API 호출에 사용된 클라이언트가 프록시 또는 외부 클라이언트임을 의미합니다. 프록시 클라이언트가 사용된 경우 tlsDetails 이벤트 필드가 표시되지 않습니다.

다음 버전 이후: 1.08

선택 사항: True

edgeDeviceDetails

요청의 대상인 엣지 디바이스에 관한 정보를 표시합니다. 현재 S3 Outposts 디바이스 이벤트에는 이 필드가 포함됩니다. 이 필드의 최대 크기는 28KB입니다. 해당 제한을 초과하는 내용은 잘립니다.

다음 버전 이후: 1.08

선택 사항: True

tlsDetails

전송 계층 보안(TLS) 버전, 암호 스위트 및 일반적으로 서비스 엔드포인트의 정규화된 도메인 이름(FQDN)인 서비스 API 호출에서 사용되는 클라이언트 제공 호스트 이름의 FQDN에 관한 정보를 표시합니다. CloudTrail은 예상 정보가 누락되었거나 비어 있는 경우에도 부분적인 TLS 세부 정보를 계속 로그합니다. 예를 들어 TLS 버전 및 암호 스위트가 있지만 HOST 헤더가 비어 있는 경우 사용 가능한 TLS 세부 정보를 CloudTrail 이벤트에 계속 로그합니다. CloudTrail에 TLS 세부 정보를 로깅하는 서비스에 대한 자세한 내용은 CloudTrail TLS 세부 정보를 지원하는 서비스 섹션을 참조하세요.

sessionCredentialFromConsole 필드가 true 값으로 표시되는 경우 tlsDetails 필드는 API 호출에 외부 클라이언트가 사용된 경우에만 이벤트 레코드에 표시됩니다.

  • tlsVersion - 요청의 TLS 버전입니다.

  • cipherSuite - 요청의 암호 스위트(사용된 보안 알고리즘의 조합)입니다.

  • clientProvidedHostHeader - 일반적으로 서비스 엔드포인트의 FQDN인 서비스 API 호출에서 사용되는 클라이언트 제공 호스트 이름입니다.

다음 버전 이후: 1.08

선택 사항: True

Insights 이벤트의 레코드 필드

다음은 관리 이벤트 또는 데이터 이벤트의 구조와 다른 인사이트 이벤트의 JSON 구조에 표시되는 속성입니다.

sharedEventId

CloudTrail Insights 이벤트의 sharedEventID는 CloudTrail 이벤트의 관리 및 데이터 유형에 대한 sharedEventID와 다릅니다. Insights 이벤트에서 sharedEventID는 Insights 이벤트를 고유하게 식별하기 위해 CloudTrail Insights에서 생성하는 GUID입니다. sharedEventID는 시작 및 종료 Insights 이벤트 사이에 공통이며 두 이벤트를 연결하여 비정상적인 활동을 고유하게 식별하는 데 도움이 됩니다. sharedEventID를 전체 인사이트 이벤트 ID로 간주할 수 있습니다.

다음 버전 이후: 1.07

선택 사항: False

insightDetails

인사이트 이벤트에만 해당됩니다. 이벤트 소스, 사용자 에이전트, 통계, API 이름, 해당 이벤트가 Insights 이벤트의 시작인지 종료인지 여부 같은 Insights 이벤트의 기본 트리거에 관한 정보를 표시합니다. insightDetails 블록의 내용에 대해 자세히 알아보려면 CloudTrail Insights insightDetails 요소 단원을 참조하세요.

다음 버전 이후: 1.07

선택 사항: False