데이터 탐색기
Panther의 데이터 탐색기를 사용하여 정규화된 데이터를 보고 SQL 쿼리 수행하기
개요
Panther 콘솔의 데이터 익스플로러에서는 정규화된 Panther 데이터를 보고 자동 완성 기능이 있는 SQL 쿼리를 수행할 수 있습니다.
데이터 익스플로러에서 다음을 할 수 있습니다:
수집된 로그 데이터, 룰 매치 항목을 탐색하고 모든 데이터에서 표준 필드를 검색합니다
스케줄된 검색 룰 엔진을 통해 실행할 수 있습니다
Python 함수를 입력한 다음 템플릿 검색 및 매크로
공유 가능한 링크로 팀과 결과를 공유하거나 결과를 CSV로 다운로드합니다
룰 엔진에서 단위 테스트로 사용하기 위해 전체 JSON 행을 선택합니다
SQL 없이 테이블 데이터를 미리 보고, 결과를 필터링하고, 열을 요약합니다
다음을 통해 데이터 익스플로러에 대한 접근을 제한합니다 역할 기반 접근 제어 (RBAC)
다음이 포함된 데이터 익스플로러 결과는 빅인트 32비트 정밀도를 초과하는 데이터는 브라우저의 JSON 렌더링 제한 때문에 반올림되어 표시됩니다. 이러한 값이 정밀도 손실 없이 표시되기를 원하면 SQL 명령에서 문자열로 캐스트하세요. 데이터 레이크에 저장된 실제 데이터는 영향을 받지 않습니다.
데이터 익스플로러의 쿼리 구문
데이터 익스플로러에서 실행되는 쿼리는 Snowflake의 설명된 Snowflake SQL 문법을 사용해야 합니다 SQL 명령 참조 문서.
다음에 대해서도 배울 수 있습니다:
데이터 익스플로러에서 검색할 때의 모범 사례는 데이터 익스플로러에서 효과적으로 검색하기
사용 방법 데이터 익스플로러 매크로 사용 방법
데이터 익스플로러에서 중첩 필드 참조하기
JSON 객체를 탐색할 때 키 이름이 Snowflake SQL 식별자 규칙을(를) 따르지 않는 경우—예: 마침표나 공백을 포함하는 경우—값을 큰따옴표로 묶으세요.
예를 들어 필드에 접근하는 쿼리를 실행하려면 context.ip_address 각 룰과 예약된 룰의 기본 이벤트 임계값은 IPInfo 개인 정보 보강 제공자, 다음과 같이 작성합니다 p_enrichment:ipinfo_privacy:"context.ip_address".
Snowflake의 자세한 내용 보기: 반구조화된 데이터 쿼리하기 문서.
데이터 익스플로러에서 효과적으로 검색하기
결과가 가능한 한 빨리 반환되도록 하려면 다음 모범 사례를 따르는 것이 좋습니다:
사용하세요
LIMIT절다음을 사용하세요
LIMIT절은 쿼리가 반환할 레코드 수를 지정합니다. 쿼리를 제한하면 결과를 더 빨리 반환할 수 있습니다. Panther는 기본적으로 결과 크기를 100MB로 제한합니다.
시간 범위 필터를 사용하세요
Snowflake는 S3의 파일을 마이크로파티션으로 그룹화합니다. 쿼리에서 (예:
p_event_time이전에 생성한 Snowflake 사용자 이름, 예를 들면p_occurs_since())와 같이 시간 범위로 필터링하면 Snowflake는 특정 파티션만 접근하면 되어 결과를 더 빨리 반환합니다.매크로에 대한 자세한 내용은 아래 섹션을 참조하세요: 데이터 익스플로러 매크로 사용 방법.
p_any 필드를 사용하세요
로그 수집 중 Panther는 일반적인 보안 지표를
p_any필드로 추출합니다.p_any이 필드들은 최적화된 열에 저장됩니다. 이러한 필드는 모든 데이터 소스에서 속성 이름을 표준화하여 빠른 데이터 상관을 가능하게 합니다.자세한 내용은 표준 필드.
특정 필드만 쿼리하세요
사용하면
SELECT * FROM ...모든 열을 가져와 쿼리를 느리게 할 수 있습니다. 가능한 경우 조사에 필요한 필드만 쿼리하세요. 예:SELECT user_name, event_name FROM ....
요약
전체 레코드를 쿼리하는 것보다 요약이 더 빠르게 실행됩니다. 이는 특히 장기간의 로그를 조사할 때나 조사 중인 기간에 데이터가 얼마나 있는지 확실하지 않을 때 유용합니다.
전체 데이터 셋을 쿼리하는 대신
count(*)와group by시간 범위를 사용하면 더 빠르게 실행되며 이후에 더 좁은 기간을 결정하는 데 도움이 됩니다.예를 들어 하루를 되돌아보고
GROUP BY hour으로 그룹화하면 데이터에서 조사해야 할 특정 시간을 결정할 수 있습니다. 그런 다음 해당 시간에 대해 쿼리를 실행해 결과를 더 좁힐 수 있습니다.
위의 모범 사례를 따랐음에도 쿼리가 여전히 느리면 다음 단계를 권장합니다:
쿼리하려는 데이터 양을 확인하기 위해 행 수를 계산하세요.
이렇게 하면 데이터가 많은 것이므로 오래 걸리는 것이 예상되는지 여부를 판단하는 데 도움이 됩니다.
쿼리하는 시간 범위를 줄이세요.
추가 도움이 필요하면 Panther 지원 팀에 문의하세요.
데이터 익스플로러 사용 방법
데이터 익스플로러에 접근하기
Panther 콘솔의 왼쪽 탐색 창에서 조사 > 데이터 익스플로러.

