# AWS CloudTrail

## 개요

Panther는 AWS S3 또는 CloudWatch Logs를 통해 Amazon Web Services(AWS) CloudTrail 로그를 수집하는 것을 지원합니다. 다음을 사용하여 CloudTrail 로그에 추가 컨텍스트를 풍부하게 할 수 있습니다. [TrailDiscover](https://docs.panther.com/ko/enrichment/traildiscover) Enrichment Provider.

### AWS CloudTrail 로그 비디오 안내

{% embed url="<https://www.youtube.com/watch?v=ULNSUXUpql8>" %}
AWS CloudTrail 로그를 Panther에 온보딩하는 방법을 보여주는 안내 비디오
{% endembed %}

## AWS CloudTrail 로그를 Panther에 온보딩하는 방법

CloudTrail 로그를 Panther로 가져오려면 다음을 설정해야 합니다. [데이터 전송](https://docs.panther.com/ko/data-onboarding/data-transports) S3 또는 CloudWatch Logs 중 하나를 사용하여.

1. Panther Console의 왼쪽 탐색 막대에서 **구성** > **로그 소스**.
2. 을 클릭합니다. **새로 만들기**.
3. 사용 가능한 로그 소스 목록을 보려면 "AWS"를 검색합니다.
4. 선택 **AWS CloudTrail**.
5. 다음을 클릭하세요. **AWS S3 버킷** 또는 **CloudWatch Logs** 전송 방법을 선택하여 설정을 시작하세요. 다음을 따르세요. [S3 구성에 대한 Panther의 문서 ](https://docs.panther.com/ko/data-onboarding/data-transports/aws/s3)또는 [CloudWatch Logs를 데이터 전송에 사용하는 방법](https://docs.panther.com/ko/data-onboarding/data-transports/aws/cloudwatch).

### AWS CloudTrail 로그 지연 시간

AWS에서 이벤트가 발생한 시점부터 그 이벤트가 CloudTrail로 전송되기까지의 지연 시간은 최대 15분까지 걸릴 수 있지만, 일반적으로 평균 3.5분에 데이터가 들어오는 것을 확인합니다. 자세한 내용은 다음을 참조하세요. [CloudTrail 작동 방식에 대한 AWS 문서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/how-cloudtrail-works.html).

## Panther가 구축한 탐지

다음에서 Panther의 사전 작성된 AWS 규칙을 확인하세요. [panther-analysis Github 저장소](https://github.com/panther-labs/panther-analysis/tree/master/rules).

## Data Explorer에서 로그 쿼리하기

Panther의 [Data Explorer](https://docs.panther.com/ko/search/data-explorer)에서 사용할 예제 SQL 쿼리를 확인하세요. [cloudtrail-logs-queries](https://docs.panther.com/ko/search/data-explorer/example-queries/cloudtrail-logs-queries "mention").

## 지원되는 로그 유형

Panther는 다음을 지원합니다. [AWS.CloudTrail](#aws.cloudtrail), [AWS.CloudTrailDigest](#aws.cloudtraildigest)및 [AWS.CloudTrailInsight](#aws.cloudtrailinsight).

### AWS.CloudTrail

AWSCloudTrail은 CloudTrail S3 객체의 내용을 나타냅니다. 자세한 내용은 다음을 참조하세요. [CloudTrail 로그 이벤트에 대한 AWS 문서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html).

```yaml
스키마: AWS.CloudTrail
설명: AWSCloudTrail은 CloudTrail S3 객체의 내용을 나타냅니다.
참조 URL: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html
필드:
  - name: additionalEventData
    설명: 요청 또는 응답의 일부가 아니었던 이벤트에 대한 추가 데이터입니다.
    유형: json
  - name: apiVersion
    설명: AwsApiCall eventType 값과 연결된 API 버전을 식별합니다.
    유형: string
  - name: awsRegion
    필수: true
    설명: 요청이 이루어진 AWS 리전입니다(예: us-east-2).
    유형: string
  - name: errorCode
    설명: 요청이 오류를 반환하는 경우의 AWS 서비스 오류입니다.
    유형: string
  - name: errorMessage
    설명: 요청이 오류를 반환하는 경우, 오류에 대한 설명입니다. 이 메시지에는 권한 부여 실패에 대한 메시지도 포함됩니다. CloudTrail은 서비스가 예외 처리에서 기록한 메시지를 캡처합니다.
    유형: string
  - name: eventID
    필수: true
    설명: 각 이벤트를 고유하게 식별하기 위해 CloudTrail이 생성한 GUID입니다. 이 값을 사용하여 단일 이벤트를 식별할 수 있습니다. 예를 들어, ID를 기본 키로 사용하여 검색 가능한 데이터베이스에서 로그 데이터를 가져올 수 있습니다.
    유형: string
  - name: eventName
    필수: true
    설명: 요청된 작업으로, 해당 서비스의 API에 있는 작업 중 하나입니다.
    유형: string
  - name: eventSource
    필수: true
    설명: 요청이 이루어진 서비스입니다. 이 이름은 일반적으로 공백이 없는 서비스 이름의 축약형에 .amazonaws.com이 붙은 형태입니다.
    유형: string
  - name: eventTime
    필수: true
    설명: 요청이 이루어진 날짜와 시간입니다. 협정 세계시(UTC) 기준입니다.
    유형: timestamp
    시간 형식:
      - rfc3339
    isEventTime: true
  - name: eventType
    필수: true
    설명: 이벤트 레코드를 생성한 이벤트의 유형을 식별합니다. 다음 값 중 하나일 수 있습니다: AwsApiCall, AwsServiceEvent, AwsConsoleSignIn
    유형: string
  - name: eventVersion
    필수: true
    설명: 로그 이벤트 형식의 버전입니다.
    유형: string
  - name: managementEvent
    설명: '이벤트가 관리 이벤트인지 여부를 식별하는 불리언 값입니다. eventVersion이 1.06 이상이고 이벤트 유형이 다음 중 하나인 경우 이벤트 레코드에 managementEvent가 표시됩니다: AwsApiCall, AwsConsoleAction, AwsConsoleSignIn, AwsServiceEvent'
    유형: boolean
  - name: readOnly
    설명: 이 작업이 읽기 전용 작업인지 식별합니다.
    유형: boolean
  - name: recipientAccountId
    설명: 이 이벤트를 수신한 계정 ID를 나타냅니다. recipientAccountID는 CloudTrail userIdentity Element의 accountId와 다를 수 있습니다. 이는 교차 계정 리소스 액세스에서 발생할 수 있습니다.
    유형: string
    지표:
      - aws_account_id
  - name: requestID
    설명: 요청을 식별하는 값입니다. 호출되는 서비스가 이 값을 생성합니다.
    유형: string
  - name: requestParameters
    설명: 요청과 함께 전송된 매개변수입니다(있는 경우). 이러한 매개변수는 해당 AWS 서비스의 API 참조 문서에 문서화되어 있습니다.
    유형: json
  - name: resources
    설명: 이벤트에서 액세스된 리소스 목록입니다.
    유형: array
    요소:
      유형: object
      필드:
        - name: arn
          설명: 리소스의 ARN입니다.
          유형: string
          지표:
            - aws_arn
        - name: accountId
          설명: 리소스 소유자의 계정 ID입니다.
          유형: string
          지표:
            - aws_account_id
        - name: type
          설명: '리소스 유형 식별자 형식: AWS::aws-service-name::data-type-name'
          유형: string
  - name: responseElements
    설명: 변경을 수행하는 작업에 대한 응답 요소입니다(생성, 업데이트 또는 삭제 작업). 작업이 상태를 변경하지 않는 경우(예: 객체 가져오기 또는 목록 조회 요청) 이 요소는 생략됩니다. 이러한 작업은 해당 AWS 서비스의 API 참조 문서에 문서화되어 있습니다.
    유형: json
  - name: serviceEventDetails
    설명: 이벤트를 트리거한 원인과 결과를 포함하여 서비스 이벤트를 식별합니다.
    유형: json
  - name: sharedEventID
    설명: 서로 다른 AWS 계정으로 전송된 동일한 AWS 작업의 CloudTrail 이벤트를 고유하게 식별하기 위해 CloudTrail이 생성한 GUID입니다.
    유형: string
  - name: sourceIPAddress
    설명: 요청이 발생한 IP 주소입니다. 서비스 콘솔에서 시작된 작업의 경우 보고되는 주소는 콘솔 웹 서버가 아니라 기본 고객 리소스의 주소입니다. AWS의 서비스의 경우 DNS 이름만 표시됩니다.
    유형: string
    지표:
      - hostname
  - name: userAgent
    설명: AWS Management Console, AWS 서비스, AWS SDK 또는 AWS CLI와 같이 요청이 이루어진 에이전트입니다.
    유형: string
  - name: userIdentity
    필수: true
    설명: 요청을 보낸 사용자에 대한 정보입니다.
    유형: object
    필드:
      - name: type
        설명: ID 유형입니다(Root, IAMUser, AssumedRole, Role, FederatedUser, Directory, AWSAccount, AWSService, IdentityCenterUser, Unknown, SAMLUser, WebIdentityUser).
        유형: string
      - name: principalId
        설명: 호출을 수행한 엔터티의 고유 식별자입니다.
        유형: string
        지표:
          - actor_id
      - name: arn
        설명: 호출을 수행한 주체의 ARN입니다.
        유형: string
        지표:
          - aws_arn
      - name: accountId
        설명: 요청에 대한 권한을 부여한 엔터티를 소유한 계정입니다.
        유형: string
        지표:
          - aws_account_id
      - name: accessKeyId
        설명: 요청 서명에 사용된 액세스 키 ID입니다.
        유형: string
        지표:
          - trace_id
      - name: userName
        설명: 호출을 수행한 ID의 표시 이름입니다.
        유형: string
        지표:
          - username
      - name: sessionContext
        설명: 요청이 임시 보안 자격 증명으로 이루어진 경우, 이 요소는 생성된 세션에 대한 정보를 제공합니다.
        유형: object
        필드:
          - name: attributes
            설명: 세션의 속성입니다.
            유형: object
            필드:
              - name: mfaAuthenticated
                설명: 요청에 자격 증명을 사용한 루트 사용자 또는 IAM 사용자가 MFA 장치로도 인증한 경우 값은 'true'이며, 그렇지 않으면 'false'입니다.
                유형: string
              - name: creationDate
                설명: 임시 보안 자격 증명이 발급된 날짜와 시간입니다.
                유형: timestamp
                시간 형식:
                  - rfc3339
          - name: sessionIssuer
            설명: 세션을 발급한 엔터티에 대한 정보입니다.
            유형: object
            필드:
              - name: type
                설명: Root, IAMUser 또는 Role과 같은 임시 보안 자격 증명의 출처입니다.
                유형: string
              - name: principalId
                설명: 자격 증명을 얻는 데 사용된 엔터티의 내부 ID입니다.
                유형: string
                지표:
                  - actor_id
              - name: arn
                설명: 임시 보안 자격 증명을 얻는 데 사용된 출처(계정, IAM 사용자 또는 역할)의 ARN입니다.
                유형: string
                지표:
                  - aws_arn
              - name: accountId
                설명: 자격 증명을 얻는 데 사용된 엔터티를 소유한 계정입니다.
                유형: string
                지표:
                  - aws_account_id
              - name: userName
                설명: 세션을 발급한 사용자 또는 역할의 표시 이름입니다. 표시되는 값은 sessionIssuer ID 유형에 따라 달라집니다.
                유형: string
                지표:
                  - username
          - name: webIdFederationData
            설명: 웹 ID 페더레이션에 대한 정보입니다.
            유형: object
            필드:
              - name: federatedProvider
                설명: ID 공급자의 주체 이름입니다(예: Login with Amazon의 경우 www.amazon.com, Google의 경우 accounts.google.com).
                유형: string
                지표:
                  - aws_arn
              - name: attributes
                설명: 공급자가 보고한 애플리케이션 ID와 사용자 ID입니다(예: Login with Amazon의 경우 www.amazon.com:app_id 및 www.amazon.com:user_id).
                유형: json
          - name: ec2RoleDelivery
            설명: 자격 증명이 Amazon EC2 Instance Metadata Service Version 1(IMDSv1)에 의해 제공된 경우 값은 '1.0'입니다. 새 IMDS 스킴을 사용하여 자격 증명이 제공된 경우 값은 '2.0'입니다.
            유형: string
          - name: sourceIdentity
            설명: sourceIdentity 필드는 사용자가 작업을 수행하기 위해 IAM 역할을 맡을 때 이벤트에 나타납니다. sourceIdentity는 요청을 하는 원래 사용자 ID를 식별하며, 해당 사용자의 ID가 IAM 사용자, IAM 역할, SAML 기반 페더레이션을 통해 인증된 사용자 또는 OpenID Connect(OIDC) 호환 웹 ID 페더레이션을 통해 인증된 사용자 중 무엇이든 상관없습니다.
            유형: string
      - name: invokedBy
        설명: Amazon EC2 Auto Scaling 또는 AWS Elastic Beanstalk와 같이 요청을 만든 AWS 서비스의 이름입니다.
        유형: string
      - name: identityProvider
        설명: 외부 ID 공급자의 주체 이름입니다. SAMLUser 또는 WebIdentityUser 유형에만 존재합니다.
        유형: string
      - name: onBehalfOf
        설명: 요청이 대신 수행된 IAM Identity Center 사용자에 대한 정보입니다.
        유형: object
        필드:
          - name: userId
            설명: 호출이 대신 수행된 IAM Identity Center 사용자의 ID입니다.
            유형: string
          - name: identityStoreArn
            설명: 호출이 대신 수행된 IAM Identity Center ID 저장소의 ARN입니다.
            유형: string
            지표:
              - aws_arn
      - name: inScopeOf
        설명: Lambda 또는 Amazon ECS와 같은 AWS 서비스의 범위 내에서 요청이 이루어진 경우, 해당 요청과 관련된 리소스 또는 자격 증명에 대한 정보를 제공합니다.
        유형: object
        필드:
          - name: sourceArn
            설명: 서비스 간 요청을 호출한 리소스의 ARN입니다.
            유형: string
            지표:
              - aws_arn
          - name: sourceAccount
            설명: sourceArn의 소유자 계정 ID입니다. sourceArn과 함께 나타납니다.
            유형: string
            지표:
              - aws_account_id
          - name: issuerType
            설명: credentialsIssuedTo의 리소스 유형입니다. 예: AWS::Lambda::Function
            유형: string
          - name: credentialsIssuedTo
            설명: 자격 증명이 발급된 환경과 관련된 리소스입니다.
            유형: string
      - name: credentialId
        설명: 요청의 자격 증명 ID입니다. 이는 IAM Identity Center 승인 액세스 토큰과 같은 베어러 토큰을 호출자가 사용할 때만 설정됩니다.
        유형: string
  - name: vpcEndpointId
    설명: VPC에서 Amazon S3와 같은 다른 AWS 서비스로 요청이 이루어진 VPC 엔드포인트를 식별합니다.
    유형: string
  - name: eventCategory
    설명: LookupEvents 호출에서 사용되는 이벤트 범주를 보여줍니다.
    유형: string
  - name: sessionCredentialFromConsole
    설명: 이벤트가 AWS Management Console 세션에서 시작되었는지 여부를 보여줍니다. false일 때는 표시되지 않습니다.
    유형: boolean
  - name: edgeDeviceDetails
    설명: 요청의 대상인 엣지 디바이스에 대한 정보를 보여줍니다.
    유형: json
  - name: tlsDetails
    설명: 서비스 API 호출의 Transport Layer Security(TLS) 버전, 암호 스위트, 클라이언트가 제공한 호스트 이름의 FQDN에 대한 정보를 보여줍니다.
    유형: object
    필드:
      - 이름: tlsVersion
        설명: 요청의 TLS 버전입니다.
        유형: string
      - name: cipherSuite
        설명: 요청의 암호 스위트(사용된 보안 알고리즘의 조합)입니다.
        유형: string
      - name: clientProvidedHostHeader
        설명: 요청을 만든 클라이언트의 FQDN입니다.
        유형: string
  - name: addendum
    설명: 이벤트 전달이 지연되었거나, 이벤트가 기록된 후 기존 이벤트에 대한 추가 정보를 사용할 수 있게 된 경우, 이 필드는 이벤트가 지연된 이유 또는 누락된 정보에 대한 정보를 보여줍니다.
    유형: object
    필드:
      - name: reason
        설명: 이벤트 또는 그 일부 내용이 누락된 이유입니다. 값은 DELIVERY_DELAY, UPDATED_DATA 또는 SERVICE_OUTAGE일 수 있습니다.
        유형: string
      - name: updatedFields
        설명: 추가 설명에 의해 업데이트된 이벤트 레코드 필드입니다. reason이 UPDATED_DATA인 경우에만 제공됩니다.
        유형: string
      - name: originalRequestID
        설명: 요청의 원래 고유 ID입니다. reason이 UPDATED_DATA인 경우에만 제공됩니다.
        유형: string
      - name: originalEventID
        설명: 원래 이벤트 ID입니다. reason이 UPDATED_DATA인 경우에만 제공됩니다.
        유형: string
```

### AWS.CloudTrailDigest

AWSCloudTrailDigest는 지난 한 시간 동안 S3 버킷에 전달된 로그 파일의 이름, 해당 로그 파일의 해시 값, 그리고 이전 다이제스트 파일의 서명을 포함합니다. 자세한 내용은 다음을 참조하세요. [CloudTrail 다이제스트 파일 구조에 대한 AWS 문서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-digest-file-structure.html).

```yaml
스키마: AWS.CloudTrailDigest
파서:
  native:
    name: AWS.CloudTrailDigest
설명: AWSCloudTrailDigest는 지난 한 시간 동안 Amazon S3 버킷에 전달된 로그 파일의 이름, 해당 로그 파일의 해시 값, 그리고 이전 다이제스트 파일의 서명을 포함합니다.
참조 URL: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-digest-file-structure.html
버전: 0
필드:
  - name: awsAccountId
    필수: true
    설명: 다이제스트 파일이 전달된 AWS 계정 ID입니다.
    유형: string
    지표:
      - aws_account_id
  - name: digestStartTime
    필수: true
    설명: 다이제스트 파일이 포함하는 시작 UTC 시간 범위로, CloudTrail에 의해 로그 파일이 전달된 시간을 기준으로 합니다.
    유형: timestamp
    timeFormat: rfc3339
  - name: digestEndTime
    필수: true
    설명: 다이제스트 파일이 포함하는 종료 UTC 시간 범위로, CloudTrail에 의해 로그 파일이 전달된 시간을 기준으로 합니다.
    유형: timestamp
    timeFormat: rfc3339
    isEventTime: true
  - name: digestS3Bucket
    필수: true
    설명: 현재 다이제스트 파일이 전달된 Amazon S3 버킷의 이름입니다.
    유형: string
  - name: digestS3Object
    필수: true
    설명: 현재 다이제스트 파일의 Amazon S3 객체 키(즉, Amazon S3 버킷 위치)입니다.
    유형: string
  - name: newestEventTime
    설명: 다이제스트의 로그 파일 내 모든 이벤트 중 가장 최근 이벤트의 UTC 시간입니다.
    유형: timestamp
    timeFormat: rfc3339
  - name: oldestEventTime
    설명: 다이제스트의 로그 파일 내 모든 이벤트 중 가장 오래된 이벤트의 UTC 시간입니다.
    유형: timestamp
    timeFormat: rfc3339
  - name: previousDigestS3Bucket
    설명: 이전 다이제스트 파일이 전달된 Amazon S3 버킷입니다.
    유형: string
  - name: previousDigestS3Object
    설명: 이전 다이제스트 파일의 Amazon S3 객체 키(즉, Amazon S3 버킷 위치)입니다.
    유형: string
  - name: previousDigestHashValue
    설명: 이전 다이제스트 파일의 압축되지 않은 내용에 대한 16진수 인코딩 해시 값입니다.
    유형: string
    지표:
      - sha256
  - name: previousDigestHashAlgorithm
    설명: 이전 다이제스트 파일을 해시하는 데 사용된 해시 알고리즘의 이름입니다.
    유형: string
  - name: previousDigestSignature
    설명: 이전 다이제스트 파일의 16진수 인코딩 서명입니다.
    유형: string
  - name: digestPublicKeyFingerprint
    필수: true
    설명: 이 다이제스트 파일에 서명하는 데 사용된 개인 키와 일치하는 공개 키의 16진수 인코딩 지문입니다.
    유형: string
  - name: digestSignatureAlgorithm
    필수: true
    설명: 다이제스트 파일에 서명하는 데 사용된 알고리즘입니다.
    유형: string
  - name: logFiles
    필수: true
    설명: 이 다이제스트에 포함된 로그 파일입니다.
    유형: array
    요소:
      유형: object
      필드:
        - name: s3Bucket
          필수: true
          설명: 로그 파일의 Amazon S3 버킷 이름입니다.
          유형: string
        - name: s3Object
          필수: true
          설명: 현재 로그 파일의 Amazon S3 객체 키입니다.
          유형: string
        - name: hashValue
          필수: true
          설명: 압축되지 않은 로그 파일 콘텐츠의 16진수 인코딩 해시 값입니다.
          유형: string
          지표:
            - sha256
        - name: hashAlgorithm
          필수: true
          설명: 로그 파일을 해시하는 데 사용된 해시 알고리즘입니다.
          유형: string
        - name: newestEventTime
          필수: true
          설명: 로그 파일의 이벤트 중 가장 최근 이벤트의 UTC 시간입니다.
          유형: timestamp
          timeFormat: rfc3339
        - name: oldestEventTime
          필수: true
          설명: 로그 파일의 이벤트 중 가장 오래된 이벤트의 UTC 시간입니다.
          유형: timestamp
          timeFormat: rfc3339
```

### AWS.CloudTrailInsight

AWSCloudTrailInsight는 CloudTrail Insight 이벤트 레코드 S3 객체의 내용을 나타냅니다. 자세한 내용은 다음을 참조하세요. [CloudTrail 로그 이벤트에 대한 AWS 문서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html).

```yaml
스키마: AWS.CloudTrailInsight
파서:
  native:
    이름: AWS.CloudTrailInsight
설명: AWSCloudTrailInsight는 CloudTrail Insight 이벤트 레코드 S3 객체의 내용을 나타냅니다.
참조 URL: https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html
버전: 0
필드:
  - name: eventVersion
    필수: true
    설명: 로그 이벤트 형식의 버전입니다.
    유형: string
  - name: eventTime
    필수: true
    설명: 요청이 이루어진 날짜와 시간입니다. 협정 세계시(UTC) 기준입니다.
    유형: timestamp
    timeFormat: rfc3339
    isEventTime: true
  - name: awsRegion
    필수: true
    설명: 요청이 이루어진 AWS 리전입니다(예: us-east-2).
    유형: string
  - name: eventId
    필수: true
    설명: 각 이벤트를 고유하게 식별하기 위해 CloudTrail이 생성한 GUID입니다. 이 값을 사용하여 단일 이벤트를 식별할 수 있습니다. 예를 들어, ID를 기본 키로 사용하여 검색 가능한 데이터베이스에서 로그 데이터를 가져올 수 있습니다.
    유형: string
  - name: eventType
    필수: true
    설명: 이벤트 레코드를 생성한 이벤트의 유형을 식별합니다. 다음 값 중 하나일 수 있습니다: AwsApiCall, AwsServiceEvent, AwsConsoleSignIn
    유형: string
  - name: recipientAccountId
    설명: 이 이벤트를 수신한 계정 ID를 나타냅니다. recipientAccountID는 CloudTrail userIdentity Element의 accountId와 다를 수 있습니다. 이는 교차 계정 리소스 액세스에서 발생할 수 있습니다.
    유형: string
    지표:
      - aws_account_id
  - name: sharedEventId
    필수: true
    설명: CloudTrail Insights가 생성한 GUID로, Insights 이벤트를 고유하게 식별합니다. sharedEventID는 시작 및 종료 Insights 이벤트 간에 공통입니다.
    유형: string
    지표:
      - trace_id
  - name: insightDetails
    필수: true
    설명: 이벤트 소스, 통계, API 이름, 그리고 이벤트가 Insights 이벤트의 시작인지 종료인지와 같은 Insights 이벤트의 기본 트리거에 대한 정보를 보여줍니다.
    유형: object
    필드:
      - name: state
        필수: true
        설명: 이벤트가 인사이트의 시작 또는 종료(비정상 활동의 시작 또는 종료)를 나타내는지 보여줍니다. 값은 Start 또는 End입니다.
        유형: string
      - name: eventSource
        필수: true
        설명: 비정상 활동이 감지된 AWS API입니다.
        유형: string
      - name: eventName
        필수: true
        설명: 비정상 활동이 감지된 AWS API입니다.
        유형: string
      - name: insightType
        필수: true
        설명: Insights 이벤트의 유형입니다. 값은 ApiCallRateInsight입니다.
        유형: string
      - name: insightContext
        설명: 대상 API에 대한 정상적인 분당 호출 속도와 비교한 Insights 이벤트를 트리거한 호출 속도에 대한 데이터입니다.
        유형: object
        필드:
          - name: statistics
            설명: 계정의 대상 API에 대한 일반적인 평균 호출 속도, Insights 이벤트를 트리거한 호출 속도, 그리고 Insights 이벤트의 지속 시간(분)에 대한 데이터를 담는 컨테이너입니다.
            유형: object
            필드:
              - name: baseline
                설명: 특정 AWS 리전 내에서 계정이 대상 API에 대해 수행하는 일반적인 평균 호출 속도를 보여줍니다.
                유형: object
                필드:
                  - name: average
                    설명: 인사이트 메트릭의 평균값입니다.
                    유형: float
              - name: insight
                설명: Insights 이벤트 기록을 트리거하는 대상 API에 대한 비정상적인 호출 속도를 보여줍니다.
                유형: object
                필드:
                  - name: average
                    설명: 인사이트 메트릭의 평균값입니다.
                    유형: float
              - name: insightDuration
                설명: Insights 이벤트의 지속 시간(분)입니다(대상 API에서 비정상 활동이 시작된 시점부터 종료된 시점까지의 기간). insightDuration은 종료 Insights 이벤트에서만 발생합니다.
                유형: float
  - name: eventCategory
    필수: true
    설명: LookupEvents 호출에서 사용되는 이벤트 범주를 보여줍니다. Insights 이벤트에서 값은 insight입니다.
    유형: string
```
