For the complete documentation index, see llms.txt. This page is also available as Markdown.

간단한 디택션 일치 표현식 참조

논리를 정의하는 일치 표현식 구성

개요

match expression은 YAML로 정의된 조건 논리식으로, 다음을 반환합니다 true 또는 false. Match expression은 여러 곳에서 사용됩니다. 예:

7개의 match expression 유형, 구조가 각각 다릅니다. 다음을 사용하여 match expression을 그룹화할 수 있습니다: 결합자 복잡한 조건을 형성할 수 있습니다.

Simple 디택션에서 enrichment를 다음과 함께 사용할 수 있습니다 enrichment match expression.

match expression의 작동 방식

match expression은 대략 다음과 같이 작동합니다:

  • 들어오는 이벤트의 key는 다음을 사용해 식별됩니다: key 지정자

  • 하나의 조건 가 제공되며, 이는 검사의 성격을 설명합니다

  • 하나의 (또는 값 목록)가 비교 대상으로 제공됩니다

(이 패턴에는 예외가 있으며, 비교를 위해 0개 또는 여러 이벤트 key가 식별되거나 값이 필요하지 않을 수 있습니다.)

match expression의 유형

7가지 유형이 있으며, 각각 고유한 구문 또는 구조를 가집니다.

다음 섹션의 match expression 예시는 이 JSON 이벤트를 참조합니다:

예시 이벤트

이 섹션의 예시 match expression에서 이 이벤트를 참조할 수 있습니다.

아래의 각 예시 match expression에서는 하나의 key 지정자 가 이벤트 key(들)를 식별하는 데 사용되지만, key 지정자(예: , DeepKey 또는 KeyPath)를 대부분의 경우 사용할 수 있습니다.

키/값 match expression

키/값 match expression은 특정 이벤트 key의 값을 주어진 값과 비교합니다.

다음의 허용되는 모든 값을 확인할 수 있습니다: 조건 다음에서 아래의 스칼라 일치 조건 표, 여기서 "Applicable Match Expressions" 열에는 "Key/value"가 포함됩니다.

예:

키/값들 match expression

키/값들 match expression은 일부 이벤트 값이 주어진 목록의 멤버인지 평가합니다.

키/값들 match expression에 허용되는 조건 값은 IsInIsNotIn, 다음에서 볼 수 있습니다 아래의 목록 일치 조건 표.

예:

다중 key match expression

다중 key match expression은 Panther Console의 Simple 디택션 빌더에서 보고 편집할 수 없으며, Inline Filter에서도 사용할 수 없습니다. 전체 목록은 여기에서 Simple 디택션 빌더 제한 사항, 그리고 여기에서 Inline Filter 제한 사항.

다중 key match expression을 사용하면 두 이벤트 key의 값을 비교할 수 있습니다. 다음을 포함하여 다중 key match expression을 만들 수 있습니다 조건 및 값 목록 을 포함하는

다음의 허용되는 모든 값을 확인할 수 있습니다 조건 다음에서 아래의 스칼라 일치 조건 표, 여기서 "Applicable Match Expressions" 열에는 "Multi-key"가 포함됩니다.

리스트 컴프리헨션 match expression

리스트 컴프리헨션 match expression은 Panther Console의 Simple 디택션 빌더에서 보고 편집할 수 없으며, Inline Filter에서도 사용할 수 없습니다. 전체 목록은 여기에서 Simple 디택션 빌더 제한 사항, 그리고 여기에서 Inline Filter 제한 사항.

리스트 컴프리헨션 match expression은 목록 값이 있는 key를 가져와 목록의 각 항목에 대해 match expression 목록과 비교합니다. match expression 목록은 다음 아래에 저장됩니다 표현식 key.

리스트 컴프리헨션 match expression의 경우, 다음 조건 값이 유효합니다:

  • 임의 요소

  • 모든 요소

  • 하나만 요소

  • 요소 없음

이러한 조건 값에 대해 자세히 알아보세요. 아래의 리스트 컴프리헨션 조건 표에서 확인하세요.

