# AWS S3

## 개요

Panther는 Amazon Web Services(AWS) S3 로그를 S3 버킷을 통해 수집하는 것을 지원합니다.

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

S3 로그를 Panther로 가져오려면, AWS 계정의 데이터를 스트리밍하도록 Panther Console에서 S3 버킷을 설정해야 합니다.

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

## Panther가 구축한 탐지

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

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

Panther의 [Data Explorer](/ko/search/data-explorer.md)에서 사용할 예제 SQL 쿼리를 확인하세요. [S3 Access 로그 쿼리](/ko/search/data-explorer/example-queries/s3-access-logs-queries.md).

## 지원되는 AWS S3 로그

### AWS.S3ServerAccess

S3ServerAccess는 S3 액세스 로그입니다. 자세한 내용은 다음을 참조하세요 [S3 로그 형식에 대한 AWS 문서](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html).

```yaml
스키마: AWS.S3ServerAccess
설명: S3ServerAccess는 AWS S3 액세스 로그입니다.
참조 URL: https://docs.aws.amazon.com/AmazonS3/latest/dev/LogFormat.html
필드:
  - 이름: bucketowner
    필수: true
    설명: 소스 버킷 소유자의 정식 사용자 ID입니다. 정식 사용자 ID는 AWS 계정 ID의 다른 형식입니다.
    유형: string
  - 이름: bucket
    설명: 요청이 처리된 버킷의 이름입니다. 시스템이 잘못된 요청을 수신하여 버킷을 결정할 수 없는 경우, 해당 요청은 어떤 서버 액세스 로그에도 나타나지 않습니다.
    유형: string
  - 이름: time
    설명: 요청이 수신된 시간(UTC)입니다.
    유형: timestamp
    timeFormat: rfc3339
  - 이름: remoteip
    설명: 요청자의 겉으로 보이는 인터넷 주소입니다. 중간 프록시와 방화벽 때문에 요청을 보내는 장비의 실제 주소가 가려질 수 있습니다.
    유형: string
  - 이름: requester
    설명: 요청자의 정식 사용자 ID이며, 인증되지 않은 요청의 경우 NULL입니다. 요청자가 IAM 사용자였던 경우, 이 필드는 IAM 사용자가 속한 AWS 루트 계정과 함께 요청자의 IAM 사용자 이름을 반환합니다. 이 식별자는 액세스 제어 목적으로 사용되는 것과 동일합니다.
    유형: string
  - 이름: requestid
    설명: 각 요청을 고유하게 식별하기 위해 Amazon S3에서 생성한 문자열입니다.
    유형: string
  - 이름: operation
    설명: 여기에 나열된 작업은 SOAP.operation, REST.HTTP_method.resource_type, WEBSITE.HTTP_method.resource_type 또는 BATCH.DELETE.OBJECT로 선언됩니다.
    유형: string
  - 이름: key
    설명: 요청의 키 부분이며, URL 인코딩되어 있습니다. 또는 작업에 key 매개변수가 없는 경우 NULL입니다.
    유형: string
  - 이름: requesturi
    설명: HTTP 요청 메시지의 Request-URI 부분입니다.
    유형: string
  - 이름: httpstatus
    설명: 응답의 숫자 HTTP 상태 코드입니다.
    유형: bigint
  - 이름: errorcode
    설명: Amazon S3 오류 코드이며, 오류가 발생하지 않은 경우 NULL입니다.
    유형: string
  - 이름: bytessent
    설명: HTTP 프로토콜 오버헤드를 제외하고 전송된 응답 바이트 수이며, 0인 경우 NULL입니다.
    유형: bigint
  - 이름: objectsize
    설명: 해당 객체의 총 크기입니다.
    유형: bigint
  - 이름: totaltime
    설명: 서버 관점에서 요청이 처리 중이었던 밀리초 수입니다. 이 값은 요청이 수신된 시점부터 응답의 마지막 바이트가 전송된 시점까지 측정됩니다. 클라이언트 관점에서 측정한 값은 네트워크 지연으로 인해 더 길 수 있습니다.
    유형: bigint
  - 이름: turnaroundtime
    설명: Amazon S3가 요청을 처리하는 데 소요한 밀리초 수입니다. 이 값은 요청의 마지막 바이트가 수신된 시점부터 응답의 첫 번째 바이트가 전송된 시점까지 측정됩니다.
    유형: bigint
  - 이름: referrer
    설명: HTTP Referer 헤더의 값이며, 있으면 표시됩니다. HTTP 사용자 에이전트(예: 브라우저)는 일반적으로 요청 시 이 헤더를 링크 또는 삽입된 페이지의 URL로 설정합니다.
    유형: string
  - 이름: useragent
    설명: HTTP User-Agent 헤더의 값입니다.
    유형: string
  - 이름: versionid
    설명: 요청의 버전 ID이며, 작업에 versionId 매개변수가 없는 경우 NULL입니다.
    유형: string
  - 이름: hostid
    설명: x-amz-id-2 또는 Amazon S3 확장 요청 ID입니다.
    유형: string
  - 이름: signatureversion
    설명: 요청 인증에 사용된 서명 버전이며, SigV2 또는 SigV4입니다. 인증되지 않은 요청의 경우 NULL입니다.
    유형: string
  - 이름: ciphersuite
    설명: HTTPS 요청에 대해 협상된 보안 소켓 계층(SSL) 암호이며, HTTP의 경우 NULL입니다.
    유형: string
  - 이름: authenticationtype
    설명: 사용된 요청 인증 유형입니다. 인증 헤더의 경우 AuthHeader, 쿼리 문자열(사전 서명된 URL)의 경우 QueryString, 또는 인증되지 않은 요청의 경우 NULL입니다.
    유형: string
  - 이름: hostheader
    설명: Amazon S3에 연결하는 데 사용된 엔드포인트입니다.
    유형: string
  - 이름: tlsVersion
    설명: "클라이언트가 협상한 전송 계층 보안(TLS) 버전입니다. 값은 TLSv1, TLSv1.1, TLSv1.2 중 하나이며, TLS가 사용되지 않은 경우 NULL입니다."
    유형: string
  - 이름: accesspointarn
    설명: "요청의 액세스 포인트에 대한 Amazon Resource Name(ARN)입니다."
    유형: string
  - 이름: aclrequired
    설명: "요청에 권한 부여를 위해 액세스 제어 목록(ACL)이 필요했는지 여부를 나타내는 문자열입니다."
    유형: string
  - 이름: additionalFields
    설명: 레코드의 나머지 열을 배열로 나타낸 것입니다.
    유형: array
    요소:
      유형: string
```


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
