> 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

## 개요

[아마존 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 계정과는 별도의 AWS 계정에 모든 로그 소스 인프라를 생성하세요.
{% endhint %}

### 지원되는 대상

EventBridge는 많은 [대상](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 Console에 로그인한 후 **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).
   * 다음의 **허용된 소스 ARN** 필드에, 1단계에서 생성한 SNS 토픽의 ARN을 입력하세요. [1단계](#step-1-create-a-topic-in-amazon-sns).
2. 다음을 클릭합니다: **SQS 큐 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단계에서 생성한 토픽을 선택하세요. [1단계](#step-1-create-a-topic-in-amazon-sns).
  * 다음의 **프로토콜** 필드에 다음을 입력합니다 `Amazon SQS`.
  * 다음의 **엔드포인트** 필드에는 2단계에서 생성한 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. "Review and Create" 페이지에서, 클릭하세요. **룰 생성**.

#### 기존 룰 수정

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

이제 데이터 파이프라인이 완료되었으므로, Panther Console에서 로그 이벤트가 도착하는 것을 보게 되며, 여기서 스키마를 조정하고 알러트를 트리거할 수 있는 디택션을 생성할 수 있습니다.

## 엔드 투 엔드 예시: EventBridge를 통해 GuardDuty 조사 결과를 Panther로 보내기

아래 단계는 고급 모니터링을 위해 EventBridge 내에서 사용할 수 있도록 필요한 AWS 리소스를 빠르게 구성하는 데 도움이 되도록 구성되어 있습니다.

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 Console에 로그인한 후 **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. 다음의 **허용된 소스 ARN** 필드에, 1단계에서 생성한 SNS 토픽의 ARN을 입력하세요. [1단계](#step-1-create-a-topic-in-amazon-sns-1).
2. 다음을 클릭합니다: **SQS 큐 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단계에서 생성한 토픽을 선택하세요. [1단계](#step-1-create-a-topic-in-amazon-sns-1).
  * 다음의 **프로토콜** 필드에 다음을 입력합니다 `Amazon SQS`.
  * 다음의 **엔드포인트** 필드에는 2단계에서 생성한 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 서비스**: 다음을 선택합니다: `GuardDuty`.
     * **이벤트 유형**: 다음을 선택합니다: `GuardDuty Finding`.\
       ![](/files/984c79abf097cbfc619b3b99a742e299322c4ce1)
7. 다음을 클릭합니다: **다음**.
8. "대상 선택" 페이지에서 Target 1의 양식을 채우세요:
   * **대상 유형**: 다음을 선택합니다: `AWS 서비스`.
   * **대상을 선택하세요**: 다음을 선택합니다: `SNS 주제` 드롭다운 메뉴에서.
   * **토픽**: 1단계에서 생성한 토픽을 입력하세요 (`panther-eventbridge-guard-duty`).
   * "추가 설정" 아래에서:
     * **대상 입력 구성**: 다음을 선택합니다: `일치한 이벤트의 일부`.
     * **일치한 이벤트의 일부를 지정하세요**: 다음을 선택합니다: `$.detail`
     * **재시도 정책**: 재시도 옵션의 기본값을 유지하세요.
     * **데드레터 큐**: 기본 옵션을 유지하세요.
   * 여기서 추가 대상을 더하거나 Panther를 한 겹 더 추가할 기회가 있다는 점에 유의하세요!\
     ![](/files/a8638318bf664b1482b20d631fd8ede94c325e40)
9. 다음을 클릭합니다: **다음**.
10. 선택적으로 태그를 구성하세요.
11. 다음을 클릭합니다: **다음**.
12. "Review and Create" 페이지에서, 클릭하세요. **룰 생성**.

이제 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.