다음을 사용하는 예 임의 요소:

다음의 표현식 key에는 다음 중 하나를 추가할 수 있습니다:

  • 중첩된 리스트 컴프리헨션 match expression. 각 중첩 수준에는 리스트 컴프리헨션 match expression 하나만 포함될 수 있습니다. 이 구조는 사실상 중첩된 for 루프를 만듭니다. 가장 안쪽 리스트 컴프리헨션에는 리스트 컴프리헨션 match expression가 아닌 match expression이라면 원하는 만큼 넣을 수 있습니다. 예:

  • 리스트 컴프리헨션 match expression이 아닌 match expression의 임의 조합. 예:

존재 match expression

존재 match expression은 특정 key가 지정된 존재 조건과 일치하는지 판별합니다.

다음의 허용되는 모든 값을 확인할 수 있습니다 조건 다음에서 아래의 스칼라 일치 조건 표, 여기서 "Applicable Match Expressions" 열에는 "Existence"가 포함됩니다.

예:

절대 match expression

절대 match expression은 Panther Console의 Simple 디택션 빌더에서 보고 편집할 수 없으며, Inline Filter에서도 사용할 수 없습니다. 전체 목록은 여기에서 Simple 디택션 빌더 제한 사항, 그리고 여기에서 Inline Filter 제한 사항.

경우에 따라 match expression이 항상 다음으로 평가되길 원할 수 있습니다 True 또는 False. 이는 단순히 다음을 포함하는 match expression을 만들어 수행할 수 있습니다 조건 key를 다음으로 설정한 AlwaysTrue 또는 AlwaysFalse.

enrichment match expression

enrichment match expression은 Panther Console의 Simple 디택션 빌더에서 보고 편집할 수 없으며, Inline Filter에서도 사용할 수 없습니다. 전체 목록은 여기에서 Simple 디택션 빌더 제한 사항, 그리고 여기에서 Inline Filter 제한 사항.

enrichment match expression은 JSON 이벤트의 다음과 상호작용하는 데에만 사용됩니다 p_enrichment 구조체로, 다음에 일치가 있을 경우 존재합니다 Lookup Table, Enrichment Provider, 또는 Identity Provider Profile.

enrichment match expression을 만들려면 다음을 포함하세요 Enrichment key. 다음의 내용은 Enrichment 조건을 구성할 이벤트 key의 경로를 나타냅니다. 다음 내부에서는 Enrichment, 다음 필드를 포함하세요:

  • 테이블: Lookup Table, Enrichment Provider 테이블, 또는 Identity Provider Profile 테이블의 이름입니다.

    • 이 이름은 Lookup Table의 경우 사용자가 정의하며, Enrichment Provider와 Identity Provider Profile의 경우 Panther가 정의합니다.

  • 선택자: 다음의 이름입니다 선택자 필드 들어오는 로그에서

  • FieldPath: 다음 내 이벤트 필드 중 하나의 이름입니다 선택자 필드. 이 key는 JSON 경로 표기를 사용하므로, 필요하면 중첩된 필드를 나타낼 수 있습니다.

다음을 정의한 후에는 Enrichment 및 하위 필드를 정의한 후에는, 나머지 match expression은 다음의 구조를 따르도록 구성할 수 있습니다 다른 match expression 유형 중 다음을 제외하고는— 리스트 컴프리헨션 match expression (이 표현식들은 enrichment와 함께 사용할 수 없으며) 그리고 절대 match expression (이 표현식들은 어떤 이벤트 값도 참조하지 않습니다.)

예를 들어, 아래의 enrichment match expression에는 조건 key들—은 다음과 유사합니다 키/값 match expression:

결합자

해당 하나만없음 결합자는 Panther Console의 Simple 디택션 빌더에서 보고 편집할 수 없으며, Inline Filter에서도 사용할 수 없습니다. 전체 목록은 여기에서 Simple 디택션 빌더 제한 사항, 그리고 여기에서 Inline Filter 제한 사항.