테이블 데이터 미리보기
SQL을 작성하지 않고도 예제 테이블 데이터를 미리볼 수 있습니다. 해당 로그 소스의 샘플 SQL 쿼리를 생성하려면 테이블 유형 옆의 눈 아이콘을 클릭하세요:

데이터 익스플로러 결과 필터링
SQL을 작성하지 않고도 데이터 익스플로러의 결과 집합에서 열을 필터링할 수 있습니다.
결과 테이블의 오른쪽 상단에서 클릭하세요 열 필터 표시할 열을 선택하려면:

참고: 이 메커니즘을 통해 적용된 필터는 쿼리의 SQL select 문에는 적용되지 않습니다.
열 데이터 요약
SQL을 작성하지 않고도 데이터 익스플로러의 결과 집합에서 열의 요약(빈도 수)을 생성할 수 있습니다.
요약을 생성하려는 열에서 아래쪽 화살표를 클릭한 다음 요약 별도의 탭에 요약 결과를 표시합니다.

쿼리가 실행된 후 처음으로 요약을 생성하려면 요약 탭으로 전환하고 드롭다운에서 열을 선택하세요.

선택한 열의 요약 결과는 요약 탭에 표시되며, 결과를 최고 빈도부터 또는 최저 빈도부터 정렬하는 옵션이 제공됩니다(기본값은 최고 빈도 우선).

