> 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/eventbridge.md).

# EventBridge

## 개요

[Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 서버리스 이벤트 버스로, 이벤트를 수신, 필터링, 변환, 라우팅 및 전달할 수 있게 해줍니다. 환경 내에서 이미 EventBridge를 사용하고 있을 수도 있는데, AWS 서비스, 사용자 지정 애플리케이션, SaaS 애플리케이션 및 마이크로서비스의 데이터 수신을 지원하기 때문입니다.

{% hint style="warning" %}
만약 귀하가 [Cloud Connected](/ko/system-configuration/panther-deployment-types/cloud-connected.md) 고객이라면, Panther 배포가 위치한 AWS 계정과 별도의 계정에 모든 로그 소스 인프라를 생성하세요.
{% endhint %}

### 지원되는 대상

EventBridge는 Panther가 연결할 수 있는 많은 [대상](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) 을 지원하며, 여기에는 SNS 토픽, SQS 큐, Firehose 전송 스트림, S3 버킷 등이 포함됩니다. 이를 통해 다양한 워크플로가 가능합니다. 예를 들면:

* Okta -> EventBridge -> AWS SNS Topic -> Panther SQS
  * 기본적으로 EventBridge는 로그를 다음 안에 중첩합니다. `detail` 객체. Panther의 기본 Okta 스키마를 활용하려면 EventBridge 변환을 사용해야 합니다. 방법은 다음을 참조하세요. [AWS 문서](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html) 에서 변환을 생성하는 방법을 확인하세요.
* Custom Application -> EventBridge -> Firehose delivery stream -> S3 -> Panther
* AWS GuardDuty -> EventBridge -> AWS SNS Topic -> Panther SQS
  * 아래 예시를 참고하여 [EventBridge를 통해 GuardDuty 결과를 Panther로 전송하는 방법을 확인하세요.](#end-to-end-example-send-guardduty-findings-to-panther-via-eventbridge).

## Panther와 함께 EventBridge를 사용하는 방법

일반적으로 적용 가능한 워크플로는 아래 단계를 참조하세요.

EventBridge를 사용하여 GuardDuty 결과를 Panther로 보내는 구체적인 예시는 [아래 섹션](#end-to-end-example-send-guardduty-findings-to-panther-via-eventbridge).

### 1단계: Amazon SNS에서 토픽 생성

1. AWS 콘솔에 로그인한 다음 **Amazon SNS > Topics**로 이동합니다.  **토픽 생성**.
   * 이미 SNS 토픽을 생성한 경우 2단계로 건너뛰세요.
2. 세부 정보를 입력합니다:
   * **유형**: 선택 `표준`.
   * **이름**: `panther-eventbridge-guard-duty`
3. 클릭 **토픽 생성**.
4. ARN 값을 복사하여 안전한 위치에 저장하세요. 다음 단계에서 필요합니다.
   * ARN 예시: `arn:aws:sns:region:accountid:topic`

### 2단계: Panther에서 SQS 소스 생성

1. 다음을 따르세요 [SQS 로그 소스를 생성하는 Panther 문서](/ko/data-onboarding/data-transports/aws/sqs.md).
   * 다음의 **Allowed Source ARNs** 필드에, 다음에서 생성한 SNS 토픽의 ARN을 입력합니다 [1단계](#step-1-create-a-topic-in-amazon-sns).
2. 클릭 **SQS Queue ARN** 를 클릭하여 SQS 큐의 ARN을 복사하세요. 다음 단계에서 필요하므로 안전한 위치에 저장하세요.

### 3단계: SQS 큐에 대한 SNS 토픽 구독 생성

* 다음을 따르세요 [SQS 큐에 대한 SNS 구독을 생성하는 Panther 지침](/ko/data-onboarding/data-transports/aws/sqs/sns.md#step-2-create-sns-subscription-to-sqs-queue).
  * 다음에서 생성한 토픽을 선택합니다 [1단계](#step-1-create-a-topic-in-amazon-sns).
  * 다음의 **프로토콜** 필드에 다음을 입력하세요 `Amazon SQS`.
  * 다음의 **엔드포인트** 필드에는 다음에서 생성한 SQS 큐의 ARN을 사용합니다 [2단계](#step-2-create-the-sqs-source-in-panther).

### 4단계: EventBridge에서 룰 생성 또는 수정

#### 룰 생성

1. AWS에서 EventBridge로 이동합니다.
2. 다음으로 이동하세요. **Events > Rules** 를 클릭한 다음 **룰 생성**.
   1. 룰 세부 정보를 정의합니다.
      * 이름, 설명, 이벤트 버스 및 룰 유형을 입력합니다.
   2. 이벤트 패턴을 작성합니다.
      * 데이터의 소스를 선택하고 비교할 패턴을 지정합니다
   3. 대상 선택.
      * 일치된 데이터를 라우팅할 위치를 선택합니다
   4. 태그 구성(선택 사항).
      * 이 AWS 리소스에 레이블을 추가하도록 선택합니다
3. "검토 및 생성" 페이지에서 **룰 생성**.

#### 기존 룰 수정

1. AWS에서 **Events > Rules** 로 이동한 다음 수정하려는 룰을 클릭합니다.
2. 다음을 클릭합니다. **대상** 탭을 클릭한 다음 **편집**.
   1. 클릭 **다른 대상 추가**.
   2. 대상 유형으로 "AWS Service"를 사용하고, 대상으로 "SNS topic"을 선택한 다음, 이전 단계에서 Panther Managed SQS를 추가한 SNS 토픽을 선택합니다.
3. 클릭 **다음**, 클릭하세요 **다음**, 그런 다음 **룰 업데이트**.

이제 데이터 파이프라인이 완료되었으므로 Panther Console에 로그 이벤트가 도착하기 시작하며, 여기에서 Schema를 조정하고 알러트를 유발할 수 있는 디택션을 생성할 수 있습니다.

## 엔드투엔드 예시: EventBridge를 통해 GuardDuty 결과를 Panther로 전송

아래 단계는 EventBridge에서 사용할 필요한 AWS 리소스를 빠르게 구성하여 AWS GuardDuty 데이터에 대한 고급 모니터링을 수행할 수 있도록 돕기 위한 것입니다.

Panther에는 별도의 [S3 또는 SQS를 통한 GuardDuty 통합 문서가 있음을 참고하세요](/ko/data-onboarding/supported-logs/aws/guardduty.md) 를 대신 사용하세요.

<figure><img src="/files/7260d1da651ac7957f9e69270ed3a9d43406838e" alt="An Amazon EventBridge diagram"><figcaption></figcaption></figure>

### 데이터 파이프라인

아래 단계에서는 다음 데이터 파이프라인을 따라 진행합니다:

GuardDuty -> EventBridge -> AWS SNS Topic -> Panther SQS

### 1단계: Amazon SNS에서 토픽 생성

1. AWS 콘솔에 로그인한 다음 **Amazon SNS > Topics**로 이동합니다.  **토픽 생성**.
   * 이미 SNS 토픽을 생성한 경우 2단계로 건너뛰세요.
2. 세부 정보를 입력합니다:
   * **유형**: 선택 `표준`.
   * **이름**: `panther-eventbridge-guard-duty`
3. 클릭 **토픽 생성**.
4. ARN 값을 복사하여 안전한 위치에 저장하세요. 다음 단계에서 필요합니다.
   * ARN 예시: `arn:aws:sns:region:accountid:topic`

### 2단계: Panther에서 SQS 소스 생성

1. 다음을 따르세요 [SQS 로그 소스를 생성하는 Panther 문서](/ko/data-onboarding/data-transports/aws/sqs.md).
   1. 다음의 **Allowed Source ARNs** 필드에, 다음에서 생성한 SNS 토픽의 ARN을 입력합니다 [1단계](#step-1-create-a-topic-in-amazon-sns-1).
2. 클릭 **SQS Queue ARN** 를 클릭하여 SQS 큐의 ARN을 복사하세요. 다음 단계에서 필요하므로 안전한 위치에 저장하세요.

### 3단계: SQS 큐에 대한 SNS 토픽 구독 생성

* 다음을 따르세요 [SQS 큐에 대한 SNS 구독을 생성하는 Panther 지침](/ko/data-onboarding/data-transports/aws/sqs/sns.md#step-2-create-sns-subscription-to-sqs-queue).
  * 다음에서 생성한 토픽을 선택합니다 [1단계](#step-1-create-a-topic-in-amazon-sns-1).
  * 다음의 **프로토콜** 필드에 다음을 입력하세요 `Amazon SQS`.
  * 다음의 **엔드포인트** 필드에는 다음에서 생성한 SQS 큐의 ARN을 사용합니다 [2단계](#step-2-create-the-sqs-source-in-panther-1).

### 4단계: EventBridge에서 룰 생성

이 단계에서는 EventBridge를 통해 GuardDuty 결과를 Panther로 보내는 방법을 보여줍니다. 샘플 GuardDuty 결과를 생성하거나, 누군가 TOR에서 역할을 가정할 때 알러트하는 룰을 작성하는 옵션도 있습니다.

1. AWS 콘솔에서 GuardDuty로 이동하여 활성화되어 있는지 확인하세요.
2. EventBridge로 이동한 다음 **Events > Rules**.
3. 클릭 **룰 생성**.
4. 룰 세부 정보 섹션을 입력합니다:
   * **이름**: 설명적인 이름을 입력하세요.
   * **설명**: 설명을 입력합니다(예: `GuardDuty에서 이벤트를 필터링하여 Panther Managed SQS로 전송`)
   * **이벤트 버스**: 드롭다운 메뉴를 `기본`*.*
   * **선택한 이벤트 버스에서 룰 활성화**: 이 설정을 활성화하려면 토글을 클릭합니다.
   * **룰 유형**: 선택 `이벤트 패턴이 있는 룰`.\
     ![](/files/898d2f8ec2f6e8c7e63efc61212345ed42734e8c)
5. 클릭 **다음**.
6. "이벤트 패턴 작성" 페이지에서 다음을 입력합니다:
   * **이벤트 소스**: 선택 `AWS 이벤트 또는 EventBridge 파트너 이벤트`.
   * **이벤트 패턴**:
     * **이벤트 소스**: 선택 `AWS 서비스`.
     * **AWS Service**: 선택 `GuardDuty`.
     * **이벤트 유형**: 선택 `GuardDuty 결과`.\
       ![](/files/984c79abf097cbfc619b3b99a742e299322c4ce1)
7. 클릭 **다음**.
8. "대상 선택" 페이지에서 대상 1의 양식을 작성합니다:
   * **대상 유형**: 선택 `AWS 서비스`.
   * **대상을 선택합니다**: 선택 `SNS 토픽` 를 드롭다운 메뉴에서 선택합니다.
   * **토픽**: 1단계에서 생성한 토픽을 입력합니다 (`panther-eventbridge-guard-duty`).
   * "추가 설정"에서:
     * **대상 입력 구성**: 선택 `일치한 이벤트의 일부`.
     * **일치한 이벤트의 일부를 지정합니다**: 선택 `$.detail`
     * **재시도 정책**: 재시도 옵션은 기본값으로 둡니다.
     * **데드레터 큐**: 기본 옵션을 그대로 둡니다.
   * 여기에서 추가 대상을 더하거나 Panther를 한 겹 더 추가할 수 있는 기회가 있음을 참고하세요!\
     ![](/files/a8638318bf664b1482b20d631fd8ede94c325e40)
9. 클릭 **다음**.
10. 선택적으로 태그를 구성합니다.
11. 클릭 **다음**.
12. "검토 및 생성" 페이지에서 **룰 생성**.

이제 GuardDuty가 결과를 생성하면 해당 이벤트는 Panther로 라우팅되며, 여기에서 우리를 알러트하는 디택션을 작성할 수 있습니다.

### 샘플 결과 생성

GuardDuty에서 샘플 결과를 생성할 수 있으므로 이를 사용하여 엔드투엔드 테스트를 할 수 있습니다.

1. GuardDuty에서 **설정 > 샘플 결과**.
2. 클릭 **샘플 결과 생성** 을 테스트합니다.

누군가 TOR를 통해 AWS에 접근했는지 알고 싶을 때 Panther의 예시 룰은 다음과 같을 수 있습니다:

```python
from panther_base_helpers import deep_get

def 룰(event):
    return deep_get(event, 'detail', 'type') == 'Discovery:S3/TorIPCaller'

def title(event):
    return f"{event.get('detail-type')}: {deep_get(event, 'detail', 'type')} from principal id: {deep_get(event, 'detail', 'resource', 'accessKeyDetails', 'principalId')}"

def 알러트_context(event):
    return {
        "account": event.get('account'),
        "principalId": deep_get(event, 'detail', 'resource', 'accessKeyDetails', 'principalId'),
        "guardduty-finding-arn": deep_get(event, 'detail', 'arn')
    }
```

## 수집된 로그 보기

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


---

# 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/eventbridge.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.
