조인 연산자
개요
데이터를 풍부하게 합니다 조인.
| join kind=<kind> <dest>=(<target_query>) on <condition>다음이 수행될 때 조인 파이프의 행이 <target_query> 를 기반으로 일치합니다 <condition>. 결과 데이터에는 파이프의 원본 필드가 모두 포함되며, <target_query> 의 필드가 <dest> 필드에 추가됩니다. 반환되는 행은 다음으로 제어됩니다 <kind>.
<target_query>
<target_query>를 입력하세요 target_query 는 조인될 데이터입니다. 단순히 테이블 이름과 같은 유효한 쿼리(예: )일 수 있습니다 (some_table) 또는 더 복잡한 문 (some_table | extend id = a + b).
<condition>
<condition>를 입력하세요 <condition> 는 파이프의 어떤 행이 <target_query>의 행과 조인될지를 제어하는 식입니다. 모든 조인에 필수입니다 <kind> 다음을 제외하고 크로스 조인. 조인은 $left 측(파이프)과 $right 측(다음 <target_query>). 예를 들어, 조건 $left.id == $right.id 은 동일한 값을 포함하는 행을 일치시킵니다 id.
<kind>
<kind>어떤 행을 출력할지 제어하려면 kind.
inner
조건에서 일치하는 행만 반환합니다 condition.
leftouter
파이프의 모든 행을 target_query로부터의 필드로 풍부하게 반환합니다. 일치하는 항목이 없는 행은 null 에 대해 target_query.
rightouter
의 모든 행을 반환합니다 target_query 파이프의 필드로 풍부하게 하며, 일치하는 항목이 없는 행은 null 파이프의 열에 대해
fullouter
파이프와 target_query모두의 행을 반환합니다. 일치하지 않는 항목도 포함됩니다.
크로스
파이프의 모든 행을 target_query .
이 기능은 규칙이 많은 수의 일치 이벤트를 생성하여 위협의 성격을 파악하기 어려울 때 특히 유용합니다. 알림 요약은 각 이벤트를 수동으로 검토하지 않고도 모든 일치 이벤트의 개요를 제공합니다.
의 모든 행과 결합하여 반환합니다
IP 주소로 조인하기 예를 들어 우리 파이프에 sourceIP 필드에 IP 주소가 있고 이를 이라는 테이블의 데이터로 풍부하게 하려 한다고 합시다 ip.
ip_location <condition> 의 이라는 필드에 IP 주소가 포함되어 있습니다 우리는 $left.sourceIp == $right.ip 를 사용하여 IP 주소를 기반으로 행을 일치시키고 필드에 IP 주소가 있고 이를.
에서 누락되었을 수도 있는 행까지)을 반환할 수 있습니다 <source_table> table
<source_table> table| join kind=leftouter ip=(ip_location) on $left.sourceIP == $right.ip inner 와 조인하기 aws_alb tor_exit_nodes clientIp 이 예는 조인을 사용하여 다음과 같은 로그를 찾습니다 로그가
에서 누락되었을 수도 있는 행까지)을 반환할 수 있습니다 ipinfo_location_datalake Enrichment Provider
ipinfo_location_datalake Enrichment Provider테이블에 나열되어 있는지 확인합니다. ipinfo_location_datalake 다음과 같은 로그를 찾습니다 로그가
| join kind=inner tor=(panther_lookups.public.tor_exit_nodes) on $left.clientIp == $right.ip UDF를 사용한 테이블 다음은 더 복잡한 예로, ALB 로그를 Panther가 관리하는 및 로 풍부하게 하는 예입니다이 쿼리는 IPinfo.
| join kind=leftouter ip=(panther_lookups.public.ipinfo_location_datalake) on 아래 쿼리는 지난 이틀 동안의 시간별
아래 쿼리는 지난 이틀 동안의 시간별snowflake.func('panther_lookups.public.ipinfo_to_join_key', $right.joinKey) == snowflake.func('panther_lookups.public.ipinfo_to_join_key', $left.clientIp) 조인 그리고 snowflake.func('panther_lookups.public.ipinfo_to_int', $left.clientIp) between 아래 쿼리는 지난 이틀 동안의 시간별 snowflake.func('panther_lookups.public.ipinfo_to_int', $right.startIP) .. snowflake.func('panther_lookups.public.ipinfo_to_int', $right.endIP)
Last updated
Was this helpful?

