> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/data-onboarding/supported-logs/aws/eks.md).

# AWS EKS

## 개요

Panther는 AWS CloudWatch Logs를 통해 Amazon Web Services(AWS) Elastic Kubernetes Service(EKS) 로그를 수집할 수 있습니다.

EKS는 로그를 S3로 직접 전송할 수 없습니다. 대신 EKS 로그를 [CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html), 그런 다음 [Kinesis Data Firehose](https://aws.amazon.com/kinesis/data-firehose/?p=pm\&c=aa\&pd=kinesis\&z=4) 를 구성해 S3 버킷으로 전송하도록 하며, Panther가 그곳에서 로그를 읽습니다.

## AWS 온보딩 방법 **EKS** 로그를 Panther로

### 1단계: EKS 제어 플레인 로깅 활성화

EKS 제어 플레인 로그를 활성화하면 AWS가 해당 로그를 CloudWatch Logs로 라우팅하기 시작합니다.

* 다음을 따르세요: [EKS 제어 플레인 로깅을 활성화하는 방법에 대한 AWS 문서](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html).
  * EKS 콘솔에서 로깅을 구성할 때에는 **감사** 및 **Authenticator** 로그 유형만 활성화하세요. Panther는 현재 다른 로그 유형은 지원하지 않습니다.

### 2단계: Panther 콘솔에서 CloudWatch Logs 소스 구성

EKS 제어 플레인 로깅을 활성화하면 EKS 감사 로그와 인증자 로그를 CloudWatch Logs에서 사용할 수 있습니다. 이제 Panther에서 CloudWatch Logs 소스를 설정할 차례입니다.

1. Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **로그 소스**.
2. 오른쪽 상단 모서리에서 다음을 클릭합니다 **새로 만들기**.
3. 다음 타일을 클릭하세요: **사용자 지정 로그 형식** 타일.
4. 다음 페이지에서 **AWS CloudWatch Logs** 타일을 클릭하세요: **시작**.
5. "소스 구성" 페이지에서 다음 필드를 입력하세요:
   * **이름:** CloudWatch Logs 소스의 설명적인 이름을 입력하세요.
   * **로그 그룹 이름**: CloudWatch Logs 그룹의 고유 이름을 입력하세요. AWS CloudWatch Logs LogGroup의 이름 형식은 `/aws/eks/{your_cluster_name}/cluster`
   * **AWS 계정 ID**: EKS 클러스터가 있는 AWS 계정의 ID 번호를 입력하세요.
   * (선택 사항) **패턴 필터**: 로그 이벤트를 필터링할 패턴을 입력하세요. 다음을 참조하세요: [AWS의 CloudWatch Logs 패턴 필터 문서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) 에서 자세히 알아보세요.
   * **로그 유형**: 선택 `Amazon.EKS.Audit` 및 `Amazon.EKS.Authenticator`.
6. 클릭합니다 **설정**.

### 3단계: S3 버킷, Kinesis Data Firehose 및 IAM 역할 설정

Panther가 CloudWatch Logs 소스에서 객체를 읽으려면 다양한 AWS 리소스가 필요합니다. 이를 구성하기 위해 Panther는 S3 버킷, Kinesis Data Firehose, IAM 역할 및 기타 필요한 리소스를 설정하는 CloudFormation 템플릿을 제공합니다.

1. Panther Console에서 다음을 클릭합니다: **AWS Console UI 사용**. 템플릿이 미리 채워진 상태로 AWS CloudFormation 콘솔 UI로 리디렉션됩니다.
   * 참고로 템플릿을 다운로드하여 자체 파이프라인을 통해 적용하거나 리소스를 수동으로 구성할 수도 있습니다. 자세한 내용은 다음을 참조하세요. [CloudWatch Logs 소스 문서](/ko/data-onboarding/data-transports/aws/cloudwatch.md#setup-an-iam-role).
2. EKS 클러스터가 있는 AWS 계정 ID와 리전에 CloudFormation 스택 템플릿을 설치하세요.
   * CloudFormation 스택 생성이 완료될 때까지 기다리세요.
3. CloudFormation 스택이 준비되면 **버킷 이름** 및 **역할 ARN** Panther 콘솔에서.
   * CloudFormation 스택 생성이 완료되면 AWS의 스택 "Outputs" 섹션에서 리소스 ARN을 찾을 수 있습니다.

### 4단계: Panther에서 소스 설정 완료

성공 화면으로 이동합니다:

<figure><img src="/files/e0820e5acb9452e294cfe3ba72060f0fbbfd3b32" alt="The success screen reads, &#x22;Everything looks good! Panther will now automatically pull &#x26; process logs from your account&#x22;" width="281"><figcaption></figcaption></figure>

* 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
* 다음 **이벤트가 처리되지 않으면 알러트를 발생시키기** 설정의 기본값은 **예**. 일정 시간이 지난 후 로그 소스에서 데이터 흐름이 멈추면 알러트를 받게 되므로 이 설정을 활성화한 상태로 두는 것을 권장합니다. 이 시간 범위는 구성 가능하며 기본값은 24시간입니다.\\

  <figure><img src="/files/7db146cd7acee3d0704a4a8b2157f230cfa22168" alt="The &#x22;Trigger an alert when no events are processed&#x22; toggle is set to YES. The &#x22;How long should Panther wait before it sends you an alert that no events have been processed&#x22; setting is set to 1 Day" width="320"><figcaption></figcaption></figure>

## Panther가 만든 탐지

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

## 지원되는 AWS EKS 로그 유형

Panther는 [Amazon.EKS.Audit](#amazon.eks.audit) 및 [Amazon.EKS.Authenticator](#amazon.eks.authenticator) 로그.

### Amazon.EKS.Audit

EKS 감사 로그는 클러스터에 영향을 미친 개별 사용자, 관리자 또는 시스템 구성 요소의 기록을 제공합니다. 자세한 내용은 [EKS 제어 플레인 로그에 대한 AWS 문서](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html).

```yaml
필드:
  - 이름: responseObject
    유형: object
    필드:
      - 이름: secrets
        유형: array
        요소:
          유형: object
          필드:
            - 이름: name
              필수: true
              유형: string
      - 이름: rules
        유형: array
        요소:
          유형: object
          필드:
            - 이름: apiGroups
              유형: array
              요소:
                유형: string
            - 이름: resources
              유형: array
              요소:
                유형: string
            - 이름: verbs
              유형: array
              요소:
                유형: string
      - 이름: spec
        유형: json
      - 이름: apiVersion
        유형: string
      - 이름: kind
        유형: string
      - 이름: metadata
        유형: object
        필드:
          - 이름: namespace
            유형: string
          - 이름: annotations
            유형: json
          - 이름: creationTimestamp
            유형: timestamp
            시간 형식:
              - rfc3339
          - 이름: labels
            유형: json
          - 이름: managedFields
            유형: array
            요소:
              유형: object
              필드:
                - 이름: apiVersion
                  유형: string
                - 이름: fieldsType
                  유형: string
                - 이름: manager
                  유형: string
                - 이름: operation
                  유형: string
                - name: time
                  유형: timestamp
                  시간 형식:
                    - rfc3339
          - 이름: name
            유형: string
          - 이름: resourceVersion
            유형: string
          - 이름: uid
            유형: string
          - 이름: ownerReferences
            유형: json
  - 이름: requestObject
    유형: object
    필드:
      - 이름: rules
        유형: array
        요소:
          유형: object
          필드:
            - 이름: apiGroups
              유형: array
              요소:
                유형: string
            - 이름: resources
              유형: array
              요소:
                유형: string
            - 이름: verbs
              유형: array
              요소:
                유형: string
      - 이름: spec
        유형: json
      - 이름: apiVersion
        유형: string
      - 이름: kind
        유형: string
      - 이름: metadata
        유형: object
        필드:
          - 이름: annotations
            유형: json
          - 이름: namespace
            유형: string
          - 이름: labels
            유형: json
          - 이름: name
            유형: string
          - 이름: ownerReferences
            유형: json
          - 이름: resourceVersion
            유형: string
      - 이름: status
        유형: object
        필드:
          - 이름: $setElementOrder/conditions
            유형: array
            요소:
              유형: object
              필드:
                - 이름: type
                  유형: string
          - 이름: conditions
            유형: array
            요소:
              유형: object
              필드:
                - 이름: lastHeartbeatTime
                  유형: timestamp
                  시간 형식:
                    - rfc3339
                - 이름: type
                  유형: string
  - 이름: objectRef
    유형: object
    필드:
      - 이름: subresource
        유형: string
      - 이름: resourceVersion
        유형: string
      - 이름: uid
        유형: string
      - 이름: namespace
        유형: string
      - 이름: name
        유형: string
      - 이름: apiGroup
        유형: string
      - 이름: apiVersion
        필수: true
        유형: string
      - 이름: resource
        필수: true
        유형: string
  - 이름: annotations
    유형: json
  - 이름: apiVersion
    필수: true
    유형: string
  - 이름: auditID
    필수: true
    유형: string
  - 이름: kind
    필수: true
    유형: string
  - 이름: 수준
    필수: true
    유형: string
  - 이름: requestReceivedTimestamp
    필수: true
    유형: timestamp
    시간 형식:
      - rfc3339
    이벤트 시간 여부: true
  - 이름: requestURI
    유형: string
  - 이름: responseStatus
    유형: object
    필드:
      - 이름: reason
        유형: string
      - 이름: message
        유형: string
      - 이름: status
        유형: string
      - 이름: code
        필수: true
        유형: bigint
  - 이름: sourceIPs
    필수: true
    유형: array
    요소:
      유형: string
      지표:
        - ip
  - 이름: stage
    필수: true
    유형: string
  - 이름: stageTimestamp
    필수: true
    유형: timestamp
    시간 형식:
      - rfc3339
  - 이름: user
    필수: true
    유형: object
    필드:
      - 이름: extra
        유형: object
        필드:
          - 이름: authentication.kubernetes.io/pod-name
            유형: array
            요소:
              유형: string
          - 이름: authentication.kubernetes.io/pod-uid
            유형: array
            요소:
              유형: string
          - 이름: accessKeyId
            유형: array
            요소:
              유형: string
          - 이름: arn
            유형: array
            요소:
              유형: string
              지표:
                - aws_arn
          - 이름: canonicalArn
            유형: array
            요소:
              유형: string
              지표:
                - aws_arn
          - 이름: sessionName
            유형: array
            요소:
              유형: string
      - 이름: uid
        유형: string
      - 이름: groups
        유형: array
        요소:
          유형: string
      - 이름: username
        유형: string
        지표:
          - username
  - name: userAgent
    유형: string
  - 이름: verb
    필수: true
    유형: string

```

### Amazon.EKS.Authenticator

이러한 로그는 EKS가 IAM 자격 증명을 사용하여 Kubernetes 역할 기반 액세스 제어(RBAC) 인증에 사용하는 제어 플레인 구성 요소를 나타냅니다. 자세한 내용은 [EKS 제어 플레인 로그에 대한 AWS 문서](https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html).

```yaml
필드:
    - 이름: timestamp
      필수: true
      설명: timestamp
      유형: timestamp
      시간 형식: rfc3339
      이벤트 시간 여부: true
    - 이름: 수준
      필수: true
      설명: level
      유형: string
    - 이름: access_key_id
      설명: access_key_id
      유형: string
    - 이름: message
      필수: true
      설명: message
      유형: string
    - 이름: account_id
      설명: account_id
      유형: string
      지표:
        - aws_account_id
    - 이름: arn
      설명: arn
      유형: string
      지표:
        - aws_arn
    - name: client
      설명: client
      유형: string
    - 이름: method
      설명: method
      유형: string
    - 이름: path
      설명: path
      유형: string
    - 이름: session
      설명: session
      유형: string
    - 이름: user_id
      설명: user_id
      유형: string
    - 이름: groups
      설명: groups
      유형: string
    - 이름: uid
      설명: uid
      유형: string
      지표:
        - trace_id
    - 이름: username
      설명: username
      유형: string
      지표:
        - username
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/aws/eks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
