# 상관관계 룰 참조

## 개요

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

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

## 상관 룰 구문

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

* 디택션 키

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

  ```yaml
  AnalysisType: correlation_룰
  CreateAlert:
  Enabled: 
  RuleID:
  CreatedBy: 
  Reports: 
  Tags: 
  Tests: 
  ```
* 알러트 키(정적)

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

필수 및 선택 항목을 포함하여 이러한 각 키에 대해 자세히 알아보려면 아래의 [Correlation 룰 최상위 필드 참조를](#correlation-rule-top-level-fields).

### Correlation 룰 작성 팁

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

## Correlation 룰 최상위 필드

아래 표에는 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>AnalysisType</code></strong></td><td>이 분석이 룰, scheduled_룰, 정책, correlation_룰 또는 global인지 나타냅니다</td><td><code>correlation_룰</code></td></tr><tr><td><strong><code>활성화</code></strong></td><td>이 correlation_룰이 활성화되어 있는지 여부</td><td>불리언</td></tr><tr><td><strong><code>룰ID</code></strong></td><td>룰의 고유 식별자</td><td>문자열</td></tr><tr><td><strong><code>Severity</code></strong></td><td>어떤 <a href="/pages/03a99462193d3cb6f09cb46a6d9fa32a7a6035d0#alert-severity">severity</a> 연관된 알러트는 다음을 가져야 합니다</td><td>다음 문자열 중 하나: <code>정보</code>, <code>낮음</code>, <code>중간</code>, <code>High</code>, 또는 <code>Critical</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>CreateAlert</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>이 룰이 알러트를 반환할 경우 수행할 작업입니다. 설명이 포함된 실행 지침서를 제공하는 것이 권장됩니다, as <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>CreatedBy</code></td><td>이 디택션의 작성자입니다. Panther 사용자 UUID, 이메일 주소 또는 임의의 텍스트 값으로 설정할 수 있습니다. 더 알아보기 <a href="/pages/5f0ed921cfc97d649f3af6d2a4a6b7d06f7759cc#the-createdby-detection-field">The <code>CreatedBy</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>Schedule</code></strong></a></td><td>객체</td><td>해당 없음</td><td>상관 룰의 스케줄링</td></tr><tr><td><code>이벤트 평가 순서</code></td><td>문자열</td><td><p>허용되는 값:</p><ul><li><code>시간순</code> (기본값)</li><li><code>역시간순</code></li></ul></td><td><br>만약 <code>시간순</code>, 이벤트는 가장 오래된 것부터 최신 순으로 분석됩니다.<br>If <code>역시간순</code>, 이벤트는 최신 것부터 가장 오래된 순으로 분석됩니다.</td></tr><tr><td><code>LookbackWindowMinutes</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>LookbackWindowMinutes</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>Sequence</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>Sequence</code></strong></a></td><td>목록</td><td><p><code>2</code> ≤ x ≤ <code>50</code></p><p>다음 중 하나만 <code>그룹</code> 또는 <code>Sequence</code> 필요/허용됩니다</p></td><td><p>다음의 목록 <a href="#group-and-sequence-fields-rule-references">룰 참조</a> 시퀀스를 정의하는<br></p><p><a href="/pages/1921931f8b7ad9c4385fc0004749bf5ba1c40f67#sequence-correlation-rules">Correlation Rules에서 시퀀스에 대해 자세히 알아보기</a></p></td></tr><tr><td><a href="#transitions-fields"><code>전이</code></a></td><td>목록</td><td><p>다음이 있는 경우에만 사용할 수 있습니다 <code>Sequence</code> 존재함</p><p>x ≥ <code>1</code></p></td><td>한 단계에서 시퀀스의 다음 단계로 전환하기 위한 요구 사항을 정의하는 전환 목록입니다. 여기에는 일치해야 하는 이벤트 값이나 시간 범위가 포함될 수 있습니다.</td></tr></tbody></table>

### `Schedule` 필드

각 상관관계 룰은 일정에 따라 실행됩니다.  `Schedule` 필드는 해당 간격을 정의합니다. 설정에 대해 자세히 알아보기 `Schedule` [상관 룰에서](/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">Scheduled Search 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>

### `그룹` 및 `Sequence` 필드(룰 참조)

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

<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>ruleID는 사전에 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>Absence</code></td><td>불리언</td><td>해당 없음</td><td>신호의 부재가 해당 단계가 통과되기 위해 참이어야 하는지 여부</td></tr></tbody></table>

### `MatchCriteria` 필드

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

The `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>The <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>

### `전이` 필드

The `전이` 키, 와(과) 함께만 사용되며 `Sequence`, 는 한 단계가 다른 단계로 어떻게 이동할 수 있는지 정의합니다.

전환은 아래에 나열된 룰들과 동일한 순서여야 합니다. `Sequence`.

전환에 대해 자세히 알아보기 [상관 룰에서](/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>The <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>The <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>LookbackWindowMinutes</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>

#### `일치` 필드

`일치` 는 의 하위 필드입니다 `전이`, 와(과) 함께 사용됩니다 `Sequence`. 이러한 필드를 사용하면 각 룰, 예약된 룰 또는 상관관계 룰에 대해 어떤 이벤트 필드가 일치하는 값을 가져야 하는지 정의할 수 있습니다.

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

<details>

<summary>동일한 매치 값 사용 예시</summary>

```yaml
디택션:
  - 시퀀스:
      - ID: 실패한 로그인
        RuleID: Standard.BruteForceByIP
        MinMatchCount: 10
      - ID: 성공한 로그인
        RuleID: Okta.Login.Success
    전이:
      - ID: 무차별 대입 로그인 성공
        From: 실패한 로그인
        To: 성공한 로그인
        WithinTimeFrameMinutes: 10
        일치:
          - On: p_알러트_context.ip     // 이것들은 동일해야 합니다
      - ID: 루트 접근 획득
        From: 성공한 로그인
        To: 루트 로그인
        일치:
          - From: p_알러트_context.ip  // 이것들은 동일해야 합니다
            To: 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>거짓</code>)를 반환). 예를 들어 테스트가 다음을 지정하는 경우 <code>ExpectedResult: False</code> 그리고 상관관계 룰이 <em>실제로</em> 매치를 생성하는 경우(즉, 를 반환), <code>True</code>기대값이 실제 동작과 일치하지 않으므로 테스트는 실패합니다.</td></tr><tr><td><strong><code>규칙 출력</code></strong></td><td>Array&#x3C;<a href="#ruleoutput-fields"><code>룰 출력</code></a>></td><td>다음의 목록 <a href="#ruleoutput-fields"><code>룰 출력</code></a> objects. Each <a href="#ruleoutput-fields"><code>룰 출력</code></a> 은 모의 <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>Sequence</code> 필드입니다. 항목이 다음에 <a href="#group-and-sequence-fields-rule-references"><code>그룹</code></a> 또는 <a href="#group-and-sequence-fields-rule-references"><code>Sequence</code></a> 있다면 <code>ID</code>이 정의되어 있는 경우, 이 값은 해당 <code>ID</code>. 항목이 다음에 <code>그룹</code> 또는 <code>Sequence</code> 없다면 <code>ID</code>이 정의되어 있는 경우, 이 값은 해당 <code>룰ID</code> 과 연결된 <code>그룹</code> 또는 <code>Sequence</code> 항목과 일치해야 합니다.</td></tr><tr><td><strong><code>일치</code></strong></td><td>Object&#x3C;String, <a href="#matchvalue-fields"><code>MatchValue</code></a>></td><td>상관 룰의 이 단계가 일치한 이벤트 필드와 값을 나타내는 객체입니다. 키는 일치한 필드 이름이며(하위 필드는 JSON 경로 표기법을 사용하여 지정할 수 있습니다. 예: <code>그룹</code> 또는 <code>Sequence</code> )—값은<code>p_알러트_context.username</code>객체입니다. <a href="#matchvalue-fields"><code>MatchValue</code></a> 객체는 일치한 이벤트 값을 나타내며, 일치가 발생한 시점을 나타냅니다.</td></tr></tbody></table>