다음과 함께 제공되는 것 외에도 row_count 값, 요약에는 또한 first_seen 와 last_seen 값이 결과 데이터에 p_event_time 표준 필드.
데이터 익스플로러 매크로 사용 방법
이 포함된 경우 표시됩니다.
지원되는 백엔드 데이터베이스의 모든 테이블은 이벤트 시간으로 파티셔닝되어 시간 필터를 사용한 쿼리 시 더 나은 성능을 제공합니다.
p_occurs_around 이 매크로들은 템플릿 매크로와 다릅니다. 템플릿 매크로에 대한 자세한 내용은.
템플릿 검색
매크로 형식
시간 지속 형식
일부 매크로는 매개변수로 시간 지속을 받습니다. 이 지속 시간 형식은 양의 정수 다음에 시간 단위를 나타내는 선택적 접미사가 옵니다. 접미사가 없으면 숫자는 초로 해석됩니다.
지원되는 접미사는 아래와 같습니다:s, sec, second, seconds— 매크로는 지정된 초를 더합니다m, min, minute, minutes— 매크로는 지정된 분을 오프셋에 더합니다h, hr, hrs, hour, hours— 매크로는 지정된 시간을 오프셋에 더합니다d, day, days— 매크로는 지정된 일을 오프셋에 더합니다w, wk, week, weeks— 매크로는 지정된 주 수를 오프셋에 더합니다
접미사가 감지되지 않으면 기본값은 초입니다
예시:'6 d'- 6일'2 weeks'900- 2주- 900초'96 hrs'
- 96시간
타임스탬프 형식 2021-01-02 15:04:05.000 시간 표현식이 팀이 사용 중인 데이터베이스 백엔드에서 파싱될 수 있는지 확인하세요. 기본 안전 시간 형식은 대략 다음과 유사해야 합니다
데이터 익스플로러 매크로 사용 방법
효율성과 사용 편의를 위해 Panther는 데이터베이스로 전송될 때 전체 표현식으로 확장되는 매크로를 제공합니다: 현재 시각:
현재 시각:및 UTC 시간대에 있는 것으로 가정됩니다.
p_current_timestamp() 이 매크로는 데이터 익스플로러에서는 current_timestamp 현재로부터의 시간 오프셋:로 확장되지만, 예약된 쿼리에서 실행될 때는(쿼리가 실제로 실행되는 시점과 관계없이) 쿼리의 예약된 시간으로 확장됩니다.
p_current_timestamp 시간 범위 필터:
시간 범위 필터:p_occurs_between(startTime, endTime, [, tableAlias [, column]])
startTime- 타임스탬프 형식의 시간으로, 검색 창의 시작을 나타냅니다endTime- 타임스탬프 형식- 검색 창의 종료를 나타냅니다tableAlias- 제공된 경우 테이블 별칭으로 사용될 선택적 식별자column- 제공된 경우 컬럼으로 사용될 선택적 식별자존재하지 않으면 기본 컬럼은
p_event_time.입니다. (예:
p_parsed_time)와 같은 다른 컬럼을 지정하면column에 대한 제한이 없을 경우 전체 테이블이 검색되므로 쿼리 시간이 크게 길어질 수 있습니다.p_event_time매크로
p_occurs_between() 는 형식의 시작 시간과 종료 시간을 받아 시간 범위에 있는 이벤트로 결과 집합을 필터링하며 적절한 파티션을 사용합니다(입출력을 최소화하고 쿼리 속도를 높임). 타임스탬프 형식 이 매크로를 올바르게 사용하려면
와 같은 필터 내에 포함되어야 합니다. WHERE 절.
다음 Snowflake 명령에는 매크로가 포함되어 있습니다:
매크로는 쿼리가 데이터베이스로 전송되기 전에 자동으로 확장됩니다. 확장의 형태는 데이터베이스에 따라 다릅니다. Snowflake에서는 이 확장이 비교적 직관적입니다:
매크로는 선택적 테이블 별칭도 받습니다. 이는 JOIN:
p_occurs_between 현재로부터의 시간 오프셋:
현재로부터의 시간 오프셋:limit 10
p_occurs_since(offsetFromPresent [, tableAlias[, column]])offsetFromPresent -시간 지속 형식의 표현식으로, 현재를 기준으로 해석됩니다. 예:tableAlias- 제공된 경우 테이블 별칭으로 사용될 선택적 식별자column- 제공된 경우 컬럼으로 사용될 선택적 식별자존재하지 않으면 기본 컬럼은
p_event_time.입니다. (예:
p_parsed_time)와 같은 다른 컬럼을 지정하면column에 대한 제한이 없을 경우 전체 테이블이 검색되므로 쿼리 시간이 크게 길어질 수 있습니다.p_event_time매크로
p_occurs_between() p_occurs_since() '1 hour' - 는
로 지정된 오프셋 매개변수를 사용하며 결과 집합을 현재 시간과 지정된 오프셋 사이의 이벤트로 필터링하고 적절한 파티션 또는 클러스터 키를 사용합니다(입출력을 최소화하고 쿼리 속도를 높임). JOIN.
와 같은 필터 내에 포함되어야 합니다. WHERE 절.
접미사가 감지되지 않으면 기본값은 초입니다
만약 현재로부터의 시간 오프셋: p_occurs_since('96 hrs') 스케줄된 검색는 내에서 사용될 때, 현재 시간을 기준으로 하는 대신 예약된 실행 시간이 기준으로 사용됩니다. 예를 들어 쿼리가 매 시간의 시작에 실행되도록 예약된 경우, p_occurs_since('1 hour') 사용하면 현재로부터의 시간 오프셋: 매크로는 매 시간의 시작 시점을 기준으로 1시간의 시간 범위를 사용하여 확장됩니다(쿼리가 실제로 언제 실행되었는지와 상관없이). 자세한 내용은.
되돌아보기 창을 정의하려면 다음 예제에서는 테이블 별칭 매개변수가 있는 매크로를 사용하여 CloudTrail 로그에서 생성 후 1시간 이내에 삭제된 S3 버킷을 식별합니다. 이는 잠재적으로 의심스러운 동작입니다. 이를 위해 동일 테이블에 대해 자기 조인을 수행합니다: aws_cloudtrail <SNOWFLAKE_IAM_USER>테이블에서 그리고 자기 조인의 두 요소 각각에 대해 과거 24시간으로 검색을 제한하기 위해 매크로 확장을 사용합니다(아래에서 별칭으로 지정된 와 ct1 ct2
order by createdBucket, createTime; 현재로부터의 시간 오프셋: 각기 다른 테이블에 적용된 두 개의 별도 호출이 있으며, 두 번째 매개변수로 사용된 테이블 별칭이 이를 나타냅니다. 이것은 다음 Snowflake 쿼리로 확장됩니다:
p_occurs_since 특정 시간 주변 필터:
특정 시간 주변 필터:p_occurs_around(timestamp, timeOffset [, tableAlias[, column]])
타임스탬프- 타임스탬프 형식— 검색할 시간(타임스탬프)을 나타냅니다timeOffsetoffsetFromPresent -— 타임스탬프 주변에서 검색할 시간의 양을 나타냅니다타임스탬프예:의 표현식으로, 현재를 기준으로 해석됩니다. 예:tableAlias- 제공된 경우 컬럼 별칭으로 사용될 선택적 식별자column- 제공된 경우 컬럼으로 사용될 선택적 식별자존재하지 않으면 기본 컬럼은
p_event_time.입니다. (예:
p_parsed_time)와 같은 다른 컬럼을 지정하면column에 대한 제한이 없을 경우 전체 테이블이 검색되므로 쿼리 시간이 크게 길어질 수 있습니다.p_event_time매크로
참고참고: 시간 표현식이 인스턴스가 사용 중인 데이터베이스 백엔드에서 파싱될 수 있는지 확인하세요. 자세한 내용은 - 96시간.
사용자를 사용할 것이며, p_occurs_around() 매크로는 주어진 시간 주변에 발생하는 이벤트를 필터링할 수 있게 해줍니다. 이 매크로는 타임스탬프 형식 형식의 타임스탬프를 받아 검색할 시간을 나타내고 - 형식의 오프셋을 받아 검색할 간격을 지정합니다. 검색 범위는 timestamp - timeOffset 에서 부터.
timestamp + timeOffset 까지입니다. 예를 들어 매크로
로 지정된 오프셋 매개변수를 사용하며 결과 집합을 현재 시간과 지정된 오프셋 사이의 이벤트로 필터링하고 적절한 파티션 또는 클러스터 키를 사용합니다(입출력을 최소화하고 쿼리 속도를 높임). JOIN.
p_occurs_around('2022-01-01 10:00:00.000', '10 m') WHERE 는 2022년 1월 1일 UTC 기준 오전 09:50부터 오전 10:10 사이에 발생한 이벤트를 필터링합니다.
접미사가 감지되지 않으면 기본값은 초입니다
p_occurs_around('2022-01-01 10:00:00.000', 900) // 초로 가정
p_occurs_around('2022-01-01 10:00:00.000', '96 hrs')
데이터 익스플로러에서 저장된 검색 관리 방법 데이터 익스플로러에서 자주 실행하는 검색을 저장하면 반복해서 다시 작성할 필요가 없습니다..
저장된 검색을 삭제하는 방법에 대한 지침은
저장 및 예약된 쿼리 데이터 익스플로러에서 저장되거나 예약된 검색 생성하기.
Panther 콘솔의 왼쪽 탐색 창에서 아래에는 데이터 익스플로러에서 작성한 검색을 저장하는 방법에 대한 지침이 나와 있습니다. 또한 > panther_monitor.
Search에서 저장된 검색을 생성할 수 있습니다
조사 SQL 편집기에서 SQL을 사용하여 검색을 작성하세요.시스템 전체 설정으로

LIMIT 절 필수 이 매크로들은 템플릿 매크로와 다릅니다. 템플릿 매크로에 대한 자세한 내용은.
를 활성화한 경우, 쿼리에 LIMIT가 포함되었는지 확인하세요. SQL 표현식에 변수를 포함하여 템플릿 검색을 만들 수 있습니다. 자세한 내용은.
일반 구성 다음 SQL 편집기 아래에서 클릭하세요 다음으로 저장
검색 저장팝업 모달이 나타나면 양식을 작성하세요:
태그검색 이름
설명: 설명적인 이름을 추가하세요.
: 유사한 검색을 그룹화하는 데 도움이 되도록 태그를 추가하세요.: 검색의 목적을 설명하세요.
기본 데이터베이스: 쿼리를 실행할 데이터베이스를 선택하세요. 켜기예약된 검색 만들기 켜기: 이 저장된 검색을 스케줄에 따라 실행되도록 하여 예약된 검색으로 만들려면 토글을
으로 전환하세요. 이 토글을으로 전환하면 아래 옵션이 표시됩니다: 켜기.
활성 실행 중?
: 이 예약된 검색을 선택한 일정에 따라 실행되도록 하려면 토글을 으로 전환하세요.
일정을 구성하려면 다음 중 하나를 클릭하세요: 와 주기(쿼리가 고정된 시간 간격으로 실행되어야 하는 경우 선택):
주기(일)주기(분)
: SQL 쿼리가 다시 실행될 일수 및/또는 분수를 입력하세요. 예: 0일과 30분의 주기를 설정하면 쿼리가 매일 30분마다 실행됩니다. 타임아웃(분) : 타임아웃 기간을 분 단위로 입력하세요(최대 허용값은 10분). 쿼리가 허용된 시간 내에 완료되지 않으면 Panther는 자동 취소하기 전에 3번 재시도합니다.):
크론 표현식 와 (특정 날짜에 반복 실행되어야 하는 경우 선택, 크론 표현식을 생성하는 방법에 대해서는예약된 검색 crontab 사용 방법
을 참조하세요) 와 분 시간
을 참조하세요) : 쿼리가 실행될 하루 중 시간을 입력하세요.
일주기(분)
월(월의 일): 특정 일과 월에 이 쿼리를 실행하려면 일과 월을 입력하세요. 켜기(요일): 특정 요일에 이 쿼리를 실행하려면 요일을 입력하세요. 타임아웃.

