# CloudWatch Logs 소스

## 개요

Panther는 CloudWatch를 데이터 전송(Data Transport)으로 구성하여 CloudWatch에서 보안 로그를 가져와 Panther 계정으로 전송하는 구성을 지원합니다.

활성화하려면 [로그 데이터의 실시간 처리](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions.html)를 위해, Panther는 [Firehose 전송 스트림](https://aws.amazon.com/kinesis/data-firehose) 과 전송 스트림의 대상으로 사용될 S3 버킷을 생성합니다. 그런 다음 CloudWatch Logs 로그 그룹에 대해 Firehose 전송 스트림을 대상으로 사용하는 [구독 필터](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CreateSubscriptionFilterFirehose.html) 가 구성됩니다. Firehose가 새로 생성된 S3 버킷에 추가한 파일을 처리하기 위한 필요한 읽기 권한은 IAM 역할에 부여됩니다.

이 프로세스에 대한 자세한 내용은 Amazon 문서를 참조하세요: [구독에 대한 AWS CloudWatch Logs 문서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CrossAccountSubscriptions-Firehose.html).

{% hint style="warning" %}
만약 귀하가 [Cloud Connected](https://docs.panther.com/ko/system-configuration/panther-deployment-types/cloud-connected) 고객이라면, Panther 배포가 존재하는 계정과는 별도의 AWS 계정에서 모든 로그 소스 인프라(예: S3 버킷 또는 IAM 역할)를 생성하세요.
{% endhint %}

아래 다이어그램을 보면 CloudWatch Logs를 사용하여 애플리케이션에서 Panther로 데이터가 흐르는 방식을 이해할 수 있습니다( [SaaS](https://docs.panther.com/ko/system-configuration/panther-deployment-types#saas)):

<figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-616f9694b64bc765a742b4219a2a1b527ce38a39%2FData_Transport_CloudWatch.png?alt=media" alt="A diagram shows how data flows from a customer application into Panther, using the CloudWatch Data Transport. The flow is as follows: Application(s), CloudWatch log group, Subscription filter, Kinesis Firehose, S3 bucket, SNS topic, SQS, Panther application, IAM Role (assumed by Panther, S3 bucket, Panther application, parse &#x26; normalize, real-time detections, Long term retention in Snowflake, Alerts generated, Alert destination"><figcaption></figcaption></figure>

## Panther에서 CloudWatch 로그 소스를 설정하는 방법

### 1단계: Panther 콘솔에서 CloudWatch 구성

1. Panther 콘솔의 왼쪽 탐색 바에서 **구성** > **로그 소스**.
2. 오른쪽 상단에서 **새로 만들기**.
3. 를 클릭하세요. **AWS CloudWatch Logs** 타일을 클릭합니다.
4. 페이지에서, 다음 필드를 채우세요: **구성** 이름
   * **: CloudWatch 로그 소스의 설명적인 이름을 입력하세요.**&#xB85C;그 그룹 이름
   * **: CloudWatch 로그 그룹의 고유 이름을 입력하세요.**&#x41;WS 계정 ID
   * **: CloudWatch 로그 그룹이 존재하는 AWS 계정 ID 번호를 입력하세요.**&#xD328;턴 필터(선택 사항)
   * **: 이 필드를 사용하여 CloudWatch에서 수신된 로그 데이터를 필터링할 수 있습니다. 필터 및 패턴 문법에 대한 자세한 내용은**Amazon의 필터 및 패턴 문법 문서 [을 참조하세요.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).
   * **로그 유형**: Panther가 CloudWatch 로그를 파싱할 때 사용할 로그 유형을 선택하세요. 드롭다운 메뉴에서 최소 하나의 로그 유형을 선택해야 합니다.
5. 클릭 **설정**.

### 2단계: IAM 역할 설정

소스에서 객체를 읽기 위해 Panther는 특정 권한을 가진 AWS IAM 역할이 필요합니다. 이 역할을 설정하려면 다음 옵션 중 선택할 수 있습니다:

* **AWS 콘솔 UI 사용**
  * Panther에서 이 데이터 전송 소스를 처음 설정하는 경우 이 옵션을 선택하세요.
* **CloudFormation 또는 Terraform 파일**
* **모든 것을 직접 설정하겠습니다**

<figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-ad7cc4be0a5e6b30ae75119003691a5ea8212510%2FScreenshot%202025-04-08%20at%2012.31.12%E2%80%AFPM.png?alt=media" alt="On the IAM Role Setup page, there are three options: Using the AWS Console UI, CloudFormation or Terraform File, or I want to set everything up on my own"><figcaption></figcaption></figure>

{% tabs %}
{% tab title="AWS 콘솔 UI 사용" %}
**AWS 콘솔 UI 사용**

AWS 콘솔을 사용하여 CloudFormation 스택을 시작하세요:

1. 페이지에서, 다음 필드를 채우세요: **IAM 역할 생성** 페이지에서, **AWS 콘솔 UI 사용** 타일에서, 클릭 **계속**.
2. 클릭 **콘솔 시작**.
   * 템플릿 URL이 미리 채워진 상태로 새 브라우저 탭에서 AWS 콘솔로 리디렉션됩니다.
   * CloudFormation 스택은 소스에서 객체를 읽기 위해 필요한 최소 권한을 가진 AWS IAM 역할을 생성합니다.
   * AWS의 CloudFormation 스택에서 "Outputs" 탭을 클릭하고 Role ARN을 기록하세요.
3. Panther 콘솔로 돌아가서 다음 필드에 값을 입력하세요:
   * (S3 소스를 설정하는 경우 해당되지 않음) **버킷 이름 – 필수**: 출력된 S3 버킷 이름을 입력하세요.
   * **역할 ARN – 필수**: 출력된 IAM 역할 ARN을 입력하세요.
4. 클릭 **설정**.
   {% endtab %}

{% tab title="CloudFormation 또는 Terraform 파일" %}
**CloudFormation 또는 Terraform 파일**

Panther에서 제공하는 CloudFormation 또는 Terraform 템플릿을 사용하여 IAM 역할을 생성하세요:

1. 페이지에서, 다음 필드를 채우세요: **IAM 역할 생성** 페이지에서, **CloudFormation 또는 Terraform 파일** 타일에서, 클릭 **계속**.
2. 페이지에서, 다음 필드를 채우세요: **CloudFormation 또는 Terraform 템플릿 파일** 페이지에서, 사용하려는 IaC(Infrastructure as Code) 제공자에 따라 다음 중 하나를 선택하세요: **CloudFormation 템플릿** 또는 **Terraform 템플릿**.
3. 클릭 **템플릿 다운로드**.
   * Terraform 템플릿은 다음에서 찾을 수도 있습니다: [이 GitHub 링크](https://github.com/panther-labs/panther-auxiliary/tree/9365346d8698e730bd623086e24ca6f2a34c4b5c/terraform/panther_log_analysis_iam).
4. CLI에서, **워크플로** 섹션의 명령을 실행하세요.
5. IaC 파이프라인에 템플릿을 배포한 후 다음 필드에 값을 입력하세요:
   * (S3 소스를 설정하는 경우 해당되지 않음) **버킷 이름 – 필수**: 출력된 S3 버킷 이름을 입력하세요.
   * **역할 ARN – 필수**: 출력된 IAM 역할 ARN을 입력하세요.
6. 클릭 **설정**.
   {% endtab %}

{% tab title="모든 것을 직접 설정하겠습니다" %}
**모든 것을 직접 설정하겠습니다**

IAM 역할을 수동으로 생성한 다음 Panther에 역할 ARN을 입력하세요. IAM 역할을 수동으로 설정할 때는 아래의 "수동 IAM 역할 생성: 추가 단계" 지침을 따라 새 데이터가 도착할 때 알림을 보내도록 S3 버킷을 구성해야 합니다.

1. 페이지에서, 다음 필드를 채우세요: **IAM 역할 생성** 페이지에서 클릭 **모든 것을 직접 설정하겠습니다**.
2. 수동으로 또는 자체 자동화를 통해 IAM 역할을 생성하세요.
   * 역할에 연결될 IAM 정책은 아래에 정의된 문(statement)을 포함해야 합니다:

     ```json
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Action": "s3:GetBucketLocation",
                 "Resource": "arn:aws:s3:::<bucket-name>",
                 "Effect": "Allow"
             },
             {
                 "Action": "s3:GetObject",
                 "Resource": "arn:aws:s3:::<bucket-name>/<input-file-path>",
                 "Effect": "Allow"
             }
         ]
     }
     ```
   * S3 버킷이 AWS KMS를 사용한 서버 측 암호화로 구성된 경우에는 Panther API가 해당 KMS 키에 접근할 수 있도록 추가 문(statement)을 포함해야 합니다. 이 경우 정책은 다음과 유사합니다:

     ```json
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Action": "s3:GetBucketLocation",
                 "Resource": "arn:aws:s3:::<bucket-name>",
                 "Effect": "Allow"
             },
             {
                 "Action": "s3:GetObject",
                 "Resource": "arn:aws:s3:::<bucket-name>/<input-file-path>",
                 "Effect": "Allow"
             },
             {
                 "Action": ["kms:Decrypt", "kms:DescribeKey"],
                 "Resource": "arn:aws:kms:<region>:<your-account-id>:key/<kms-key-id>",
                 "Effect": "Allow"
             }
         ]
     }
     ```
   * 위에 더해, Panther 콘솔에서 S3 버킷의 내용을 보려면(예: [과거 데이터에서 사용자 지정 스키마 유추](https://github.com/panther-labs/panther-docs/blob/main/docs/gitbook/data-onboarding/data-onboarding/custom-log-types/README.md#inferring-custom-schemas-from-historical-s3-data) 기능을 활용하기 위해) 다음 `s3:ListBucket` 액션을 추가해야 합니다:

     ```json
     {
          "Version": "2012-10-17",
         "Statement": [
             {
                 "Action": [
                     "s3:GetBucketLocation",
                     "s3:ListBucket"
                 ],
                 "Resource": "arn:aws:s3:::<bucket-name>",
                 "Effect": "Allow"
             },
             {
                 "Action": "s3:GetObject",
                 "Resource": "arn:aws:s3:::<bucket-name>/<input-file-path>",
                 "Effect": "Allow"
             }
         ]
     }
     ```
3. Panther가 이 역할을 맡을 수 있도록 역할에 다음의 신뢰 정책을 추가하세요: `AssumeRolePolicyDocument` 문(statement):

   ```json
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:<aws-partition>:iam::<panther-master-account-id>:root"
           ]
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "Bool": {
             "aws:SecureTransport": true
           }
         }
       }
     ]
   }
   ```

   * 다음을 채우세요 `<AWS-PARTITION>` Panther 백엔드를 실행하는 계정의 파티션(e.g., `aws`)으로 채우세요. 참고로 우리는 `aws-cn` 또는 `aws-us-gov`.
   * 다음을 채우세요 `에 배포하지 않습니다.` \<PANTHER-MASTER-ACCOUNT-ID>
4. Panther가 배포된 12자리 계정 ID로 채우세요. AWS 계정 ID를 확인하려면: Panther 콘솔 오른쪽 상단의 톱니바퀴 아이콘을 클릭하여 설정에 접근하면 페이지 하단에 AWS 계정 ID가 표시됩니다.
   * (S3 소스를 설정하는 경우 해당되지 않음) **버킷 이름 – 필수**: 출력된 S3 버킷 이름을 입력하세요.
   * **역할 ARN – 필수**: 출력된 IAM 역할 ARN을 입력하세요.
5. 클릭 **Panther 콘솔에서 다음 필드에 값을 입력하세요:**
6. 설정.
   {% endtab %}
   {% endtabs %}

### 아래의 "수동 IAM 역할 생성: 추가 단계" 섹션으로 진행하세요.

3단계: 소스 설정 완료

<figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-e55cedf82c6a6adc66ec5c14ebdcb164c3b1dcca%2FScreenshot%202023-08-03%20at%204.33.30%20PM.png?alt=media" 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).
* 디텍션 팩 **을 활성화할 수 있습니다.** "이벤트가 처리되지 않을 때 경고 트리거" **설정의 기본값은**예

<figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-c48119abd559990173004bde99ff4907fdd2ded2%2FScreenshot%202023-08-03%20at%204.26.54%20PM.png?alt=media" 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>

* 입니다. 데이터가 일정 기간 동안 로그 소스에서 흐르지 않으면 경고를 받도록 이 설정을 활성화된 상태로 두는 것을 권장합니다. 시간 범위는 구성 가능하며 기본값은 24시간입니다. **아직 수행하지 않았다면, 클릭하세요** 스키마 연결 또는 유추

## 을 클릭하여 소스에 하나 이상의 스키마를 연결하세요.

엔벨로프 필드 보존 `선택적으로 CloudWatch Logs의 엔벨로프 메타데이터(예:`, `owner`logGroup `및`logStream `)를 각 처리된 이벤트의` p\_header

#### 필드에 보존할 수 있습니다. 이 옵션은 CloudWatch Logs 스트림 유형을 사용하는 모든 소스에서 사용 가능합니다.

기존 CloudWatch 로그 소스에 대한 엔벨로프 필드 구성

1. Panther 콘솔의 왼쪽 탐색 바에서 **구성** > **로그 소스**.
2. 기존 CloudWatch 로그 소스가 있고 엔벨로프 필드 보존을 활성화하거나 비활성화하려는 경우, 소스가 생성된 후에 이 설정을 구성할 수 있습니다:
3. 목록에서 CloudWatch 로그 소스를 찾아 클릭하세요. **클릭하세요** 구성
4. 를 클릭하세요. **탭을.** 편집 아이콘 **스트림 유형**.
5. 옆에 있는 **"엔벨로프 필드 보존" `)를 각 처리된 이벤트의` 필드의** 스위치를 켜세요.
6. 클릭 **선택 적용** 을 클릭하여 변경사항을 저장하세요.

<figure><img src="https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2FyHGi2mq5mutIKVrnGefF%2FScreenshot%202026-03-13%20at%201.23.35%E2%80%AFPM.png?alt=media&#x26;token=8b0e4eba-d9ca-42c7-ae49-94e02f0c4eeb" alt=""><figcaption></figcaption></figure>

#### CloudWatch Logs 엔벨로프 메타데이터

엔벨로프 필드 보존이 활성화되면, `)를 각 처리된 이벤트의` 필드에는 다음 CloudWatch 메타데이터를 포함한 JSON 객체가 들어 있습니다:

* **선택적으로 CloudWatch Logs의 엔벨로프 메타데이터(예:**: 로그 그룹의 소유자 AWS 계정 ID
* **owner**: CloudWatch 로그 그룹의 이름
* **및**: CloudWatch 로그 스트림의 이름
* **subscriptionFilters**: 로그 그룹에 구성된 구독 필터 이름의 배열

예시 `)를 각 처리된 이벤트의` 내용:

```json
{
  "owner": "123456789012",
  "logGroup": "aws/lambda/my-function",
  "logStream": "2023/12/01/[$LATEST]abc123...",
  "subscriptionFilters": ["panther-subscription-filter"]
}
```

## 수집된 로그 보기

로그 소스가 구성된 후에는 다음을 사용하여 수집된 데이터를 검색할 수 있습니다: [검색](https://docs.panther.com/ko/search/search-tool) 또는 [데이터 탐색기](https://docs.panther.com/ko/search/data-explorer).

## 수동 IAM 역할 생성: 추가 단계

로그 소스 생성 중 IAM 역할을 수동으로 설정하도록 선택한 경우, 새 데이터가 도착할 때 알림을 보내도록 S3 버킷을 구성하는 아래 지침도 따라야 합니다.

### 1단계: SNS 주제 생성 또는 수정

{% tabs %}
{% tab title="SNS 주제 생성" %}
**SNS 주제 생성 방법**

참고: 이미 버킷이 `모든 객체 생성 이벤트` 를 SNS 주제로 전송하도록 구성되어 있다면, 대신 "기존 SNS 주제 수정" 탭을 따라 해당 주제를 Panther의 입력 데이터 큐에 구독시키십시오.

{% hint style="info" %}
AWS 계정당 하나의 SNS 주제만 필요하므로 하나의 AWS 계정 내 여러 S3 버킷이 동일한 SNS 주제를 사용할 수 있습니다. 동일한 AWS 계정의 다른 S3 버킷용으로 이미 SNS 주제를 생성했다면 이 단계를 건너뛸 수 있습니다.
{% endhint %}

먼저 Panther에 새 데이터가 처리 준비가 되었음을 알리기 위해 SNS 주제와 SNS 구독을 생성해야 합니다.

1. S3 버킷을 소유한 계정의 AWS 콘솔에 로그인하세요.
2. S3 버킷이 위치한 AWS 리전을 선택하고 **CloudFormation** 콘솔로 이동하세요.
3. 로 이동하여 **스택** 섹션에서 **스택 생성** (새 리소스 포함)을 선택하세요.\
   ![In the AWS CloudFormation console, there is a "Create Stack" dropdown menu in the upper right. In this image, the menu is expanded and the option "with new resources (standard)" is highlighted.](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-225de8f479ea23d55add21922cfac223184a1d82%2FScreen%20Shot%202022-09-02%20at%2011.02.26%20AM.png?alt=media)
4. "템플릿 지정" 섹션에 다음 Amazon S3 URL을 입력하세요:

   ```
   https://panther-public-cloudformation-templates.s3-us-west-2.amazonaws.com/panther-log-processing-notifications/latest/template.yml
   ```
5. 다음 스택 세부 정보를 지정하세요:
   * **스택 이름**: 원하는 이름, 예: `panther-log-processing-notifications-<bucket-label>`
   * **마스터계정ID**: Panther가 배포된 12자리 AWS 계정 ID
   * **Panther 리전**: Panther가 배포된 리전
   * **SnsTopicName**: 알림을 수신할 SNS 주제의 이름. 기본값은 `panther-notifications-topic`
6. 클릭 **다음**, **다음**을 클릭한 다음 **스택 생성** 을 클릭하여 프로세스를 완료하세요.
   * 이 스택에는 하나의 출력이 있습니다: `SnsTopicArn`.
     {% endtab %}

{% tab title="기존 SNS 주제 수정" %}
**기존 SNS 주제 수정 방법**

S3 버킷 알림 전송에 기존 SNS 주제를 사용하려는 경우 아래 단계를 따르세요. SNS 주제는 S3 버킷과 동일한 리전에 있어야 합니다.

**1단계: SNS 주제에 대해 KMS 암호화 활성화**

1. AWS 콘솔에 로그인하고 KMS로 이동하세요.
2. 암호화에 사용할 KMS 키를 선택하세요.
3. 해당 키 정책을 편집하여 SNS 주제와 S3 버킷 알림에 사용될 수 있도록 [적절한 권한](https://docs.aws.amazon.com/AmazonS3/latest/userguide/grant-destinations-permissions-to-s3.html#key-policy-sns-sqs) 이 포함되어 있는지 확인하세요.
   * 예시 정책:

     ```json
     {
         "Sid": "Allow access for Key User (SNS Service Principal)",
         "Effect": "Allow",
         "Principal": {
             "Service": "sns.amazonaws.com"
         },
         "Action": [
             "kms:GenerateDataKey*",
             "kms:Decrypt"
         ],
         "Resource": "<SNS-TOPIC-ARN>"
     },
     {
         "Sid": "Allow access for Key User (S3 Service Principal)",
         "Effect": "Allow",
         "Principal": {
             "Service": "s3.amazonaws.com"
         },
         "Action": [
             "kms:GenerateDataKey*",
             "kms:Decrypt"
         ],
         "Resource": "arn:aws:s3:::<bucket-name>"
     }
     ```
4. 를 클릭하세요. **암호화** 탭에서 SNS 주제를 선택하세요.
5. 클릭 **활성화**하고 암호화에 사용할 KMS 키를 지정하세요.

**2단계: SNS 주제 접근 정책 수정**

SNS 주제와 Panther의 로그 처리 SQS 큐 사이에 구독을 생성하세요.

1. 로 이동하여 [SNS 콘솔](https://us-west-2.console.aws.amazon.com/sns/v3/home#/topics) 에서 현재 이벤트를 수신하는 SNS 주제를 선택하세요.
   * 이 SNS 주제의 ARN을 기록하세요.
2. 클릭 **편집** 을 클릭하고 아래로 스크롤하여 **접근 정책** 카드를 찾으세요.
3. 주제의 정책에 다음 문(statement)을 추가하세요: **접근 정책**:

   ```json
   {
     "Sid": "CrossAccountSubscription",
     "Effect": "Allow",
     "Principal": {
       "AWS": "arn:aws:iam::<PANTHER-MASTER-ACCOUNT-ID>:root"
     },
     "Action": "sns:Subscribe",
     "Resource": "<SNS-TOPIC-ARN>"
   }
   ```

   * 다음을 채우세요 `에 배포하지 않습니다.` Panther가 배포된 12자리 계정 ID로 채우세요. 이 AWS 계정 ID는 Panther 콘솔에서 설정으로 이동한 후 페이지 하단에서 확인할 수 있습니다. **설정** 으로 이동하여 **톱니** 아이콘을 클릭하세요.**.**
   * 다음을 채우세요 `SNS-TOPIC-ARN` 위 문서에서 기록한 ARN으로 대체하세요.

**3단계: SQS로의 SNS 구독 생성**

Panther 마스터 계정의 SQS 큐에 대한 구독을 생성하세요.

1. SNS 콘솔에서 클릭 **구독**.
2. 클릭 **구독 생성**.
3. 양식을 작성하세요:
   * **주제 ARN**: 사용하려는 SNS 주제를 선택하세요.
   * **프로토콜**: 를 선택하세요 **Amazon SQS**.
   * **엔드포인트**: `arn:aws:sqs:<PantherRegion>:<MasterAccountId>:panther-input-data-notifications-queue`
   * **원시 메시지 전송 활성화**: 이 체크박스를 선택하지 마세요. 원시 메시지 전송은 비활성화되어야 합니다.
4. 클릭 **구독 생성**.

{% hint style="info" %}
구독이 "대기 중(Pending)" 상태이고 즉시 확인되지 않으면 Panther 콘솔에서 이 로그 소스 설정을 완료해야 합니다. Panther는 SNS 주제의 AWS 계정에 대해 Panther 로그 소스가 존재할 경우에만 SNS 구독을 확인합니다.
{% endhint %}
{% endtab %}
{% endtabs %}

### 2단계: S3 버킷에서 이벤트 알림 구성

SNS 주제가 생성되었으면 마지막 단계는 S3 버킷에서 알림을 활성화하는 것입니다.

1. AWS의 [S3 콘솔](https://s3.console.aws.amazon.com/s3/home)로 이동하여 관련 버킷을 선택한 다음 **속성** 구성
2. 을 클릭하세요. **에서** 카드를 찾으세요.
3. 클릭 **이벤트 알림 생성** 을 찾고 다음 설정을 사용하세요:
   * 일반 구성 **섹션에서:** 이벤트 이름
     * **PantherEventNotifications**: `접두사`
     * **(선택 사항): 객체 키가 특정 문자로 시작하는 경우에만 알림을 제한합니다.** 접미사
     * **(선택 사항): 객체 키가 특정 문자로 끝나는 경우에만 알림을 제한합니다.** 이벤트 유형
     * 일반 구성 **카드에서,** 다음 옆의 박스를 체크하세요 **모든 객체 생성 이벤트**.

{% hint style="info" %}
중복되는 접두사와 접미사를 사용하는 여러 필터 생성 피하기 [. 그렇지 않으면 구성은 유효하지 않은 것으로 간주됩니다.](https://help.panther.com/articles/1907385559-how-do-i-resolve-cannot-have-overlapping-suffixes-in-two-rules-if-the-prefixes-are-overlapping-for-the-same-event-type-when-setting-up-an-s3-source-for-panther)대상
{% endhint %}

* 일반 구성 **카드:** 에서
  * 아래에서, **카드:**&#x53;NS 주제 **를 선택하세요.**.
  * 대상으로 **를 선택하세요.**&#xC774;전에 생성하거나 수정한 SNS 주제를 선택하세요.
    * 제공된 CloudFormation 템플릿에서 기본 주제 이름을 사용한 경우 SNS 주제 이름은 `panther-notifications-topic`.
    * 입니다.\
      ![](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-34d83679fde29c4bea65c21428e638b118356f6f%2Fs3-source-setup.png?alt=media)

사용자 지정 SNS 주제를 사용하는 경우 올바른 정책이 설정되어 있고 Panther SQS 큐에 대한 구독이 있는지 확인하세요. **4. 클릭**.

* 저장하세요(저장). 버튼을 클릭하세요. (원문: "Save")의 의미로 번역됨.)
