CloudTrail 레코드 내용 - AWS CloudTrail

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudTrail 레코드 내용

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

CloudTrail 필드의 내용이 최대 필드 크기를 초과하는 경우 필드를 잘라냅니다. 필드가 잘린 경우 omittedtrue 값과 함께 표시됩니다.

eventTime

요청이 완료된 날짜와 시간, 조정된 범용 시간(UTC). 이벤트의 타임스탬프는 API 호출이 수행된 서비스 API 엔드포인트를 제공하는 로컬 호스트에서 가져옵니다. 예를 들어 미국 서부(오레곤) 리전에서 실행되는 CreateBucket API 이벤트는 Amazon S3 엔드포인트 를 실행하는 AWS 호스트의 시간부터 타임스탬프를 받게 됩니다s3.us-west-2.amazonaws.com. 일반적으로 AWS 서비스는 네트워크 시간 프로토콜(NTP)을 사용하여 시스템 클럭을 동기화합니다.

다음 버전 이후: 1.0

선택 사항: False

eventVersion

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

eventVersion 값은 양식의 메이저 및 마이너 버전입니다.major_version.minor_version. 예를 들어 eventVersion 값은 이며1.09, 여기서 1는 메이저 버전이고 09는 마이너 버전입니다.

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

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

애플리케이션이 이벤트 구조를 구문 분석할 수 있도록 하려면 메이저 버전 번호에 대해 같은 값인지 비교를 수행하는 것이 좋습니다. 애플리케이션에서 예상되는 필드가 있는지 확인하려면 마이너 버전에 대해 greater-than-or-equal-to 비교를 수행하는 것이 좋습니다. 마이너 버전에는 선행 0이 없습니다. 둘 다 해석할 수 있습니다.major_version 그리고 minor_version 를 숫자로 지정하고 비교 작업을 수행합니다.

다음 버전 이후: 1.0

선택 사항: False

userIdentity

요청을 수행한 IAM 자격 증명에 대한 정보입니다. 자세한 내용은 CloudTrail userIdentity 요소 단원을 참조하십시오.

다음 버전 이후: 1.0

선택 사항: False

eventSource

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

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

  • AmazonEC2은 입니다ec2.amazonaws.com.

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

이 규칙에는 몇 가지 예외가 있습니다. 예를 들어 AmazoneventSource용 는 CloudWatch 입니다monitoring.amazonaws.com.

다음 버전 이후: 1.0

선택 사항: False

eventName

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

다음 버전 이후: 1.0

선택 사항: False

awsRegion

와 같이 AWS 리전 요청이 수행된 us-east-2. CloudTrail 지원되는 지역 단원을 참조하세요.

다음 버전 이후: 1.0

선택 사항: False

sourceIPAddress

요청이 이루어진 IP 주소입니다. 서비스 콘솔에서 시작된 작업의 경우 보고된 주소는 콘솔 웹 서버가 아닌 기본 고객 리소스용입니다. 의 서비스의 경우 DNS 이름 AWS만 표시됩니다.

참고

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

다음 버전 이후: 1.0

선택 사항: False

userAgent

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

  • 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가 어떤 를 호출 AWS 서비스 했는지 CloudTrail 알고 있는 경우 이 필드는 호출 서비스의 이벤트 소스입니다(예: ec2.amazonaws.com). 그렇지 않으면 이 필드는 이며AWS Internal/#, 여기서 # 는 내부 용도로 사용되는 숫자입니다.

다음 버전 이후: 1.0

선택 사항: True

errorCode

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

네트워크 활동 이벤트의 경우 VPC 엔드포인트 정책 위반이 있는 경우 오류 코드는 입니다VpceAccessDenied.

다음 버전 이후: 1.0

선택 사항: True

errorMessage

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