### `MatchValue` 필드

A `MatchValue` 현재 상관 룰은 전체에서 일치시킬 이벤트 값 하나만 지정할 수 있으므로, 이 객체는 키/값 쌍을 하나만 포함할 수 있습니다.

{% hint style="warning" %}
p\_any\_emails: # String (일치한 필드 이름)
{% endhint %}

#### 예시:

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

또는

```yaml
일치 항목:
    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>(String)</code>Array&#x3C;String> OR Array&#x3C;Number></strong></td><td>키는 규칙이 일치한 임의의 문자열입니다. 값은 타임스탬프 배열이며, 타임스탬프는 상대적(테스트 케이스가 실행된 시점 기준) 또는 절대적일 수 있습니다:</td><td><p>상대적 타임스탬프: 숫자의 배열로 표현되며, 숫자는 일치가 테스트 케이스 시나리오 시작 후 몇 분 뒤에 발생했는지를 나타냅니다.</p><ul><li>절대적 타임스탬프: RFC3339 형식의 타임스탬프 배열로 표현됩니다.</li><li>하나의 테스트에서는 상대적 타임스탬프와 절대적 타임스탬프를 섞을 수 없습니다. 예를 들어, 테스트가 한</li></ul><p>에 대해 절대적 타임스탬프를 사용한다면, 모든 <code>룰 출력</code>에 대해서도 절대적 타임스탬프를 사용해야 합니다. <code>규칙 출력</code>.</p></td></tr></tbody></table>


---

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