를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. 다음 SQL 편집기 아래에서 클릭하세요.
예약된 검색 결과 이메일로 전송 기본 데이터베이스 에서 : 검색 결과를 이메일로 전송하려면 이을(를) 토글하세요. 자세한 내용은 예약된 검색을 구성하여 이메일 보고서를 생성하는 방법 을 참조하세요.
예약된 검색을 생성한 경우(토글을
Panther 콘솔의 왼쪽 탐색 창에서 아래에는 데이터 익스플로러에서 작성한 검색을 저장하는 방법에 대한 지침이 나와 있습니다. 또한 > panther_monitor.
오른쪽 상단에서 클릭하세요 ON).
다음의 , 이제 다음 지침을 따라 예약된 룰을 생성할 수 있습니다
검색 결과가 디텍션을 통해 전달되기를 원하면. 데이터 익스플로러에서 저장되거나 예약된 검색 업데이트하기.
저장된 검색 열기
검색 열기
모달이 나타납니다. 업데이트.

다음의 모달에서 업데이트할 저장된 검색을 선택한 다음 다음 지침을 따라 예약된 룰을 생성할 수 있습니다
검색 열기 검색 저장, 태그, 설명, : 유사한 검색을 그룹화하는 데 도움이 되도록 태그를 추가하세요.및 저장된 검색이 데이터 익스플로러 SQL 편집기에 채워집니다. SQL 명령에서 원하는 변경을 수행하세요.
를 선택하고 Panther가 설치된 계정 ID를 입력하십시오. 모달에서 업데이트할 저장된 검색을 선택한 다음 편집기 아래에서 클릭하세요:
마지막 업데이트
도움이 되었나요?

