> 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/data-transports/aws/cloudwatch.md).

# CloudWatch 로그 소스

## 개요

Panther는 CloudWatch를 Data Transport로 구성하여 CloudWatch의 보안 로그를 귀하의 Panther 계정으로 가져오는 것을 지원합니다.

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

이 프로세스에 대한 자세한 내용은 Amazon의 문서에서 확인할 수 있습니다: [구독을 위한 AWS CloudWatch Logs 문서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CrossAccountSubscriptions-Firehose.html).

{% hint style="warning" %}
만약 귀하가 [Cloud Connected](/ko/system-configuration/panther-deployment-types/cloud-connected.md) 고객인 경우, 로그 소스 인프라(S3 버킷 또는 IAM 역할 등)는 Panther가 배포된 계정과 별도의 AWS 계정에 생성하세요.
{% endhint %}

아래 다이어그램을 통해 CloudWatch Logs를 사용하여 귀하의 애플리케이션에서 Panther로 데이터가 어떻게 흐르는지 확인하세요( [SaaS](/ko/system-configuration/panther-deployment-types.md#saas)):

<figure><img src="/files/0a8a0e9630e529944bf9a1fafa023530cf85f8ad" 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 로그 소스의 설명이 되는 이름을 입력합니다.
   * **로그 그룹 이름**: CloudWatch 로그 그룹의 고유한 이름을 입력합니다.
   * **AWS 계정 ID**: CloudWatch 로그 그룹이 속한 AWS 계정 ID 번호를 입력합니다.
   * **패턴 필터(선택 사항)**: 이 필드를 사용하여 CloudWatch에서 수신한 로그 데이터를 필터링합니다. 자세한 내용은 [필터 및 패턴 구문에 대한 Amazon 문서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).
   * **로그 유형**: Panther가 CloudWatch 로그를 구문 분석하는 데 사용할 로그 유형을 선택합니다. 드롭다운 메뉴에서 최소 하나의 로그 유형을 선택해야 합니다.
5. 다음을 클릭합니다: **설정**.

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

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

* **AWS Console UI 사용**
  * Panther에서 설정하는 첫 번째 Data Transport 소스라면 이 옵션을 선택하세요.
* **CloudFormation 또는 Terraform 파일**
* **모든 것을 직접 설정하고 싶습니다**

<figure><img src="/files/0bc7c9876b6d34ea1a9ed02be4ab407373f8c364" 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 Console UI 사용" %}
**AWS Console UI 사용**

AWS 콘솔을 사용하여 CloudFormation 스택을 시작합니다:

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

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

Panther가 제공하는 CloudFormation 또는 Terraform 템플릿을 사용하여 IAM 역할을 생성합니다:

1. 다음에서 **IAM 역할 생성** 페이지의 **CloudFormation 또는 Terraform 파일** 타일에서 다음을 클릭합니다: **계속**.
2. 다음에서 **CloudFormation 또는 Terraform 템플릿 파일** 페이지에서 사용하려는 Infrastructure as Code(IaC) 공급자에 따라 다음 중 하나를 선택합니다: **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 버킷 이름을 입력합니다.
   * **Role ARN – 필수**: 출력된 IAM 역할 ARN을 입력합니다.
6. 다음을 클릭합니다: **설정**.
   {% endtab %}

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

IAM 역할을 수동으로 생성한 다음 Panther에 역할 ARN을 입력합니다. IAM 역할을 수동으로 설정할 경우, 새 데이터가 도착할 때 알림을 보내도록 S3 버킷을 구성하기 위해 아래의 "Manual IAM role creation: Additional steps" 지침도 따라야 합니다.

1. 다음에서 **IAM 역할 생성** 페이지에서 다음을 클릭합니다: **모든 것을 직접 설정하고 싶습니다**.
2. IAM 역할을 수동으로 또는 자체 자동화를 통해 생성합니다.
   * 역할에 연결될 IAM 정책에는 아래에 정의된 문이 포함되어야 합니다:

     ```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 키에 대한 액세스를 부여하는 추가 문을 포함해야 합니다. 이 경우 정책은 다음과 비슷하게 됩니다:

     ```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. 다음이 포함된 신뢰 정책을 역할에 추가합니다: `AssumeRolePolicyDocument` 문을 추가하여 Panther가 이 역할을 assume할 수 있도록 합니다:

   ```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 백엔드가 실행되는 계정의 파티션으로(예: `aws`). 참고로 우리는 다음에는 배포하지 않습니다: `aws-cn` 또는 `aws-us-gov`.
   * 채웁니다 `<PANTHER-MASTER-ACCOUNT-ID>` Panther가 배포된 12자리 계정 ID로. AWS 계정 ID를 확인하려면: Panther 콘솔 오른쪽 상단의 기어 아이콘을 클릭하여 설정에 들어간 다음 다음으로 이동합니다: **일반 설정** > **주요 정보 및 기본 설정**; AWS 계정 ID는 다음에 표시됩니다: **인프라** 섹션.
4. Panther 콘솔에서 다음 필드에 값을 입력합니다:
   * (S3 소스를 설정하는 경우에는 해당하지 않음) **버킷 이름 – 필수**: 출력된 S3 버킷 이름을 입력합니다.
   * **Role ARN – 필수**: 출력된 IAM 역할 ARN을 입력합니다.
5. 다음을 클릭합니다: **설정.**
6. 아래의 "Manual IAM role creation: Additional steps" 섹션으로 이동합니다.
   {% endtab %}
   {% endtabs %}

### 3단계: 소스 설정 완료

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

<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).
* 해당 **이벤트가 처리되지 않을 때 알러트를 트리거** 설정의 기본값은 **YES**. 이 옵션은 활성화된 상태로 두는 것을 권장합니다. 일정 시간이 지난 후 로그 소스에서 데이터 흐름이 중단되면 알림을 받게 되기 때문입니다. 이 시간은 구성 가능하며 기본값은 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>

* 아직 하지 않았다면 다음을 클릭합니다: **스키마 연결 또는 추론** 소스에 하나 이상의 스키마를 연결합니다.

## 봉투 필드 보존

선택적으로 CloudWatch Logs 봉투 메타데이터(예: `owner`, `logGroup` 및  `logStream`)를 다음에 보존할 수 있습니다: `p_header` 필드에 각 처리된 이벤트마다 저장합니다. 이 옵션은 CloudWatch Logs 스트림 유형을 사용하는 모든 소스에서 사용할 수 있습니다.

#### 기존 CloudWatch 로그 소스의 봉투 필드 구성

기존 CloudWatch 로그 소스가 있고 봉투 필드 보존을 활성화하거나 비활성화하려는 경우, 소스가 생성된 후 이 설정을 구성할 수 있습니다:

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **구성** > **로그 소스**.
2. 목록에서 CloudWatch 로그 소스를 찾아 클릭합니다.
3. 다음에서 클릭합니다: **구성** 탭.
4. 다음을 클릭합니다: **편집 아이콘** 옆의 **스트림 유형**.
5. 다음을 토글합니다: **다음의 봉투 필드 보존 `p_header` 필드** 스위치를 켭니다.
6. 다음을 클릭합니다: **선택 적용** 을 눌러 변경 사항을 저장합니다.

<figure><img src="/files/a2b3f29f2f2ca5dbe6f965abe03c68572c55bc9b" alt=""><figcaption></figcaption></figure>

#### CloudWatch Logs 봉투 메타데이터

봉투 필드 보존이 활성화되면 `p_header` 필드에는 다음 CloudWatch 메타데이터가 포함된 JSON 객체가 들어 있습니다:

* **owner**: 로그 그룹을 소유한 AWS 계정 ID
* **logGroup**: CloudWatch 로그 그룹의 이름
* **logStream**: CloudWatch 로그 스트림의 이름
* **subscriptionFilters**: 로그 그룹에 대해 구성된 구독 필터 이름의 배열

예시 `p_header` 내용:

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

## 수집된 로그 보기

로그 소스 구성이 완료되면 다음을 사용하여 수집된 데이터를 검색할 수 있습니다: [검색](/ko/search/search-tool.md) 또는 [Data Explorer](/ko/search/data-explorer.md).

## 수동 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.](/files/c7643342ef63965b8c9e455c9a581ee90d9333ff)
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>`
   * **MasterAccountId**: Panther가 배포된 12자리 AWS 계정 ID
   * **PantherRegion**: 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. 정책을 편집하여 다음이 포함되도록 합니다: [적절한 권한](https://docs.aws.amazon.com/AmazonS3/latest/userguide/grant-destinations-permissions-to-s3.html#key-policy-sns-sqs) SNS 주제 및 S3 버킷 알림과 함께 사용할 수 있도록.
   * 예시 정책:

     ```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. 다음을 클릭합니다: **암호화** 탭으로 이동합니다.
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. 다음 문을 주제의 **액세스 정책**:

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

   * 채웁니다 `<PANTHER-MASTER-ACCOUNT-ID>` Panther가 배포된 12자리 계정 ID로. 이 AWS 계정 ID는 Panther 콘솔에서 다음을 클릭하여 찾을 수 있습니다: **기어** 아이콘으로 설정을 연 다음 다음으로 이동합니다: **일반 설정** > **주요 정보 및 기본 설정**; 이는 다음에 표시됩니다: **인프라** 섹션.
   * 채웁니다 `SNS-TOPIC-ARN` 를 앞서 문서에서 기록한 ARN으로 바꿉니다.

**3단계: SQS에 대한 SNS 구독 생성**

Panther Master 계정의 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 %}

* 다음의 **대상** 카드:
  * 다음에서 **대상**, 다음을 선택합니다: **SNS 주제**.
  * 대상 **SNS 주제**, 이전 단계에서 생성하거나 수정한 SNS 주제를 선택합니다.
    * 제공된 CloudFormation 템플릿에서 기본 주제 이름을 사용했다면 SNS 주제의 이름은 `panther-notifications-topic`.
    * 사용자 지정 SNS 주제를 사용하는 경우 올바른 정책이 설정되어 있고 Panther SQS 큐에 대한 구독이 있는지 확인하세요.\
      ![](/files/f9d7f886b374757a456826253cf88ab03ee04ca5)

4\. 다음을 클릭합니다: **저장**.

* 위의 "3단계: 소스 설정 완료"로 돌아가기.


---

# 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/data-transports/aws/cloudwatch.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.