결합자는 match expression 또는 match expression 그룹 간의 관계를 설명하는 YAML key입니다. 결합자는 4가지가 있습니다: 모든, 임의, 하나만, 그리고 없음.

match expression을 받는 key 바로 아래에 match expression이 하나보다 많이 제공되면(예: 디택션, 인라인 필터 또는 표현식), 결합자가 지정되지 않으면 모든 로 간주됩니다.

CLI 워크플로에서 Simple 디택션을 작성할 때는 결합자로 만들 수 있는 중첩 수준의 수에 제한이 없습니다. ( Simple 디택션 빌더 Panther Console에서는 3단계 제한이 있습니다.) 로컬에서 작업할 때 match expression이 3단계보다 더 깊게 중첩되면 Panther Console은 이를 Simple 디택션 빌더에 렌더링하지 않으며, raw YAML에서만 볼 수 있습니다.

결합자
불리언 연산자 이름
설명

모든

논리 AND

목록의 모든 match expression이 true로 평가됩니다. 처음 실패한 match가 목록 평가를 종료합니다.

임의

논리 OR

목록의 어느 하나의 match expression이라도 true로 평가되면 됩니다. 처음 true가 된 match가 목록 평가를 종료합니다.

하나만

논리 XOR

목록의 match expression 중 단 하나만 true로 평가됩니다. 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

없음

논리 NOT AND

목록의 어느 match expression도 true로 평가되지 않습니다. Inline Filter에서는 사용할 수 없으며, Console의 Simple 디택션 빌더에서 보고/편집할 수도 없습니다.

다음을 사용한 1단계 중첩 예시 하나만:

다음을 사용한 여러 단계 중첩 예시 임의모든:

Key 지정자

Key 지정자는 로그 이벤트 JSON의 특정 key를 지정할 수 있게 해주는 YAML key의 그룹입니다. key 지정자는 3가지가 있습니다: , DeepKey, 그리고 KeyPath.

key 지정자의 값으로 제공된 이벤트 속성이 존재하지 않으면 match expression의 평가는 중단되고 false를 반환합니다.

를 사용하면 최상위 이벤트 속성에 액세스할 수 있습니다. 예:

DeepKey

DeepKey 를 사용하면 중첩된 이벤트 속성에 액세스할 수 있습니다. DeepKey 목록을 허용합니다. 또한 다음을 사용할 수도 있습니다 DeepKey 절대 인덱스를 알고 있을 때 배열 요소에 액세스하는 데 사용할 수 있습니다.

다음을 사용하는 예 DeepKey는 깊은 필드 foo.bar.baz, 그다음 배열 인덱스 2를 지정합니다:

KeyPath

KeyPath 다음에 액세스할 수 있습니다:

  • 최상위 필드

  • 다음을 사용한 중첩 필드

    추가 JSON 경로 기능은 지원되지 않습니다.

예:

조건

다양한 유형의 조건 값을 선택할 수 있으며, 여기에는 스칼라, 목록, 그리고 리스트 컴프리헨션 그룹화가 포함됩니다.

특정 조건 값은 Panther Console의 Simple 디택션 빌더에서 보고 편집할 수 없으며, Inline Filter에서도 사용할 수 없습니다. 전체 목록은 여기에서 Simple 디택션 빌더 제한 사항, 그리고 여기에서 Inline Filter 제한 사항.

스칼라 일치 조건

스칼라 일치 조건을 다음과 함께 사용하세요 key(가 아닌 ). match expression의 key 지정자 는 목록 또는 단일 값을 참조할 수 있지만 는 단일이어야 합니다.

다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

조건
Key의 값 유형
설명
적용 가능한 match expression

존재함

임의

지정된 key가 존재하는지 확인합니다 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

Existence, Enrichment

존재하지 않음

임의

지정된 key가 존재하지 않는지 확인합니다 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

Existence, Enrichment

널임

임의

key가 null인지 확인합니다. 예: {"key": null} 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