네트워크 활동 이벤트의 경우 VPC 엔드포인트 정책 위반이 있는 경우 errorMessage는 항상 라는 메시지가 됩니다The request was denied due to a VPC endpoint policy. VPC 엔드포인트 정책 위반에 대한 액세스 거부 이벤트에 대한 자세한 내용은 IAM 사용 설명서 액세스 거부 오류 메시지 예제를 참조하세요. VPC 엔드포인트 정책 위반을 보여주는 네트워크 활동 이벤트 예제는 이 가이드의 네트워크 활동 이벤트를 참조하세요.

참고

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

다음 버전 이후: 1.0

선택 사항: True

requestParameters

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

다음 버전 이후: 1.0

선택 사항: False

responseElements

변경(작업 생성, 업데이트 또는 삭제)하는 작업에 대한 응답 요소가 있는 경우 이를 나타냅니다. 작업이 
는 응답 요소를 반환하지 않습니다. 이 필드는 입니다null. 만약
 작업이 상태를 변경하지 않는 경우(예: 객체 가져오기 또는 나열 요청)
 이 요소는 생략됩니다. 작업에 대한 응답 요소는 API 참조에 문서화되어 있습니다.
 적절한 에 대한 설명서입니다 AWS 서비스. 이 필드의 최대 크기는 입니다.
 100KB, 해당 제한을 초과하는 콘텐츠는 잘립니다.

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

다음 버전 이후: 1.0

선택 사항: False

additionalEventData

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

다음 버전 이후: 1.0

선택 사항: True

requestID

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

다음 버전 이후: 1.01

선택 사항: True

eventID

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

다음 버전 이후: 1.01

선택 사항: False

eventType

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

  • AwsApiCall - 이 호출API되었습니다.

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

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

  • AwsConsoleSignIn – 계정(루트, IAM, 페더레이션, SAML또는 SwitchRole)의 사용자가 에 로그인했습니다 AWS Management Console.

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

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

    • eventName

    • eventSource

    • sourceIPAddress

    • userAgent

    • userIdentity

  • AwsVpceEvents – CloudTrail 네트워크 활동 이벤트(미리 보기)를 사용하면 VPC 엔드포인트 소유자가 엔드포인트를 사용하여 비공개VPC에서 로 이루어진 호출을 기록할 AWS API VPC 수 있습니다 AWS 서비스. 네트워크 활동 이벤트를 기록하려면 VPC 엔드포인트 소유자가 이벤트 소스에 대한 네트워크 활동 이벤트를 활성화해야 합니다.

다음 버전 이후: 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

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

  • 리소스 ARNs

  • 리소스 소유자의 계정 ID

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

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

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

  • 계정 ID: 123456789012

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

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

다음 버전 이후: 1.01

선택 사항: True

recipientAccountId

이 이벤트를 수신하는 계정 ID를 나타냅니다. recipientAccountIDCloudTrail userIdentity 요소 accountId와 다를 수 있습니다. 이는 교차 계정 리소스 액세스에서 일어날 수 있습니다. 예를 들어 AWS KMS key별도의 계정에서 로도 알려진 KMS 키를 사용하여 암호화 API를 호출한 경우 accountIdrecipientAccountID 값은 호출한 계정에 전달된 이벤트의 경우 동일하지만 KMS 키를 소유한 계정으로 전달된 이벤트의 경우 값은 다릅니다.

다음 버전 이후: 1.02

선택 사항: True

serviceEventDetails

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

다음 버전 이후: 1.05

선택 사항: True

sharedEventID

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

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

자세한 내용은 예제 sharedEventID 단원을 참조하십시오.

참고

sharedEventID 필드는 CloudTrail 이벤트가 여러 계정으로 전달되는 경우에만 표시됩니다. 호출자와 소유자가 동일한 AWS 계정인 경우 는 하나의 이벤트만 CloudTrail 전송하고 sharedEventID 필드는 존재하지 않습니다.

다음 버전 이후: 1.03

선택 사항: True

vpcEndpointId

에서 Amazon 과 같은 다른 AWS 서비스로 요청이 수행된 VPC 엔드포인트VPC를 식별합니다EC2.

다음 버전 이후: 1.04

선택 사항: True

vpcEndpointAccountId

