> 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/detections/correlation-rules/correlation-rule-reference.md).

# 상관 룰 참조

## 개요

{% hint style="info" %}
상관관계 룰은 Panther 버전 1.108부터 오픈 베타이며, 모든 고객에게 제공됩니다. 버그 보고와 기능 요청은 Panther 지원팀과 공유해 주세요.
{% endhint %}

상관관계 룰은 로컬에서, CLI 워크플로에서, 또는 Panther Console의 코드 편집기에서 YAML로 작성할 수 있습니다. 상관관계 룰을 만드는 방법은 다음에서 확인하세요: [상관 규칙](/ko/detections/correlation-rules.md#how-to-create-a-correlation-rule).

## 상관관계 룰 구문

각 상관관계 룰은 최상위 수준에서 다음 필드로 구성될 수 있습니다:

* 디택션 키

  ```yaml
  디택션: 
  ```
* 메타데이터 키

  ```yaml
  AnalysisType: correlation_룰
  알러트 생성:
  활성화: 
  룰 ID:
  생성자: 
  보고서: 
  태그: 
  테스트: 
  ```
* 알러트 키(정적)

  ```yaml
  심각도:
  설명:
  표시 이름:
  출력 ID:
  참조:
  런북:
  요약 속성: 
  ```

각 키의 필수/선택 여부를 포함한 자세한 내용은 아래의 [상관관계 룰 최상위 필드 참조에서 확인하세요.](#correlation-rule-top-level-fields).

### 상관관계 룰 작성 팁

* 사용 [앵커와 별칭](https://medium.com/@kinghuang/docker-compose-anchors-aliases-extensions-a1e4105d70bd). 앵커는 다음으로 정의됩니다: `&` ,를 사용하면 YAML의 항목을 식별할 수 있습니다. 해당 항목은 나중에 다음으로 정의된 별칭으로 참조할 수 있습니다: `*`.
  * 예: `&failed_login` (앵커)와 `*failed_login` (별칭)
  * 다음 안에서는 앵커와 별칭을 사용하지 마세요: `테스트`. 그렇게 하면 [오류](/ko/detections/correlation-rules.md#correlation-rule-errors).

## 상관관계 룰 최상위 필드

아래 표에는 YAML 디택션에 사용할 수 있는 모든 키가 나와 있습니다. 필수 필드는 **굵게**.

<table data-header-hidden data-full-width="false"><thead><tr><th width="183">필드 이름</th><th width="330">설명</th><th width="373.5081967213115">예상 값</th></tr></thead><tbody><tr><td>필드 이름</td><td>설명</td><td>예상 값</td></tr><tr><td><strong><code>분석 유형</code></strong></td><td>이 분석이 룰, scheduled_룰, 정책, 상관관계 룰 또는 global인지 나타냅니다</td><td><code>상관관계 룰</code></td></tr><tr><td><strong><code>사용</code></strong></td><td>이 상관관계 룰이 활성화되어 있는지 여부</td><td>불리언</td></tr><tr><td><strong><code>룰 ID</code></strong></td><td>룰의 고유 식별자</td><td>문자열</td></tr><tr><td><strong><code>심각도</code></strong></td><td>어떤 <a href="/pages/03a99462193d3cb6f09cb46a6d9fa32a7a6035d0#alert-severity">severity</a> 연결된 알러트가 가져야 하는</td><td>다음 문자열 중 하나: <code>정보</code>, <code>낮음</code>, <code>보통</code>, <code>높음</code>, 또는 <code>치명적</code></td></tr><tr><td><a href="#detection-fields"><strong><code>디택션</code></strong></a></td><td>시퀀스 또는 그룹을 포함한 상관관계 룰 정의</td><td>다음을 참조하세요: <a href="#detection-fields">디택션 필드</a></td></tr><tr><td><code>알러트 생성</code></td><td>상관관계 룰이 알러트를 생성할지 여부(기본값: true)</td><td>불리언</td></tr><tr><td><code>설명</code></td><td>룰에 대한 간단한 설명</td><td>문자열</td></tr><tr><td><code>표시 이름</code></td><td>Panther Console 및 알러트에 표시할 사용자 친화적인 이름입니다. 이 <code>룰 ID</code> 필드가 설정되지 않으면 표시됩니다.</td><td>문자열</td></tr><tr><td><code>출력 ID</code></td><td>정적 대상지 재정의입니다. 이 값은 이 룰의 알러트가 어떻게 라우팅될지 결정하는 데 사용되며, 심각도에 따른 기본 라우팅보다 우선합니다.</td><td>문자열 목록</td></tr><tr><td><code>참조</code></td><td>이 룰이 존재하는 이유이며, 보통 문서 링크입니다</td><td>문자열</td></tr><tr><td><code>보고서</code></td><td>이 룰이 해당 프레임워크에 대해 다루는 프레임워크 또는 보고서 이름과 값의 매핑</td><td>문자열에서 문자열 목록으로의 맵</td></tr><tr><td><code>런북</code></td><td>이 룰이 알러트를 반환하면 수행할 작업입니다. 설명적인 런북을 제공하는 것이 권장됩니다. 왜냐하면 <a href="/pages/6e9f85a6a2f1c7f2fb9c3093e77d535eff45c9f4#panther-ai-alert-triage">Panther AI 알러트 트리아지</a> 에서 이를 고려하기 때문입니다.</td><td>문자열</td></tr><tr><td><code>요약 속성</code></td><td>알러트가 요약해야 하는 필드 목록입니다.</td><td>문자열 목록</td></tr><tr><td><code>태그</code></td><td>이 룰을 분류하는 데 사용하는 태그</td><td>문자열 목록</td></tr><tr><td><a href="#tests-fields"><code>테스트</code></a></td><td>이 디택션에 대한 단위 테스트를 정의합니다.</td><td>다음을 참조하세요: <a href="#tests-fields">테스트 필드</a></td></tr><tr><td><code>작성자</code></td><td>이 디택션의 작성자입니다. Panther 사용자 UUID, 이메일 주소 또는 임의의 텍스트 값으로 설정할 수 있습니다. 자세한 내용은 <a href="/pages/5f0ed921cfc97d649f3af6d2a4a6b7d06f7759cc#the-createdby-detection-field">해당 <code>작성자</code> 디택션 필드</a>.</td><td>문자열</td></tr></tbody></table>

## `디택션` 필드

<table data-full-width="false"><thead><tr><th width="178">이름</th><th width="73">유형</th><th width="246">검증</th><th width="262">설명</th></tr></thead><tbody><tr><td><a href="#schedule-fields"><strong><code>일정</code></strong></a></td><td>객체</td><td>해당 없음</td><td>상관관계 룰의 스케줄</td></tr><tr><td><code>EventEvaluationOrder</code></td><td>문자열</td><td><p>허용되는 값:</p><ul><li><code>시간 순</code> (기본값)</li><li><code>역시간 순</code></li></ul></td><td><br>만약 <code>시간 순</code>, 이벤트는 가장 오래된 것부터 최신 것 순으로 분석됩니다.<br>만약 <code>역시간 순</code>, 이벤트는 최신 것부터 가장 오래된 것 순으로 분석됩니다.</td></tr><tr><td><code>룩백 윈도우 분</code></td><td>스칼라</td><td><p><code>15</code> ≤ x ≤ <code>21600</code> (15일)</p><p>기본값: <code>15</code></p></td><td>그룹 또는 시퀀스를 평가하기 위해 상관관계 룰이 과거로 얼마나 많은 분을 조회해야 하는지 나타냅니다. <a href="/pages/1921931f8b7ad9c4385fc0004749bf5ba1c40f67#setting-the-schedule-and-lookback-window">자세한 내용: <code>룩백 윈도우 분</code> 상관관계 룰에서</a></td></tr><tr><td><a href="#group-and-sequence-fields-rule-references"><strong><code>그룹</code></strong></a></td><td>목록</td><td><p><code>2</code> ≤ x ≤ <code>50</code><br></p><p>다음 중 하나만 <code>그룹</code> 또는 <code>시퀀스</code> 필요/허용됩니다</p></td><td>다음의 목록 <a href="#group-and-sequence-fields-rule-references">룰 참조</a> 그룹을 정의하는<br><br><a href="/pages/1921931f8b7ad9c4385fc0004749bf5ba1c40f67#group-correlation-rules">상관관계 룰의 그룹에 대해 자세히 알아보기</a></td></tr><tr><td><code>MinMatchCount</code></td><td>스칼라</td><td><p>다음이 있는 경우에만 사용할 수 있습니다: <code>그룹</code> 이 존재할 때</p><p><code>2</code> ≤ x &#x3C; 다음의 룰 개수 <code>그룹</code></p><p>다음의 룰 개수가 다음일 때 사용할 수 없습니다: <code>그룹</code> 같음 <code>2</code> 또는 ><code>8</code>.</p><p>다음의 룰이 하나라도 포함되면 사용할 수 없습니다: <code>그룹</code> 사용 <code>부재: true</code></p></td><td><code>MinMatchCount</code> 개별 룰, 예약된 룰 또는 상관관계 룰(다음에서 정의됨)의 최소 개수를 지정합니다: <code>그룹</code>) 이 일치해야 이 상관관계 룰이 일치합니다. 자세한 내용은 <code>MinMatchCount</code> <a href="/pages/1921931f8b7ad9c4385fc0004749bf5ba1c40f67#minmatchcount">상관관계 룰에서</a>.</td></tr><tr><td><a href="#matchcriteria-fields"><code>MatchCriteria</code></a></td><td>목록</td><td><p>다음이 있는 경우에만 사용할 수 있습니다: <code>그룹</code> 이 존재할 때</p><p>x ≥ <code>1</code></p><p><br>길이는 다음의 길이와 같아야 합니다: <code>그룹</code></p></td><td>그룹이 통과하기 위해 일치해야 하는 이벤트 필드를 정의하는 MatchCriteria 매핑</td></tr><tr><td><a href="#group-and-sequence-fields-rule-references"><strong><code>시퀀스</code></strong></a></td><td>목록</td><td><p><code>2</code> ≤ x ≤ <code>50</code></p><p>다음 중 하나만 <code>그룹</code> 또는 <code>시퀀스</code> 필요/허용됩니다</p></td><td><p>다음의 목록 <a href="#group-and-sequence-fields-rule-references">룰 참조</a> 시퀀스를 정의하는<br></p><p><a href="/pages/1921931f8b7ad9c4385fc0004749bf5ba1c40f67#sequence-correlation-rules">상관관계 룰의 시퀀스에 대해 자세히 알아보기</a></p></td></tr><tr><td><a href="#transitions-fields"><code>전환</code></a></td><td>목록</td><td><p>다음이 있는 경우에만 사용할 수 있습니다: <code>시퀀스</code> 이 존재할 때</p><p>x ≥ <code>1</code></p></td><td>시퀀스의 한 단계에서 다음 단계로 전환하기 위한 요구사항을 정의하는 전환 목록입니다. 여기에는 일치시킬 이벤트 값 또는 시간 범위가 포함될 수 있습니다.</td></tr></tbody></table>

### `일정` 필드

각 상관관계 룰은 일정에 따라 실행됩니다. The `일정` 필드가 해당 간격을 정의합니다. 설정에 대해 자세히 알아보세요 `일정` [상관관계 룰에서](/ko/detections/correlation-rules.md#setting-schedule).

<table data-full-width="false"><thead><tr><th width="191">이름</th><th width="81">유형</th><th width="262">검증</th><th width="511">설명</th></tr></thead><tbody><tr><td><strong><code>CronExpression</code></strong></td><td>문자열</td><td>다음 중 하나만 <code>CronExpression</code> 또는 <code>RateMinutes</code> 필요/허용됩니다</td><td>상관관계 룰이 얼마나 자주 실행되어야 하는지 설명하는 cron 표현식입니다. 자세한 내용은 <code>CronExpression</code> 형식은 <a href="/pages/891362058a517dc3981a447504d0a48065c3797d#how-to-use-the-scheduled-search-crontab">예약된 검색 crontab 사용 방법</a>.</td></tr><tr><td><strong><code>RateMinutes</code></strong></td><td>스칼라</td><td>x ≥ 2<br>다음 중 하나만 <code>CronExpression</code> 또는 <code>RateMinutes</code> 필요합니다</td><td>상관관계 룰이 얼마나 자주 실행되어야 하는지를 나타내는 분 단위 비율</td></tr><tr><td><strong><code>TimeoutMinutes</code></strong></td><td>스칼라</td><td>x ≤ <code>RateMinutes</code></td><td>상관관계 룰이 실행될 수 있는 시간 범위입니다. 상관관계 룰의 평가에 이 기간보다 더 오래 걸리면 해당 시간 범위에 대해 취소되며 시스템 상태 알러트가 생성됩니다.</td></tr></tbody></table>

### `그룹` 및 `시퀀스` 필드(룰 참조)

내에서 `그룹` 및 `시퀀스`, 이 상관관계 룰에 포함된 룰에 대한 참조 목록을 포함하세요. 각 룰 참조에는 다음 필드가 포함될 수 있습니다:

<table data-full-width="false"><thead><tr><th width="181">이름</th><th width="99">유형</th><th width="199">검증</th><th width="489">설명</th></tr></thead><tbody><tr><td><strong><code>ID</code></strong></td><td>문자열</td><td>다음을 사용하는 경우에만 필요합니다: <code>전환</code> 또는 <code>MatchCriteria</code></td><td>시퀀스 또는 그룹에서 참조되는 룰의 고유 식별자<br></td></tr><tr><td><strong><code>룰 ID</code></strong></td><td>문자열</td><td>룰 ID는 미리 Panther에 존재해야 합니다</td><td>시퀀스 또는 그룹에 포함할 룰, 예약된 룰 또는 상관관계 룰의 ID</td></tr><tr><td><code>MinMatchCount</code></td><td>스칼라</td><td>x ≥ <code>1</code><br>기본값: <code>1</code></td><td>시퀀스의 이 단계가 통과하는 데 필요한 신호의 최소 개수</td></tr><tr><td><code>MaxMatchCount</code></td><td>스칼라</td><td>x ≥ 0<br>x > <code>MinMatchCount</code> (설정된 경우)</td><td>시퀀스의 이 단계가 통과할 수 있는 신호의 최대 개수</td></tr><tr><td><code>부재</code></td><td>불리언</td><td>해당 없음</td><td>단계가 통과하려면 신호의 부재가 참이어야 하는지 여부</td></tr></tbody></table>

### `MatchCriteria` 필드

해당 `MatchCriteria` 키는 다음과 함께 사용할 수 있습니다: `그룹` 더 세분화된 결과를 위해 사용할 수 있습니다. 각 룰이 어느 이벤트 필드에 대해 일치하는지 나타냅니다. 상관관계 룰당 일치시킬 수 있는 필드 유형은 하나뿐입니다(예: *모든* IP 주소 필드 또는 *모든* 이메일 주소 필드).

해당 `MatchCriteria` 필드에는 고유 레이블인 키가 포함됩니다. 해당 키에는 다음 목록이 포함됩니다: `GroupID` 및 `일치` 쌍.

다음의 예를 참조하세요: `그룹` 다음이 있는 경우와 없는 경우 `MatchCriteria` 에서 [상관 규칙](/ko/detections/correlation-rules.md#matchcriteria).\\

<table data-full-width="false"><thead><tr><th width="140">이름</th><th width="82">유형</th><th width="648">검증</th><th width="653">설명</th></tr></thead><tbody><tr><td><strong><code>GroupID</code></strong></td><td>문자열</td><td></td><td>해당 <code>ID</code> 다음에서 정의됨 <a href="#group-and-sequence-fields-rule-references"><code>그룹</code></a>. 룰 참조를 일치시켜야 하는 필드와 연결하는 데 사용됩니다</td></tr><tr><td><strong><code>일치</code></strong></td><td>문자열</td><td><ul><li>여러 로그 유형, 예약된 룰 또는 상관관계 룰과 관련된 룰의 경우: 다음만 <a href="/pages/fc337e97f1de0519efe738193bb89d800b3f70a1"><code>p_</code> 필드</a> 허용됩니다</li><li>하나의 로그 유형에만 관련된 룰의 경우: 어떤 필드든 허용됩니다</li><li>로그 스키마를 기준으로 검증됩니다. 다음 유형의 필드로 끝날 수 없습니다: <code>객체</code> 또는 <code>JSON</code>. JSON 객체 내부의 내용은 검증되지 않습니다.</li><li>다른 것과 같은 유형이어야 합니다 <code>일치</code> 값</li><li>다음을 사용해야 합니다: <a href="https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/scalar-data-types/dynamic#dynamic-object-accessors">Kusto Query Language(KQL) 구문</a></li></ul></td><td><p>참조된 룰에서 일치시켜야 하는 이벤트의 필드</p><p>예: <code>p_알러트_context.username</code></p></td></tr></tbody></table>

### `전환` 필드

해당 `전환` 키이며, 다음과 함께만 사용됩니다: `시퀀스`, 한 단계가 다른 단계로 이동하는 방법을 정의합니다.

전환은 다음 아래 나열된 룰과 같은 순서여야 합니다: `시퀀스`.

전환에 대해 자세히 알아보기 [상관관계 룰에서](/ko/detections/correlation-rules.md#transitions).

<table data-full-width="false"><thead><tr><th width="268">이름</th><th width="107">유형</th><th width="110">검증</th><th width="546">설명</th></tr></thead><tbody><tr><td><code>ID</code></td><td>문자열</td><td>해당 없음</td><td>시퀀스 내 전환의 고유 식별자<br></td></tr><tr><td><strong><code>시작</code></strong></td><td>문자열</td><td></td><td>해당 <code>ID</code> 다음에서 <a href="#group-and-sequence-fields-rule-references">룰 참조</a> 는 시퀀스에서 시작 단계를 나타내는 섹션입니다.</td></tr><tr><td><strong><code>다음을 수행하려면</code></strong></td><td>문자열</td><td></td><td>해당 <code>ID</code> 다음에서 <a href="#group-and-sequence-fields-rule-references">룰 참조</a> 는 시퀀스에서 종료 단계를 나타내는 섹션입니다.</td></tr><tr><td><code>WithinTimeFrameMinutes</code></td><td>스칼라</td><td><code>1</code> ≤ x ≤ <code>1440</code> 그리고 x ≤ <code>룩백 윈도우 분</code></td><td>시퀀스의 두 단계(다음에 의해 정의됨)가 <code>시작</code> 및 <code>에서)</code> 통과하려면 이 시간 내에 발생해야 합니다.</td></tr><tr><td><a href="#match-fields"><code>일치</code></a></td><td>목록</td><td>len(x) = <code>1</code></td><td>어떤 이벤트 필드가 일치해야 하는지 정의합니다</td></tr></tbody></table>

#### `일치` 필드

`일치` 는 다음의 하위 필드입니다: `전환`, 다음과 함께 사용됩니다: `시퀀스`. 이러한 필드는 각 룰, 예약된 룰 또는 상관관계 룰에 대해 어떤 이벤트 필드가 일치하는 값을 가져야 하는지 정의할 수 있게 합니다.

상관관계 룰당 일치시킬 수 있는 필드 유형은 하나뿐입니다(예: *모든* IP 주소 필드 또는 *모든* 이메일 주소 필드).

<details>

<summary>같은 일치 값을 사용하는 예</summary>

```yaml
디택션:
  - 시퀀스:
      - ID: 로그인 실패
        RuleID: Standard.BruteForceByIP
        MinMatchCount: 10
      - ID: 로그인 성공
        RuleID: Okta.Login.Success
    전환:
      - ID: 무차별 대입 로그인 성공
        출발: 로그인 실패
        도착: 로그인 성공
        시간 범위 내 분: 10
        일치:
          - On: p_알러트_context.ip     // 이 값들은 같아야 합니다
      - ID: 루트 권한 획득
        출발: 로그인 성공
        도착: 루트 로그인
        일치:
          - From: p_알러트_context.ip  // 이 값들은 같아야 합니다
            도착: p_알러트_context.sourceIPAddress
```

</details>

<table data-full-width="false"><thead><tr><th width="88.14453125">이름</th><th width="92">키 유형</th><th width="571.6771240234375">설명</th><th width="543.953125">검증</th></tr></thead><tbody><tr><td><strong><code>켜기</code></strong></td><td>문자열</td><td><p>다음에 의해 참조되는 이벤트의 필드 <a href="#transitions-fields"><code>전환</code></a> <code>시작</code> 및 <code>다음을 수행하려면</code> 에 일치시켜야 합니다. 이벤트 필드 이름이 정확히 일치할 때 사용됩니다. 예: <code>p_udm.x</code> 또는 <code>p_any_usernames</code></p><p><br>값이 배열 유형 필드인 경우, 두 배열 모두에 최소 하나의 항목이 있어야 합니다(다음이 <code>부재: true</code> 두 이벤트 모두에서 사용되지 않는다고 가정할 때).</p></td><td><ul><li><code>시작</code> 및 <code>다음을 수행하려면</code> 비어 있어야 합니다</li><li>여러 로그 유형, 예약된 룰 또는 상관관계 룰과 관련된 룰의 경우: 다음만 <a href="/pages/fc337e97f1de0519efe738193bb89d800b3f70a1"><code>p_</code> 필드</a> 허용됩니다</li><li>하나의 로그 유형에만 관련된 룰의 경우: 어떤 필드든 허용됩니다</li><li>로그 스키마를 기준으로 검증됩니다. 다음 유형의 필드로 끝날 수 없습니다: <code>객체</code> 또는 <code>JSON</code>. JSON 객체 내부의 내용은 검증되지 않습니다.</li><li>다음을 사용해야 합니다: <a href="https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/scalar-data-types/dynamic#dynamic-object-accessors">KQL 구문</a></li></ul></td></tr><tr><td><strong><code>시작</code></strong></td><td>문자열</td><td><p>다음에 의해 참조되는 이벤트의 필드 <a href="#transitions-fields"><code>전환</code></a> <code>시작</code> 및 <code>다음을 수행하려면</code> 에 일치시켜야 합니다.</p><p>이벤트 필드 이름이 정확히 일치하지 않지만 함께 그룹화해야 할 때 사용됩니다. 예: <code>p_알러트_context.username = p_알러트_context.user</code></p><p><br>값이 배열 유형 필드인 경우, <code>다음을 수행하려면</code> 다음 둘 중 하나일 수 있습니다(다음이 <code>부재: true</code> 두 이벤트 모두에서 사용되지 않는다고 가정할 때):</p><ul><li>스칼라 필드인 경우 <code>다음을 수행하려면</code> 값은 다음 안에 있어야 합니다: <code>시작</code> 배열</li><li>다른 배열인 경우, 두 배열 모두에 최소 하나의 항목이 있어야 합니다</li></ul></td><td><ul><li><code>켜기</code> 비어 있어야 합니다</li><li>여러 로그 유형, 예약된 룰 또는 상관관계 룰과 관련된 룰의 경우: 다음만 <a href="/pages/fc337e97f1de0519efe738193bb89d800b3f70a1"><code>p_</code> 필드</a> 허용됩니다</li><li>하나의 로그 유형에만 관련된 룰의 경우: 어떤 필드든 허용됩니다</li><li>로그 스키마를 기준으로 검증됩니다. 다음 유형의 필드로 끝날 수 없습니다: <code>객체</code> 또는 <code>JSON</code>. JSON 객체 내부의 내용은 검증되지 않습니다.</li><li>다음을 사용해야 합니다: <a href="https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/scalar-data-types/dynamic#dynamic-object-accessors">KQL 구문</a></li></ul></td></tr><tr><td><strong><code>다음을 수행하려면</code></strong></td><td>문자열</td><td><p>다음에 의해 참조되는 이벤트의 필드 <a href="#transitions-fields"><code>전환</code></a> <code>시작</code> 및 <code>다음을 수행하려면</code> 에 일치시켜야 합니다.</p><p>이벤트 필드 이름이 정확히 일치하지 않지만 함께 그룹화해야 할 때 사용됩니다. 예: <code>p_알러트_context.username = p_알러트_context.user</code><br><br>값이 배열 유형 필드인 경우, <code>시작</code> 다음 둘 중 하나일 수 있습니다(다음이 <code>부재: true</code> 두 이벤트 모두에서 사용되지 않는다고 가정할 때):</p><ul><li>스칼라 필드인 경우 <code>시작</code> 값은 다음 안에 있어야 합니다: <code>다음을 수행하려면</code> 배열</li><li>다른 배열인 경우, 두 배열 모두에 최소 하나의 항목이 있어야 합니다</li></ul></td><td><ul><li><code>켜기</code> 비어 있어야 합니다</li><li>여러 로그 유형, 예약된 룰 또는 상관관계 룰과 관련된 룰의 경우: 다음만 <a href="/pages/fc337e97f1de0519efe738193bb89d800b3f70a1"><code>p_</code> 필드</a> 허용됩니다</li><li>하나의 로그 유형에만 관련된 룰의 경우: 어떤 필드든 허용됩니다</li><li>로그 스키마를 기준으로 검증됩니다. 다음 유형의 필드로 끝날 수 없습니다: <code>객체</code> 또는 <code>JSON</code>. JSON 객체 내부의 내용은 검증되지 않습니다.</li><li>다음을 사용해야 합니다: <a href="https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/scalar-data-types/dynamic#dynamic-object-accessors">KQL 구문</a></li></ul></td></tr></tbody></table>

## `테스트` 필드

사용하지 마세요 [앵커와 별칭](#correlation-rule-writing-tips) 내 `테스트`. 그렇게 하면 [오류](/ko/detections/correlation-rules.md#correlation-rule-errors).

<table data-full-width="false"><thead><tr><th width="195">이름</th><th width="197">키 유형</th><th width="646">설명</th></tr></thead><tbody><tr><td><strong><code>이름</code></strong></td><td>문자열</td><td>테스트 케이스의 설명적 이름입니다. 모든 테스트 케이스는 고유한 이름이어야 합니다.</td></tr><tr><td><strong><code>기대 결과</code></strong></td><td>불리언</td><td>상관관계 룰이 일치 항목을 생성해야 하는지 여부(즉, 반환 <code>True</code> 또는 <code>False</code>)하는지 여부입니다. 예를 들어 테스트에서 다음을 지정하고 <code>ExpectedResult: False</code> 그리고 상관관계 룰이 <em>실제로</em> 일치 항목을 생성하는데(즉, 반환 <code>True</code>) 기대값이 실제 동작과 일치하지 않으므로 테스트는 실패합니다.</td></tr><tr><td><strong><code>룰 출력</code></strong></td><td>배열&#x3C;<a href="#ruleoutput-fields"><code>룰 출력</code></a>></td><td>다음의 목록 <a href="#ruleoutput-fields"><code>룰 출력</code></a> 객체입니다. 각 <a href="#ruleoutput-fields"><code>룰 출력</code></a> 모의(mock)를 나타냅니다 <a href="/pages/6f6ddf0a9f260968dd8a08357d29a5ade5faab10">신호(들)</a> 귀하의 상관관계 룰 정의에서 참조된 특정 룰에서 생성되며, 어떤 이벤트 필드/값이 일치했는지에 대한 정의를 포함합니다.</td></tr></tbody></table>

### `룰 출력` 필드

<table data-full-width="false"><thead><tr><th width="127">이름</th><th width="256">키 유형</th><th width="648">설명</th></tr></thead><tbody><tr><td><strong><code>ID</code></strong></td><td>문자열</td><td>귀하의 상관관계 룰의 단계 중 하나에 대한 참조 <code>그룹</code> 또는 <code>시퀀스</code> 필드. 귀하의 항목이 <a href="#group-and-sequence-fields-rule-references"><code>그룹</code></a> 또는 <a href="#group-and-sequence-fields-rule-references"><code>시퀀스</code></a> 가지고 있습니다 <code>ID</code>s가 정의되어 있다면, 이 값은 해당 것과 일치해야 합니다 <code>ID</code>. 귀하의 항목이 <code>그룹</code> 또는 <code>시퀀스</code> 하지 않는다면 <code>ID</code>s가 정의되어 있지 않다면, 이 값은 <code>룰 ID</code> 해당 <code>그룹</code> 또는 <code>시퀀스</code> 항목.</td></tr><tr><td><strong><code>일치함</code></strong></td><td>Object&#x3C;String, <a href="#matchvalue-fields"><code>MatchValue</code></a>></td><td>이 단계가 a에서 나타내는 이벤트 필드와 값을 나타내는 객체 <code>그룹</code> 또는 <code>시퀀스</code> 일치한 항목입니다. 키는 일치한 필드 이름이며(하위 필드는 JSON 경로 표기법을 사용해 지정할 수 있습니다. 예:<code>p_알러트_context.username</code>)—그리고 값은 하나의 <a href="#matchvalue-fields"><code>MatchValue</code></a> 객체입니다.</td></tr></tbody></table>

### `MatchValue` 필드

하나의 `MatchValue` 이 객체는 일치한 이벤트 값을 정의하며, 일치가 발생한 시점을 나타냅니다.

{% hint style="warning" %}
현재 상관관계 룰은 전체적으로 일치시킬 이벤트 값을 하나만 지정할 수 있으므로, 이 객체에는 키/값 쌍을 하나만 포함할 수 있습니다.
{% endhint %}

#### 예:

```yaml
일치 항목:
    p_any_emails: # 문자열(일치한 필드 이름)
        ali.ford@example.net: [0, 1, 2] # MatchValue 객체(상대 타임스탬프를 사용하는 값)
```

또는

```yaml
일치 항목:
    p_any_ip_addresses: # 문자열(일치한 필드 이름)
        1.2.3.4: # MatchValue 키
            - "2006-01-02T15:04:05Z" # MatchValue 값(절대 타임스탬프 사용)
```

<table data-full-width="false"><thead><tr><th width="232">키</th><th width="151">키 유형</th><th width="625">설명</th></tr></thead><tbody><tr><td><strong><code>[일치한 값]</code>(문자열)</strong></td><td>Array&#x3C;String> 또는 Array&#x3C;Number></td><td><p>키는 귀하의 룰이 일치한 임의의 문자열입니다. 값은 타임스탬프 배열이며, 타임스탬프는 상대적(테스트 케이스가 실행된 시점 기준) 또는 절대적일 수 있습니다:</p><ul><li>상대 타임스탬프: 숫자 배열로 표시되며, 숫자는 매치가 테스트 케이스 시나리오 시작 후 몇 분 뒤에 발생했는지를 나타냅니다.</li><li>절대 타임스탬프: RFC3339 형식의 타임스탬프 배열로 표시됩니다.</li></ul><p>하나의 테스트는 상대 타임스탬프와 절대 타임스탬프를 섞어 사용할 수 없습니다. 예를 들어, 테스트가 한 항목에 대해 절대 타임스탬프를 사용한다면 <code>룰 출력</code>, 모든 항목에 대해 절대 타임스탬프를 사용해야 합니다 <code>룰 출력</code>.</p></td></tr></tbody></table>


---

# 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/detections/correlation-rules/correlation-rule-reference.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.
