표현식 빌더 사용
다음에서 지원:
Google secops
SOAR
표현식 빌더를 사용하면 후속 작업에서 사용할 JSON 결과를 파싱하고 수정할 수 있습니다. 표현식 빌더는 연결, 미리보기, 테스트가 가능한 다양한 동적 변환 함수를 생성하여 원시 작업 결과를 변환하고 파싱하는 대화형 환경을 제공합니다.
플레이북 작업에서 매개변수의 자리표시자를 선택한 후 JSON 결과를 사용할 수 있습니다. 이러한 결과를 통해 작업에서 반환된 포괄적인 정보를 확인할 수 있으며, 이 정보는 후속 플레이북 작업 및 흐름에서 사용할 수 있습니다. 자세한 내용은 표현식 빌더의 사용 사례를 참고하세요.
표현식 빌더 보기
이 예는 잠재적 데이터를 보여주며 실시간 결과를 반영하지 않습니다. 실제 데이터는 다를 수 있으며 필드가 더 많거나 적을 수 있습니다. 분석가가 런타임에 반환될 추가 필드를 알고 있는 경우 구문 필드에 해당 키 경로를 입력할 수 있습니다.
함수
다음 파이프 함수가 지원됩니다.
- First (x): 배열의 첫 번째 X 요소를 반환합니다.
예:alerts | First(2)
(alerts
이[{"id": "A"}, {"id": "B"}, {"id": "C"}]
이면[{"id": "A"}, {"id": "B"}]
를 반환함) - Last (x): 배열의 마지막 X 요소를 반환합니다.
예:alerts | Last(1)
(alerts
이[{"id": "A"}, {"id": "B"}, {"id": "C"}]
이면[{"id": "C"}]
를 반환함) - Min (KeyPath): 배열에서 최솟값을 가진 항목을 반환합니다. keyPath 매개변수가 제공되면 지정된 경로에서 최소값을 갖는 객체를 반환합니다.
예:alerts | Min("score")
(alerts
에score
필드가 있는 객체 목록이 포함된 경우 점수가 가장 낮은 객체를 반환함) - Max (KeyPath): 배열에서 최댓값을 갖는 항목을 반환합니다. keyPath 매개변수가 제공되면 지정된 경로에서 최대값을 갖는 객체를 반환합니다.
예:alerts | Max("score")
(alerts
에score
필드가 있는 객체 목록이 포함된 경우 점수가 가장 높은 객체를 반환함) - Filter (ConditionKey, Operator, Value): 객체 배열을 필터링하여 지정된 필드의 조건을 충족하는 객체만 반환합니다.
- ConditionKey: 조건에 대해 평가할 각 객체의 필드입니다.
- 연산자: 조건에 사용할 연산자입니다.
- 문자열 입력의 경우:
=
,!=
,in
,not in
- 숫자/날짜 입력:
=
,!=
,>
,>=
,<
,<=
- 값: 조건에서 확인할 값입니다.
예:alerts | Filter("severity", "=", "HIGH")
(severity
필드가 'HIGH'인 모든 알림을 반환함) -
DateFormat ("pattern") - 지정된 패턴 (패턴은 매개변수로 지정됨)의 날짜를
YYYY-MM-DDThh:mm:ssZ
형식으로 지정합니다.
예:timestamp_field | DateFormat("yyyy/MM/ddTHH:mm:ss")
(timestamp_field
이 '2024/07/20T10:00:00Z'인 경우 '2024-07-20 10:00:00'을 반환함) -
Count (): 입력 배열의 항목 수를 반환합니다.
예:alerts | Count()
(alerts
이 요소가 4개인 배열인 경우 4를 반환함) -
OrderBy ('keyPath', 'direction'): 지정된 키 경로의 값을 기준으로 객체 배열을 정렬합니다.
예:alerts | OrderBy("score", "DESC")
(score
을 기준으로alerts
배열을 내림차순으로 정렬) -
toLower (): 입력을 소문자로 변환합니다.
예:status_field | toLower()
(status_field
이 'OPEN'이면 'open'을 반환함) -
toUpper (): 입력을 대문자로 변환합니다.
예:severity_field | toUpper()
(severity_field
이 'high'인 경우 'HIGH'를 반환함) -
Replace ("x", "y"): 문자열 내의 하위 문자열을 다른 문자열로 바꿉니다.
예:message_field | Replace("World", "Universe")
(message_field
이 'Hello World'인 경우 'Hello Universe'를 반환함) -
Distinct (): 배열에서 중복 값을 삭제합니다. 객체 배열의 경우 중복된 객체를 식별하기 위해 심층 비교를 실행합니다.
예:[10, 20, 30, 20, 40] | Distinct()
([10, 20, 30, 40]
반환) -
getByIndex ("index"): 지정된 색인 또는 색인 목록으로 배열의 항목을 가져옵니다.
예:alerts | getByIndex("0")
(alerts
배열의 첫 번째 요소를 반환함)
예:alerts | getByIndex("0,2")
(alerts
배열의 첫 번째 및 세 번째 요소를 반환함) -
split ("구분자"): 지정된 구분자를 사용하여 문자열을 하위 문자열 배열로 나눕니다.
예:"tag1,tag2,tag3" | split(",")
(["tag1", "tag2", "tag3"]
반환) -
join ("구분 기호"): 지정된 구분 기호를 사용하여 문자열 배열을 단일 문자열로 연결합니다.
예:["malware", "critical"] | join(" & ")
('멀웨어 및 심각' 반환) -
trim (): 문자열에서 선행 공백과 후행 공백을 삭제합니다.
예:" hello world " | trim()
('hello world') -
trimChars ("characters"): 문자열의 시작과 끝에서 지정된 문자를 삭제합니다. 선행 및 후행 공백은 명시적으로 지정하지 않아도 항상 삭제됩니다.
예:"--TEST--ABC--" | trimChars("-")
('TEST', 'ABC') ('TEST--ABC' 반환) -
substring (start, end): 지정된 시작 색인과 선택적 종료 색인을 사용하여 문자열에서 하위 문자열을 추출합니다.
예:"Hello World" | substring(0, 5)
('Hello') ('Hello' 반환)
예:"Hello World" | substring(6)
('World') ('World' 반환) -
incrementValue (value): 숫자 값을 지정된 양만큼 늘립니다. 금액을 지정하지 않으면 값이 1씩 증가합니다.
예:score_field | incrementValue(5)
(score_field
이 90이면 95를 반환함)
예:counter_field | incrementValue()
(counter_field
이 10이면 11을 반환함) -
setIfEmpty ("defaultValue"): 입력 값이 비어 있으면 제공된 기본값을 반환합니다.
예:optional_field | setIfEmpty("N/A")
(optional_field
이 비어 있으면 '해당 없음'을 반환하고, 그렇지 않으면optional_field
의 값을 반환합니다.) -
toUnixtime (): 사람이 읽을 수 있는 날짜 및 시간 문자열 (예: '2014/03/12T13:37:27Z' 또는 '2014-03-12T13:37:27+01:00')을 UTC로 표현된 Unix 타임스탬프로 변환합니다.
예:"2024-07-20T10:00:00Z" | toUnixtime()
(1721469600 반환) -
ifThenElse ("operator", "comparedValue", "trueResult", "falseResult") - 조건을 평가하여 조건이 참이면 첫 번째 표현식을 반환하고 그렇지 않으면 두 번째 표현식을 반환합니다.
예:severity_field | ifThenElse("=", "HIGH", "High Priority", "Normal Priority")
(severity_field
이 '높음'이면 '우선순위 높음'을 반환하고, 그렇지 않으면 '우선순위 보통'을 반환함)
예:score_field | ifThenElse(">", "70", "Above Threshold", "Below Threshold")
(score_field
이 90이면 '기준치 초과'를 반환하고,score_field
이 60이면 '기준치 미만'을 반환함)
표현식:
표현식 필드에 함수와 파이프를 함께 삽입하여 여러 함수를 함께 추가하고 표현식을 빌드합니다.실행 / 결과:
표현식 빌더를 작성한 후 실행을 클릭하여 표현식 빌더에 표시된 JSON 샘플 데이터를 기반으로 결과를 표시합니다.도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.