# Panther 시스템 아키텍처

## Panther 시스템 개요

<figure><img src="/files/72bdbe60a2209f318eca515d4f6e226fa89f3311" alt="A diagram with various box elements and arrows between boxes is shown. Boxes have names like, &#x22;Log Processing,&#x22; Cloud Security Scanning,&#x22; and &#x22;Alerting.&#x22;"><figcaption></figcaption></figure>

위의 다이어그램은 대략 왼쪽에서 오른쪽으로 흐르며, 다음 단계로 읽을 수 있습니다:

1. 원시 로그 데이터는 SaaS puller(예: [Okta](/ko/data-onboarding/supported-logs/okta.md)) 및 Data Transport 소스(예: [AWS S3](/ko/data-onboarding/data-transports/aws/s3.md))를 포함한 다양한 로그 소스에서 Panther로 유입됩니다. 이러한 원시 로그는 [Log Processing](#log-processing-subsystem) 하위 시스템에서 파싱, 필터링 및 정규화됩니다.
   * 의 출력은 [Log Processing](#log-processing-subsystem) 두 개의 하위 시스템으로 흐릅니다: [Data Lake](#data-lake-subsystem) 및 [디택션](#detection-subsystem).
2. 활성화된 경우, [Cloud Security Scanning](/ko/cloud-scanning.md) 은 온보딩된 클라우드 인프라를 스캔한 다음, 발견한 리소스를 [디택션](#detection-subsystem) 하위 시스템에서 파싱, 필터링 및 정규화됩니다.
3. The [Enrichment](#enrichment-subsystem) 하위 시스템은 데이터가 흐르는 경로에 추가 컨텍스트를 옵션으로 더하며, 이는 디택션 효율을 향상하는 데 사용할 수 있습니다(예: [디택션](#detection-subsystem) 하위 시스템으로 들어가는 데이터에 추가 컨텍스트를 옵션으로 더하며, 이는 디택션 효율을 향상하는 데 사용할 수 있습니다(예: [IPinfo](/ko/enrichment/ipinfo.md), [Okta 프로필](/ko/enrichment/okta.md)).
4. The [디택션](#detection-subsystem) 하위 시스템은 다음 입력에 디택션을 적용합니다:
   * 에서 [Log Processing](#log-processing-subsystem): 로그 이벤트
   * 에서 [예약 검색](/ko/search/scheduled-searches.md): 로그 이벤트
   * 에서 [Cloud Security Scanning](/ko/cloud-scanning.md): 인프라 리소스
5. The [AI](#ai-subsystem) 하위 시스템은 알러트 분류에 사용되며, 알러트가 생성될 때 자동으로 트리거되도록 구성할 수 있습니다. AI 서비스는 API와 다양한 [콘솔 UI 진입점](/ko/ai.md#where-to-use-panther-ai).
6. 을 통해 제공됩니다. 디택션이 알러트를 생성하면, 해당 알러트는 [알러트링](#alerting-subsystem) 하위 시스템으로 전송되어 적절한 알러트 [대상](/ko/alerts/destinations.md) (예: Slack, Jira, 웹훅 등)으로 배포됩니다. 하나의 알러트는 둘 이상의 대상로 라우팅될 수 있습니다.

다이어그램 하단에서 Control Plane은 위의 하위 시스템(데이터 플레인)을 구성하고 제어하는 횡단적 인프라를 나타냅니다. 이는 아래의 각 하위 시스템 설명에서 더 자세히 설명합니다. [API Server](#api-subsystem) 는 오른쪽 상단에 표시되어 있으며 Control Plane으로 들어가는 외부 진입점입니다.

### 일반 고려 사항

#### AWS

* 각 Panther 고객은 전용 AWS 계정에 배포된 Panther 인스턴스를 보유합니다.
  * 고객은 AWS 계정을 직접 소유하거나 Panther가 해당 계정을 관리하도록 선택할 수 있습니다.
  * 고객 간에는 어떠한 데이터도 공유되거나 접근 가능하지 않습니다.
  * AWS 계정은 애플리케이션의 권한 경계를 형성합니다.
  * 네트워킹이 필요한 서비스에는 단일 VPC가 사용됩니다.
* 처리는 AWS Lambda 및 Fargate 인스턴스를 통해 수행됩니다.
  * 독점적인 Control Plane이 비용을 최소화하기 위해 최적의 컴퓨트를 동적으로 선택합니다(아래 참조).
  * 컴퓨트 리소스는 서로 직접 통신하지 않으며, 대신 AWS 서비스를 통해 통신합니다. 즉, "east/west" 네트워크 트래픽은 없고, "north/south" 네트워크 트래픽만 있습니다
* The[ 최소 권한의 원칙](https://en.wikipedia.org/wiki/Principle_of_least_privilege) 은 각 인프라 구성 요소에 대해 최소 범위의 IAM 역할을 사용함으로써 준수됩니다.

#### Datalake

각 Panther 고객은 다음 중 하나를 보유합니다. [Snowflake](/ko/search/backend/snowflake.md) 또는 [Databricks](/ko/search/backend/databricks.md) 인스턴스.

Snowflake

* 전용 Snowflake 계정에 배포된 Panther Snowflake 인스턴스.
  * 고객은 Snowflake 계정을 직접 소유하거나 Panther가 계정을 관리하도록 선택할 수 있습니다.
  * 고객 간에는 어떠한 데이터도 공유되거나 접근 가능하지 않습니다.
* Snowflake 비밀은 RSA 키를 사용하여 AWS Secret Manager로 관리되며, 매일 회전됩니다.

Databricks

* 고객은 자체 Databricks 인스턴스를 보유해야 합니다.
  * 고객 간에는 어떠한 데이터도 공유되거나 접근 가능하지 않습니다.

#### 기타

* 모든 데이터는 전송 중 및 저장 시 암호화됩니다.
* 모든 외부 상호작용은 다음을 사용하여 수행됩니다. [API](#api-subsystem):
  * Panther Console은 API 서버와 연동하는 React 애플리케이션입니다.
  * 공개 API는 다음을 노출합니다. [GraphQL](/ko/panther/api/graphql.md) 및 [REST](/ko/panther/api/rest.md) 엔드포인트.
  * 모든 API 작업은 다음으로 기록됩니다. [Panther 감사 로그](/ko/data-onboarding/supported-logs/panther-audit-logs.md)이며, 이후 Panther의 로그 소스로 수집될 수 있습니다.
* 외부 통합과 관련된 비밀은 다음에서 관리됩니다. [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) KMS로 암호화된 필드를 사용하여.
* 시스템은 부하에 따라 자동으로 확장 및 축소됩니다.
* Panther 인프라는 다음에 의해 관리됩니다. [Pulumi](https://www.pulumi.com/).
  * 모든 인프라에는 태그가 지정되어 있으며(예: 리소스 이름, 하위 시스템), 이를 통해 효과적인 과금 분석이 가능합니다.
  * AWS 계정을 소유한 고객은 [자체 태그를 추가하여](/ko/system-configuration/panther-deployment-types/cloud-connected.md#custom-tags-on-aws-resources) 더 큰 조직의 과금 보고에 통합할 수 있습니다.
* 모니터링은 다음의 조합을 사용하여 수행됩니다. [CloudWatch](https://aws.amazon.com/cloudwatch/), [Sentry](https://sentry.io/)및 [Datadog](https://www.datadoghq.com/).

## API 하위 시스템

<figure><img src="/files/14351e59992c65e083dda2702df60cbf0f26619c" alt="A flow diagram has various components: API Client, API Services, Log Processing, Detection, and more. There are icons associated to each component, and arrows drawn between components. At the bottom, a Control Plane rectangle runs along the entire width."><figcaption></figcaption></figure>

The [Panther API](/ko/panther/api.md) 은 Panther와의 모든 외부 상호작용을 위한 진입점입니다. Console은 [GraphQL](/ko/panther/api/graphql.md)및 [REST](/ko/panther/api/rest.md) 클라이언트는 AWS ALB를 통해 연결합니다. 고객은 IP CIDR을 사용하여 ALB 접근을 위한 허용 목록을 선택적으로 구성할 수 있습니다.

API 인증은 AWS Cognito를 사용하여 수행됩니다. GraphQL 및 REST 클라이언트는 다음을 사용합니다. [토큰](/ko/panther/api.md#how-to-create-a-panther-api-token), 반면 Panther Console은 다음을 사용합니다. [JWT](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html) 는 AWS Cognito에서 관리됩니다. Console은 다음을 지원합니다. [Single Sign-On(SSO)](/ko/system-configuration/saml.md) 를 AWS Cognito를 통해 지원합니다.

요청을 처리하는 내부 API 서버가 있습니다. 일부 요청은 API 서버 내에서 완전히 처리되며, 다른 요청은 AWS Lambda 함수로 구현된 하나 이상의 내부 서비스 호출이 필요합니다.

## 로그 처리 하위 시스템

<figure><img src="/files/5370f877c9bba7acd6e77e2721f911865262be58" alt="A flow diagram has various components: Log Processing, Log Events, Event Sampling, and more. There are icons associated to each component, and arrows drawn between components. At the bottom, a Control Plane rectangle runs along the entire width."><figcaption></figcaption></figure>

이 하위 시스템에 입력되는 모든 데이터는 AWS S3와 S3 알림을 통해 전달됩니다. S3 기반이 아닌 상류 소스(예: SaaS puller, [HTTP Source](/ko/data-onboarding/data-transports/http.md), [Google Cloud Storage Source](/ko/data-onboarding/data-transports/google/cloud-storage.md))는 [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) 를 사용하여 이벤트를 S3 객체로 집계합니다. 이러한 알림은 마스터 [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 토픽. Log Processing 및 Event Sampling 워크플로는 각각 이 SNS 토픽을 구독합니다.

Log Processing 컴퓨팅은 AWS Lambda와 Fargate로 구현됩니다.

{% hint style="info" %}
동적 컴퓨팅 비용 최적화

Panther는 컴퓨팅 선택, 집계 및 스케일링을 조정하는 효율적인 독자적 컨트롤 플레인을 사용합니다.

트래픽이 증가하면 추가 컴퓨팅이 필요합니다. Panther의 컨트롤 플레인은 트래픽에 맞게 확장되며, 이는 사용되는 컴퓨팅 인스턴스 수를 최소화하여 데이터 집계를 최대화하고 비용을 최소화함을 의미합니다.

Lambda는 낮은 지연 시간 덕분에 트래픽 변동을 빠르게 따라갈 수 있어, 버스트성 및 저부하 트래픽에 비용 효율적이므로 Panther의 핵심 컴퓨팅으로 사용됩니다. 그러나 Lambda의 단위 시간당 비용은 다른 컴퓨팅 옵션보다 높습니다. 지속적이고 예측 가능한 트래픽의 경우 Lambda는 다른 컴퓨팅 옵션만큼 비용 효율적이지 않습니다. 그렇기 때문에 컨트롤 플레인이 안정적인 고트래픽을 감지하면 비용을 최소화하기 위해 Lambda 대신 Fargate(Fargate Spot, 사용 가능 시)가 사용됩니다.
{% endhint %}

수신된 각 알림에 대해 다음 단계가 수행됩니다:

1. S3 객체와 연결된 통합 소스는 DynamoDB에서 조회되며, 읽기를 위해 연결된 역할이 가정됩니다.
2. 데이터는 S3에서 읽힙니다.
3. 각 이벤트는 연결된 [스키마](/ko/data-onboarding/custom-log-types/reference.md) 에 따라 구문 분석됩니다.
   * 분류 또는 구문 분석 오류가 발생하면, [시스템 오류](/ko/system-configuration/notifications/system-errors.md) 가 생성되고 관련된 "bad" 데이터는 Data Lake 내의 `classification_failures` 테이블에 저장됩니다.
4. [Ingestion filters](/ko/data-onboarding/ingestion-filters.md) 및 [변환이](/ko/data-onboarding/custom-log-types/transformations.md) 적용됩니다.
5. [Indicator fields](/ko/search/panther-fields.md#indicator-fields) (`p_any` 필드)가 추출되고, [표준 필드](/ko/search/panther-fields.md) 가 삽입됩니다.
6. 처리된 이벤트는 S3 객체로 기록되고 내부 SNS 토픽으로 알림이 전송되며, [Data Lake](#data-lake-subsystem) 및 [디택션](#detection-subsystem) 해당 토픽은 서브시스템들이 구독합니다.

선택적으로 [이벤트 임계값 알러트](/ko/data-onboarding.md#configuring-event-threshold-alarms) 를 각 온보딩된 로그 소스에 대해 구성하여 트래픽이 예기치 않게 중단되면 알러트가 발생하도록 할 수 있습니다.

{% hint style="info" %}
S3 알림은 Event Sampling 서브시스템으로도 라우팅되며, 이는 [로그 스키마 필드 탐색](/ko/data-onboarding/custom-log-types.md#enabling-field-discovery)에 사용됩니다. 데이터에서 새 속성이 발견되면 이를 분석하여 스키마(및 관련 Data Lake 테이블)에 자동으로 추가합니다.
{% endhint %}

## Enrichment 서브시스템

<figure><img src="/files/0a814d9f3834f36821dac4752e6838dc0270b73a" alt="A flow diagram has various components: Customer Data Provider, Lookup Table Processor, Detections, and more. There are icons associated to each component, and arrows drawn between components. At the bottom, a Control Plane rectangle runs along the entire width."><figcaption></figcaption></figure>

[Enrichment](/ko/enrichment.md) 은 Panther에서 Lookup Tables(LUTs)를 통해 구현됩니다. LUT는 고유한 기본 키와 관련된 데이터를 포함하는 테이블입니다. LUT는 또한 스키마에서 기본 키로의 매핑을 가지며, 이를 통해 [디택션](#detection-subsystem) 서브시스템에서 자동 보강이 가능합니다. 디텍션은 함수 호출 인터페이스를 사용하여 데이터 조회를 수행할 수도 있습니다.

[IPinfo](/ko/enrichment/ipinfo.md)은(는) 지리 위치 데이터를 포함하는 Panther 관리형 보강 제공자입니다. 로그 이벤트의 IP 주소는 위치, ASN 및 개인정보 정보로 자동 보강됩니다. 고객은 또한 자체적인 [사용자 지정 LUT](/ko/enrichment/custom.md) 를 만들어 비즈니스 및 보안 우려와 관련된 맥락을 추가할 수 있습니다.

LUT는 Panther Console 또는 CLI 워크플로(YAML 사양 파일 사용)를 통해 생성됩니다. LUT 데이터는 여러 방식으로 Panther에서 접근 가능하도록 만들 수 있습니다: Console에 업로드, CLI 구성에 파일로 포함, 또는 S3 객체로 저장. 일반적으로 LUT 데이터를 관리하는 가장 유용한 방법은 S3 객체 참조로 관리하는 것입니다. 자신의 계정에 S3 객체를 생성할 수 있으며, Panther가 변경 사항을 폴링합니다.

LUT와 관련된 메타데이터는 DynamoDB에 저장됩니다. 새 데이터가 있으면 Lookup Table Processor는 메타데이터에서 지정된 역할을 가정하고 S3 데이터를 처리합니다. 이로 인해 두 가지 출력이 생성됩니다: EFS의 실시간 데이터베이스는 [디택션](#detection-subsystem) 서브시스템에서 사용되며, 그리고 [Data Lake](#data-lake-subsystem)의 테이블이 생성됩니다. Data Lake의 테이블은 [예약 검색](/ko/search/scheduled-searches.md) 이(가) 조인을 사용해 이벤트를 보강하는 데 사용할 수 있습니다.

## 디텍션 서브시스템

<figure><img src="/files/2388ac0c008d35c5af059a6f8d937a4d5c2bde1d" alt="A flow diagram has various components: Log Processing, Cloud Security Scanning, Streaming, Scheduled, and more. There are icons associated to each component, and arrows drawn between components. At the bottom, a Control Plane rectangle runs along the entire width."><figcaption></figcaption></figure>

스트리밍 디텍션 프로세서는 Python 기반 디텍션이 [Log Processing](#log-processing-subsystem) 및 [예약 검색](/ko/search/scheduled-searches.md)의 로그 이벤트뿐 아니라 [Cloud Security Scanning](/ko/cloud-scanning.md)의 리소스에서도 실행되도록 합니다. 스트리밍 디텍션 프로세서는 Python의 고속 실행에 최적화된 AWS Lambda 함수(또는 Fargate 인스턴스)로 실행됩니다. (그러나 이 프로세서는 단순한 Python Lambda는 아닙니다. Panther 인프라의 초기 반복에서는 그랬지만, 수년간의 경험을 통해 단순한 Python Lambda 구현은 효율적이지도 비용 효율적이지도 않다는 것을 알게 되었습니다.)

스트리밍 디텍션 프로세서는 다음 유형의 디텍션을 평가합니다:

* [스트리밍 디텍션](https://docs.panther.com/detections/rules) (rules): 하나 이상의 로그 스키마를 대상으로 함(또는 `로그 유형`)
* [예약된 탐지](https://docs.panther.com/detections/rules) (예약 규칙): 하나 이상의 출력에 대해 대상 지정 [예약 검색](/ko/search/scheduled-searches.md)
* [정책 탐지](/ko/detections/policies.md): 리소스를 대상으로 함

이러한 소스의 데이터 처리는 다음 단계에 따릅니다:

1. 활성 조회 테이블마다 일치 항목은 모두 다음에 적용됩니다 `p_enrichment` 필드에 적용되어 정보가 탐지에 사용 가능하도록 합니다.
2. 주어진 것과 관련된 모든 탐지 `LogType`, 클라우드 리소스 또는 Scheduled Search가 발견됩니다.
3. 각 디택션의 `룰()` 함수는 이벤트/리소스에서 실행됩니다. 반환값이 `True`이면 다른 선택적 함수들이 실행되고, 알러트가 [알러트링](#alerting-subsystem) 서브시스템으로 전송됩니다. 룰과 예약 룰의 경우, 알러트는 디택션의 첫 번째 디택션에 대해서만 전송됩니다. [중복 제거 윈도우](/ko/detections/rules.md#deduplication-of-alerts).
4. 디택션과 관련된 이벤트는 S3 객체에 기록되고 S3 알림이 내부 SNS 토픽으로 전송됩니다.
   * The [Data Lake](#data-lake-subsystem) 서브시스템은 데이터 수집을 위해 SNS 토픽을 구독하여 룰 매치와 [시그널](/ko/detections/signals.md) 테이블.

하나의 [예약 검색](/ko/search/scheduled-searches.md) 이 실행을 마치면, 스트리밍 디택션 프로세서 Lambda가 쿼리 결과에 대한 참조와 함께 호출됩니다. 결과를 읽고 각 이벤트는 위의 단계에 따라 처리됩니다.

[데이터 리플레이](/ko/detections/testing/data-replay.md) 를 통해 과거 데이터에 대한 디택션 테스트를 수행할 수 있습니다. 이는 실시간 인프라와 독립적인 인프라의 "미러" 집합을 통해 구현됩니다.

## 데이터 레이크 하위 시스템

<figure><img src="/files/0a45530543344f4842b285057deb14c48b00f82c" alt="A flow diagram has various components: Database API, Query Execution History, AWS Secrets Manager, Security Data Lake, and more. There are icons associated to each component, and arrows drawn between components. At the bottom, a Control Plane rectangle runs along the entire width."><figcaption></figcaption></figure>

Panther 고객은 다음 중 하나를 사용할 수 있습니다 [Snowflake](/ko/search/backend/snowflake.md) 또는 [Databricks](/ko/search/backend/databricks.md) 를 보안 데이터 레이크로.

#### Snowflake

Panther는 다음을 사용합니다 [Snowflake Snowpipe 서비스](https://docs.snowflake.com/en/user-guide/data-load-snowpipe-intro) Snowflake로 데이터를 수집하는 데 사용됩니다. 이 서비스는 AWS IAM 권한을 사용하므로, 쿼리 및 관리용으로 구성된 Snowflake 사용자에 의존하지 않습니다. Panther에서 새로운 데이터 소스를 온보딩하면 Admin 데이터베이스 API Lambda를 사용하여 관련 테이블과 Snowpipe 인프라가 생성됩니다. 이 Lambda에는 다음과 같은 권한을 가진 관련 사용자가 있습니다. `읽기/쓰기` Panther 데이터베이스와 스키마에 대한 권한. 이 Lambda를 호출하기 위한 외부에서의 직접 연결은 없으며, 대신 이 Lambda는 내부 Control Plane에 의해 구동됩니다.

테이블은 `p_event_time` 을 클러스터 키로 사용합니다.

Snowflake 비밀 정보는 [AWS Secrets Manger](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html). [에 저장되며 RSA 비밀 정보가 사용되고 매일 교체됩니다.](https://docs.snowflake.com/en/user-guide/key-pair-auth).

#### Databricks

Panther에는 로드할 파일에 대한 S3 알림을 내부 SNS 토픽에서 수신하는 로더 프로세스가 있습니다. 로더 프로세스는 모든 테이블을 관리하며 다음을 사용하여 S3 파일을 대량 로드합니다. `COPY INTO` 명령.

테이블은 [액체 클러스터링](https://docs.databricks.com/aws/en/delta/clustering) 에서 `p_event_time` 열.

[Databricks OAuth ](https://docs.databricks.com/aws/en/dev-tools/auth/oauth-u2m#automatic-authorization-with-unified-authentication)자격 증명은 다음에 저장됩니다 [AWS Secrets Manger](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 고객의 Databricks AWS 계정 내에 있습니다.

#### 쿼리

쿼리는 다음을 사용하여 실행됩니다 `읽기 전용` 데이터베이스 API Lambda. 이 Lambda에는 다음 권한을 가진 연결된 사용자가 있습니다 `읽기 전용` 권한.

쿼리는 비동기식입니다. 쿼리 실행을 위한 API 요청이 이루어지면, 연결된 SQL이 Datalake에서 실행되고 `queryId`를 반환합니다. 그런 다음 API 호출이 `queryId` 와 함께 이루어져 상태를 확인하고 연결된 결과를 읽습니다. 쿼리 실행 상태는 DynamoDB에서 추적됩니다.

쿼리 결과는 30일 동안 EFS에 저장됩니다(이 기간은 구성 가능함). 고객은 [검색 기록](/ko/search/search-history.md) 을(를) Panther에서 사용하여 과거 검색 결과를 볼 수 있습니다.

[예약 검색](/ko/search/scheduled-searches.md) 에서 사용되는 [디택션](#detection-subsystem) 는 AWS Step Function을 통해 실행됩니다. 쿼리 실행이 완료되면, 추가 처리를 위해 쿼리 결과에 대한 참조와 함께 스트리밍 디택션 프로세서가 호출됩니다.

다음이 [로그 유형별 RBAC](/ko/system-configuration/rbac.md#rbac-per-log-type-1) (현재 Snowflake에서만 지원됨) 활성화되면, 역할별로 고유한 관리형 읽기 전용 사용자가 있습니다.

## 알러팅 서브시스템

<figure><img src="/files/c0ac3945eb601002e438106b87b024899cac225d" alt="A flow diagram has various components: Detection, Database, Alert Dispatch, Alert &#x22;Storm&#x22; Limiter, and more. There are icons associated to each component, and arrows drawn between components. At the bottom, a Control Plane rectangle runs along the entire width."><figcaption></figcaption></figure>

The [디택션](#detection) 서브시스템은 알러트를 DynamoDB 테이블에 삽입하며, 알러트 디스패치 Lambda는 스트림에서 이를 수신합니다. 이 Lambda는 [구성된 통합](/ko/alerts/destinations.md) 을(를) 사용하여 대상에 알러트를 보냅니다.

Panther Console에 알러트를 표시하기 위해, 핵심 알러트 데이터는 DynamoDB에서 가져오고 알러트와 연결된 이벤트는 Data Lake에서 가져옵니다.

The [알러트 제한 기능](/ko/alerts.md#limiting-alerts) 은(는) (아마도) 잘못 구성된 디택션으로 인해 발생하는 "알러트 폭주"가 대상 시스템에 과부하를 주는 것을 방지하기 위한 것입니다. 동일한 디택션에서 1시간 내에 1000개가 넘는 알러트가 생성되면, 알러트는 억제됩니다. (이 제한은 구성 가능합니다.) 제한에 도달하면 디택션은 계속 실행되고 이벤트를 Data Lake에 저장하므로(즉, 데이터 손실은 없음), 알러트는 생성되지 않습니다. 이 경우, [시스템 오류](/ko/system-configuration/notifications/system-errors.md) 이 생성되어 고객에게 알리며, 고객은 Console에서 수동으로 알러트 억제를 해제할 수 있습니다(아마도 일부 디택션 튜닝 후).

Jira와 Slack에는 알러트 상태를 동기화하기 위해 Panther로 "콜백"하는 특수 인증 엔드포인트가 있습니다(예: 알러트 상태를 다음으로 업데이트 `해결됨`).

## AI 서브시스템

<figure><img src="/files/7711a4d4888bbac384b999cc5820bbd646871a22" alt="An icon that looks like half a brain and half of a computer network is surrounded by &#x22;AI&#x22; and &#x22;AWS Bedrock.&#x22;"><figcaption></figcaption></figure>

The [Panther AI](/ko/ai.md) 서브시스템은 아키텍처적으로 복잡하지 않습니다. 다음으로 구성됩니다:

* 서버: 요청을 수신하고 응답 및 영속성을 오케스트레이션합니다
  * 진입점과 컨텍스트에 따라 시스템 프롬프트를 동적으로 생성합니다
  * 할당량과 권한을 적용합니다
  * 와 인터페이스합니다 [Amazon Bedrock](https://aws.amazon.com/bedrock/) API
  * 오케스트레이션합니다 [도구](/ko/ai.md#tools) 사용(이는 내부 Panther API를 호출하는 것으로 구성됨)
  * 에 응답을 영속적으로 저장하는 것을 관리합니다 [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)
* [Amazon Bedrock](https://aws.amazon.com/bedrock/): 서버는 모든 AI 추론을 위해 Bedrock과 통신합니다
* [Amazon DynamoDB](https://aws.amazon.com/dynamodb/): AI 응답의 영속적 저장에 사용됩니다
  * 응답은 명시적으로 [저장됨](/ko/ai/managing-ai-response-history.md#saving-an-ai-response)

### Panther AI 워크플로

[Panther AI](/ko/ai.md) 는 인간 Panther 사용자에게 제공되는 많은 서비스를 [도구](/ko/ai.md#tools)로 노출합니다. Panther AI는 필요에 따라(즉, 컨텍스트와 작업에 따라) 도구를 사용하므로, 워크플로는 종종 가변적입니다. 아래에는 일반적인 [알러트 트리아지](/ko/alerts.md#panther-ai-alert-triage) 워크플로가 설명되어 있습니다.

<figure><img src="/files/a2d584dbe8917d565a487cfde25d6b438012a36e" alt="A diagram with many boxes and arrows is shown. A blue box near the center of the diagram reads, &#x22;AI Processes with specialized alert triage prompts &#x26; tools.&#x22;"><figcaption></figcaption></figure>

### FAQ: Panther AI 아키텍처 및 보안

<details>

<summary>Panther는 고객 데이터를 사용하여 AI를 학습시키나요?</summary>

아니요, Panther는 고객 데이터를 사용하여 AI를 학습시키지 않습니다. Panther AI는 오직 [Amazon Bedrock 파운데이션 모델](https://docs.aws.amazon.com/bedrock/latest/userguide/foundation-models-reference.html).

</details>

<details>

<summary>Panther AI는 어떤 파운데이션 모델을 사용하나요?</summary>

Panther AI는 [Anthropic Claude](https://www.anthropic.com/claude) 모델을 사용합니다.

</details>

<details>

<summary>AI 응답은 어떻게 저장되고 보호되나요?</summary>

AI 응답은 [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)에 Panther 고객 계정 내에 저장됩니다. 응답은 명시적으로 [저장됨](/ko/ai/managing-ai-response-history.md#saving-an-ai-response).

모든 AI 추론은 호출한 사용자의 신원 및 권한으로 실행됩니다. 이는 Panther AI가 사용자가 Console이나 API를 통해 직접 수행할 수 없는 데이터에 접근하거나, 리소스를 수정하거나, 작업을 수행할 수 없음을 의미합니다.

Panther AI는 [로그 유형 접근 제한](/ko/system-configuration/rbac.md#how-to-restrict-log-types-for-a-certain-role)을(를) 적용합니다(현재 사용자의 역할에 대해 설정된 경우). 이는 다음을 의미합니다:

* 알러트에 대한 응답은 사용자의 알러트 권한에 따라 접근이 제한됩니다.
* 검색 결과에 대한 응답은 사용자의 데이터 레이크 권한에 따라 접근이 제한됩니다.

AI 대화의 기본 가시성은 진입점에 따라 달라집니다 — Panther AI 페이지의 대화는 기본적으로 비공개이며(프라이버시 제어가 활성화된 경우), 알러트 트리아지 및 기타 진입점은 기본적으로 공유됩니다. 사용자는 언제든지 모든 대화를 공유와 비공개 사이에서 전환할 수 있습니다.  **비공개 AI 응답 보기** 권한이 있는 다른 사용자도 여전히 비공개 대화를 볼 수 있습니다.

</details>

<details>

<summary>Panther AI에는 가드레일이 있나요?</summary>

Panther AI에는 다음과 같은 비용 안전 제어 할당량이 있습니다(요청 시 변경 가능):

* 시간당 추론 수(기본값은 100)
* 시간당 실행되는 데이터 레이크 쿼리 수(기본값은 100)

추가로, [Cloud Connected](/ko/system-configuration/panther-deployment-types/cloud-connected.md) 고객은 [Amazon Bedrock Guard Rails](https://aws.amazon.com/bedrock/guardrails/).

을 구현할 수 있습니다. Panther는 또한 [CloudTrail 디택션](https://github.com/panther-labs/panther-analysis/blob/develop/rules/aws_cloudtrail_rules/aws_bedrock_guardrail_update_delete.py) 을 제공하여 Amazon Bedrock을 모니터링합니다.

</details>

<details>

<summary>Panther에는 모든 AI 추론 및 도구 호출에 대한 감사 로그가 있나요?</summary>

예, 각 추론과 관련 도구 호출은 [Panther 감사 로그](/ko/data-onboarding/supported-logs/panther-audit-logs.md)에 기록되며, 이는 데이터 레이크에서 사용할 수 있습니다. 메타데이터만 기록되며 민감한 데이터는 기록되지 않습니다.

</details>

<details>

<summary>Panther AI를 API 호출로 사용할 수 있나요?</summary>

예, [Cloud Connected](/ko/system-configuration/panther-deployment-types/cloud-connected.md) 고객 및 [SaaS](/ko/system-configuration/panther-deployment-types/saas.md) "패스스루 청구"를 사용하는 고객은 AI API 작업을 사용할 수 있습니다. API를 통해 호출되면 Panther AI는 요청을 인증하는 데 사용된 API 토큰의 권한으로 실행됩니다 — [도구](/ko/ai.md#tools) 사용, 데이터 레이크 쿼리 및 기타 모든 작업은 토큰에 연결된 권한을 따릅니다.

</details>

<details>

<summary>Panther가 생성한 오류나 운영 로그(예: CloudWatch 또는 Datadog)에 AI 콘텐츠가 포함되나요?</summary>

아니요, AI 콘텐츠는 Panther 오류나 운영 로그에 기록되지 않으며 메타데이터만 기록됩니다.

</details>


---

# 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/resources/panther-architecture.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.