Existence, Enrichment

널이 아님

임의

key가 null이 아닌지 확인합니다. 예: {"key": 1234} 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

Existence, Enrichment

IsNullOrEmpty

임의

key가 null이거나 비어 있지 않은 값을 가졌는지 확인합니다. 빈 값에는 다음이 포함됩니다: 빈 목록 ([]), 빈 문자열 (""), 그리고 숫자 0

Existence, Enrichment

IsNotNullOrEmpty

임의

키가 null이 아니거나 비어 있지 않은 값인지 확인합니다. 빈 값에는 빈 목록([]), 빈 문자열 (""), 그리고 숫자 0.

Existence, Enrichment

같음

임의

키의 값이 지정된 값과 같은지 확인합니다

키/값, 다중 키, 보강

같지 않음

임의

키의 값이 지정된 값과 같지 않은지 확인합니다

키/값, 다중 키, 보강

대소문자 구분 없이 같음

문자열

키의 문자열 값이 지정된 문자열과 같은지 확인합니다. 대소문자 구분 안 함

키/값, 다중 키, 보강

대소문자 구분 없이 같지 않음

문자열

키의 문자열 값이 지정된 문자열과 같지 않은지 확인합니다. 대소문자 구분 안 함

키/값, 다중 키, 보강

시작함

문자열

키의 문자열 값이 지정된 값으로 시작하는지 확인합니다. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

대소문자 구분 없이 시작함

문자열

키의 문자열 값이 지정된 값으로 시작하는지 확인합니다. 대소문자 구분 안 함. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

시작하지 않음

문자열

키의 문자열 값이 지정된 값으로 시작하지 않는지 확인합니다. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

대소문자 구분 없이 시작하지 않음

문자열

키의 문자열 값이 지정된 값으로 시작하지 않는지 확인합니다. 대소문자 구분 안 함. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

끝남

문자열

키의 문자열 값이 지정된 값으로 끝나는지 확인합니다. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

대소문자 구분 없이 끝남

문자열

키의 문자열 값이 지정된 값으로 끝나는지 확인합니다. 대소문자 구분 안 함. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

끝나지 않음

문자열

키의 문자열 값이 지정된 값으로 끝나지 않는지 확인합니다. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

대소문자 구분 없이 끝나지 않음

문자열

키의 문자열 값이 지정된 값으로 끝나지 않는지 확인합니다. 대소문자 구분 안 함. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

포함

문자열 또는 목록

키의 문자열 값이 지정된 값을 포함하는지 확인합니다. 키가 문자열이 아니면 false를 반환합니다 또는 문자열 배열(대소문자 구분)/정수/실수/불리언이 값을 포함하는지 확인합니다

키/값, 다중 키, 보강

대소문자 구분 없이 포함

문자열

키의 문자열 값이 지정된 값을 포함하는지 확인합니다. 대소문자 구분 안 함. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

포함하지 않음

문자열 또는 목록

키의 문자열 값이 지정된 값을 포함하지 않는지 확인합니다. 키가 문자열이 아니면 false를 반환합니다 또는 문자열 배열(대소문자 구분)/정수/실수/불리언이 값을 포함하지 않는지 확인합니다

키/값, 다중 키, 보강

대소문자 구분 없이 포함하지 않음

문자열

키의 문자열 값이 지정된 값을 포함하지 않는지 확인합니다. 대소문자 구분 안 함. 키가 문자열이 아니면 false를 반환합니다

키/값, 다중 키, 보강

IP 주소인지 여부

문자열 또는 정수

키의 문자열 또는 정수 값이 IP 주소로 해석될 수 있는지 확인합니다. 기능적으로 ANY(IPv4 주소인지 여부, IPv6 주소인지 여부) 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

키 존재 일치, 보강

IPv4 주소인지 여부

문자열 또는 정수

키의 문자열 또는 정수 값이 IPv4 주소로 해석될 수 있는지 확인합니다 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

키 존재 일치, 보강

IPv6 주소인지 여부