요청이 통과한 해당 VPC 엔드포인트에 대한 엔드포인트 소유자의 AWS 계정 ID를 식별합니다.

이후: 1.09

선택 사항: True

eventCategory

이벤트 범주를 표시합니다. 이벤트 범주는 LookupEvents 호출에서 관리 또는 Insights 이벤트를 필터링하는 데 사용됩니다.

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

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

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

  • 네트워크 활동 이벤트의 경우 값은 입니다NetworkActivity.

다음 버전 이후: 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) 버전, 암호 제품군 및 서비스 API 호출에 사용되는 클라이언트 제공 호스트 이름의 정규화된 도메인 이름(FQDN)에 대한 정보를 표시합니다. CloudTrail 일반적으로 서비스 엔드포인트FQDN의 입니다. 는 예상 정보가 누락되거나 비어 있는 경우에도 여전히 부분 TLS 세부 정보를 기록합니다. 예를 들어 TLS 버전 및 암호 제품군이 있지만 HOST 헤더가 비어 있는 경우에도 사용 가능한 TLS 세부 정보는 CloudTrail 이벤트에 계속 기록됩니다.

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

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

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

참고

이벤트 레코드에 tlsDetails 필드가 없는 경우가 일부 있습니다.

  • AWS 서비스 사용자를 대신하여 에서 API 전화를 걸면 tlsDetails 필드가 표시되지 않습니다. userIdentity 요소의 invokedBy 필드는 API 호출한 를 AWS 서비스 식별합니다.

  • sessionCredentialFromConsole 가 true 값으로 있는 경우 tlsDetails는 외부 클라이언트를 사용하여 API 전화를 거는 경우에만 이벤트 레코드에 표시됩니다.

다음 버전 이후: 1.08

선택 사항: True

Insights 이벤트의 레코드 필드

다음은 관리 또는 데이터 이벤트의 속성과 다른 Insights 이벤트의 JSON 구조에 표시된 속성입니다.

sharedEventId

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

다음 버전 이후: 1.07

선택 사항: False

insightDetails

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

다음 버전 이후: 1.07

선택 사항: False

예제 sharedEventID

다음은 가 동일한 작업에 대해 두 이벤트를 CloudTrail 전달하는 방법을 설명하는 예입니다.

  1. Alice에는 AWS 계정(111111111111)이 있으며 를 생성합니다 AWS KMS key. 그녀는 이 KMS 키의 소유자입니다.

  2. Bob에는 AWS 계정(222222222222)이 있습니다. Alice는 Bob에게 KMS 키를 사용할 수 있는 권한을 부여합니다.

  3. 각 계정에는 추적과 개별 버킷이 있습니다.

  4. Bob은 KMS 키를 사용하여 Encrypt 를 호출합니다API.

  5. CloudTrail 는 두 개의 개별 이벤트를 보냅니다.

    • 한 이벤트는 Bob에게 전송됩니다. 이벤트에는 키를 사용한 것으로 표시됩니다KMS.

    • 한 이벤트는 Alice에게 전송됩니다. 이벤트는 Bob이 KMS 키를 사용했음을 보여줍니다.

    • 이벤트의 sharedEventID는 동일하지만 eventIDrecipientAccountID는 고유합니다.

로그에 sharedEventID 필드가 표시되는 방법

CloudTrail InsightsIDs의 공유 이벤트

sharedEventID for CloudTrail Insights 이벤트는 CloudTrail 이벤트의 관리 및 데이터 유형에 sharedEventID 대해 와 다릅니다. Insights 이벤트에서 sharedEventID는 CloudTrail Insights 이벤트의 시작 및 종료 쌍을 고유하게 식별하기 위해 Insights에서 생성하는 GUID 입니다. sharedEventID 는 시작 및 종료 Insights 이벤트 간에 공통적이며 두 이벤트 간에 상관관계를 생성하여 비정상적인 활동을 고유하게 식별하는 데 도움이 됩니다.

sharedEventID를 전체 인사이트 이벤트 ID로 간주할 수 있습니다.