문자열 또는 정수

키의 문자열 또는 정수 값이 IPv6 주소로 해석될 수 있는지 확인합니다 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

키 존재 일치, 보강

IP주소가사설인지

문자열 또는 정수

키의 문자열 또는 정수 값이 사설 IP 주소로 해석될 수 있는지 확인합니다

키 존재 일치, 보강

IP주소가공개인지

문자열 또는 정수

키의 문자열 또는 정수 값이 공개 IP 주소로 해석될 수 있는지 확인합니다

키 존재 일치, 보강

IP주소가CIDR범위내인지

문자열 또는 정수

IP 주소로 렌더링된 키의 문자열 또는 정수 값이 CIDR 범위 안에 있는지 확인합니다

키/값, 다중 키, 보강

IP주소가CIDR범위밖인지

문자열 또는 정수

IP 주소로 렌더링된 키의 문자열 또는 정수 값이 CIDR 범위 안에 없는지 확인합니다

키/값, 다중 키, 보강

CIDR이IP주소를포함하는지

문자열로 된 IP 목록

CIDR 범위로 렌더링된 키의 문자열 값이 지정된 IP 주소를 포함하는지 확인합니다

키/값, 다중 키, 보강

CIDR이IP주소를포함하지않는지

문자열로 된 IP 목록

키의 값을 IP 주소 목록으로 해석했을 때 지정된 CIDR 범위 안에 있는지 확인합니다

키/값, 다중 키, 보강

보다큼

정수 또는 실수

키의 값이 지정된 값보다 큰지 확인합니다

키/값, 다중 키, 보강

이상인지

정수 또는 실수

키의 값이 지정된 값보다 크거나 같은지 확인합니다

키/값, 다중 키, 보강

보다작은지

정수 또는 실수

키의 값이 지정된 값보다 작은지 확인합니다

키/값, 다중 키, 보강

이하인지

정수 또는 실수

키의 값이 지정된 값보다 작거나 같은지 확인합니다

키/값, 다중 키, 보강

목록 일치 조건

목록 일치 조건을 함께 사용 (아님 ). match expression의 key 지정자 단일 값 또는 목록을 참조할 수 있지만 반드시 목록을 참조해야 합니다.

조건
키 유형
값 유형
설명
적용 가능한 match expression

IsIn

스칼라

목록

지정된 키의 값이 목록의 구성원인지 평가합니다

키/값, 보강

IsNotIn

스칼라

목록

지정된 키의 값이 목록의 구성원이 아닌지 평가합니다

키/값, 보강

목록 내포 조건

목록 내포 조건은 다음 내에서만 사용할 수 있습니다 목록 내포 일치 표현식.

조건
키 유형
설명
적용 가능한 match expression

임의 요소

목록

지정된 키의 값 목록이 일치 조건 목록의 모든 표현식과 일치하는지 평가합니다 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

목록 내포

모든 요소

목록

지정된 키의 값 목록이 일치 조건 목록의 모든 표현식과 일치하는지 평가합니다 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

목록 내포

하나만 요소

목록

지정된 키의 값 목록에 일치 조건 목록과 일치하는 단일 요소만 있는지 평가합니다 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

목록 내포

요소 없음

목록

지정된 키의 값 목록이 일치 조건 목록의 모든 표현식과 일치하지 않는지 평가합니다 다음에서는 사용할 수 없습니다 인라인 필터 또는 다음에서 보고/편집할 수 없습니다 Simple 디택션 빌더 Console에서.

목록 내포

값(들)

다음에 대한 값 키는 다음 네 가지 데이터 유형 중 하나를 가질 수 있습니다:

  • 정수

  • 실수

  • 불리언

  • 문자열

정수, 실수, 불리언은 따옴표로 묶지 않아야 합니다. 문자열은 선택적으로 따옴표로 묶을 수 있습니다.

다양하게 형식화된 값이 아래에서 어떻게 평가되는지 확인하세요:

마지막 업데이트

도움이 되었나요?