사용자 지정 보강
보관된 자체 데이터로 이벤트를 보강
개요
커스텀 enrichment(또는 "Lookup Tables"라고도 함)를 사용하면 Panther에 커스텀 enrichment 데이터를 저장하고 참조할 수 있습니다. 즉, 디택션에서 이 추가 컨텍스트를 참조하여 알러트로 전달할 수 있습니다. 신원/자산 정보, 취약성 컨텍스트 또는 네트워크 맵을 포함하는 커스텀 enrichment를 만드는 것이 특히 유용할 수 있습니다.
다음이 있습니다 네 가지 가져오기 방법 옵션: Scheduled Search, 정적 파일, S3 버킷 또는 Google Cloud Storage(GCS) 버킷.
커스텀 enrichment에 하나 이상의 로그 유형을 연결할 수 있으며—그러면 해당 유형의 모든 들어오는 로그( enrichment 테이블 값과 일치하는 로그)는 enrichment 데이터를 포함하게 됩니다. enrichment 프로세스에 대해 자세히 알아보려면 들어오는 로그가 어떻게 enrichment되는지. 또한 Python 디택션에서 enrichment 데이터를 동적으로 참조할 수도 있습니다. 방법을 알아보려면 저장된 보강 데이터를 여기에서 확인하는 방법, 그리고 어떻게 여기에서 엔리치먼트 데이터가 포함된 로그 이벤트를 확인하세요.
데이터가 몇 개의 특정 디택션에만 필요하고 자주 업데이트되지 않는다면 Global helpers 를 enrichment 대신 사용하는 것을 고려하세요. 또한 다음을 사용할 수 있습니다 Panther가 관리하는 enrichments 예: IPinfo 및 Tor Exit Nodes와 같은.
커스텀 enrichment의 수 및/또는 enrichment 테이블의 크기 제한을 늘리려면 Panther 지원 팀에 문의하세요.
들어오는 로그가 어떻게 enrichment되는지
Panther의 enrichment는 전통적으로 다음 두 가지를 모두 정의합니다.
기본 키: enrichment 테이블 데이터의 한 필드.
enrichment가 CLI 워크플로에서 정의되는 경우, 이는 다음으로 지정됩니다
PrimaryKey필드의 YAML 구성 파일.
하나 이상의 연결된 로그 유형과, 각각 하나 이상의 Selector: Selector는 그 값이 enrichment 테이블의 기본 키 값과 비교되어 일치를 찾는 이벤트 필드입니다.
enrichment에 대한 로그 유형/Selector를 설정하는 방법은 두 가지가 있습니다. 다음을 참조하세요 enrichment에 대해 로그 유형과 Selector가 설정되는 방법, 아래.
로그가 Panther에 수집될 때, 해당 로그 유형이 enrichment와 연결된 유형이면 모든 Selector 필드의 값이 enrichment의 기본 키 값과 비교됩니다. Selector 필드의 값과 기본 키 값이 일치하면, 해당 로그는 일치한 기본 키의 연결된 enrichment 데이터가 포함된 p_enrichment 필드로 enrichment됩니다. 자세히 알아보려면 p_enrichment 아래의 p_enrichment 구조.
아래 이미지의 예에서 Selector 필드(들어오는 로그의 이벤트 내)는 ip_address. enrichment LUT1의 기본 키는 bad_actor_ip. 오른쪽의 알러트 이벤트에서는, 로그가 enrichment 데이터(다음을 포함하여)로 enrichment됩니다 bad_actor_name) 왜냐하면 Selector 값(1.1.1.1)과 기본 키 값(1.1.1.1).

enrichment에 대해 로그 유형과 Selector가 설정되는 방법
enrichment를 만들 때 연결된 로그 유형과 Selector를 수동으로 설정할 수 있습니다(옵션 1), 그리고/또는 자동으로 매핑되도록 둘 수 있습니다(옵션 2).
옵션 1: 로그 유형과 Selector를 수동으로 선택
enrichment를 만들 때, enrichment와 연결할 로그 유형을 하나 이상 선택할 수 있으며—각 로그 유형마다 하나 이상의 Selector 필드를 선택할 수 있습니다.
이 방식으로 로그 유형과 Selector를 수동으로 선택하더라도, 옵션 2 에 설명된 자동 매핑은 계속 적용됩니다.
Panther 콘솔에서 enrichment를 만들 때, 연결된 로그 유형과 Selector를 설정할 수 있습니다. 자세한 내용은 커스텀 enrichment 구성 방법, 아래.

CLI 워크플로에서 enrichment를 만들 때는 YAML 구성 파일을 생성하고 업로드하게 됩니다.
AssociatedLogTypes값은 다음을 포함하는 객체 목록이 됩니다LogType및Selectors필드.다음을 참조하세요 Custom Enrichment Specification Reference 필드의 전체 목록은 참조하세요.
옵션 2: 로그 유형과 Selector를 자동으로 매핑되게 하기
enrichment의 기본 키는 다음으로 표시할 수 있습니다 지표 또는 다음으로 CIDR 검증.
인디케이터 예시:
각 인디케이터 값에 대해 Panther는 자동으로 다음을 수행합니다.
모든 활성 동일한 인디케이터로 어떤 이벤트 필드든 지정하는 로그 유형을 찾습니다.
그 로그 유형들을 enrichment에 연결합니다.
각 로그 유형에 대해
p_any인디케이터와 연결된 필드를 Selector로 설정합니다.
예를 들어, enrichment 데이터의 스키마가 attack_ids 기본 키를 다음으로 지정한다면 mitre_attack_technique 위와 같이 인디케이터를 지정하면, Panther 인스턴스에서 또한 mitre_attack_technique 인디케이터를 설정하는 모든 로그 유형이 enrichment와 연결되며, 각 유형에는 p_any_mitre_attack_techniques Selector가 포함됩니다.
CIDR 검증 예시:
이 경우 Panther는 자동으로 다음을 수행합니다.
모든 활성 다음이 포함된 어떤 이벤트 필드든 지정하는 로그 유형
ip인디케이터.그 로그 유형들을 enrichment에 연결합니다.
각 로그 유형에 대해
p_any_ip_addresses인디케이터와 연결된 필드를 Selector로 설정합니다.
이 매핑은 enrichment의 데이터가 새로고침될 때마다 발생합니다.
p_enrichment 구조
로그 이벤트에 enrichment 데이터가 주입되면, p_enrichment 필드가 이벤트에 추가되며 다음을 사용해 디택션 내에서 접근할 수 있습니다 deep_get() 또는 DeepKey. p_enrichment 필드에는 다음이 포함됩니다.
들어오는 로그 이벤트와 일치한 하나 이상의 enrichment 이름
enrichment와 일치한 들어오는 로그의 Selector 이름
enrichment의 기본 키를 통해 일치한 enrichment 데이터(주입된
p_match필드에 일치한 Selector 값 포함)
다음은 p_enrichment 필드:
다음에 유의하세요 p_enrichment 는 데이터 레이크의 로그 이벤트와 함께 저장되지 않습니다. 다음을 참조하세요 enrichment 데이터가 포함된 로그 이벤트 보기 자세한 정보를 보려면.
디택션에서 enrichment 데이터에 접근하는 방법
옵션 1(로그가 enrichment된 경우): 다음 사용 deep_get()
로그 이벤트가 수집 시 enrichment되었다면(에 설명된 대로 들어오는 로그가 어떻게 enrichment되는지), 다음 내에서 데이터를 접근할 수 있습니다 p_enrichment 필드(그 구조는 위에서 설명됨)을 사용하여 deep_get() 이벤트 객체 함수. 자세히 알아보려면 deep_get() Python 디택션 작성하기에서.
아래의 이 방법의 전체 예시는 다음에서 확인하세요 사용자 지정 엔리치먼트 데이터를 사용한 디택션 작성.
옵션 2: 다음을 사용하여 동적으로 lookup()
다음을 사용하여 Python 디택션에서 enrichment 데이터에 동적으로 접근하는 것도 가능합니다 해당 event.lookup() 함수. 이렇게 하면, 에 설명된 것처럼 들어오는 이벤트에 주입되지 않은 상태로도 어떤 enrichment에서든 데이터를 가져올 수 있습니다 들어오는 로그가 어떻게 enrichment되는지.
커스텀 enrichment 구성 전제 조건
enrichment를 구성하기 전에, 다음이 준비되어 있는지 확인하세요:
enrichment 데이터 전용 스키마
이는 enrichment 데이터의 형태를 설명합니다.
enrichment 데이터의 기본 키
이 기본 키는 enrichment의 스키마에서 정의한 필드 중 하나입니다. 기본 키의 값은 들어오는 로그의 selector 값과 비교됩니다.
아래의 기본 키 데이터 유형 섹션에서 기본 키 요구 사항에 대해 자세히 알아보세요.
(선택 사항) 들어오는 로그의 Selector
이 Selector들의 값은 enrichment 데이터에서 일치 항목을 찾는 데 사용됩니다.
(CLI 워크플로): enrichment 구성 파일
참고 Custom Enrichment Specification Reference 필드의 전체 목록은 참조하세요.
다음을 권장합니다 다음의 포크를 생성하고
panther-analysis저장소 를 설치하세요 Panther Analysis Tool (PAT).
파일 업로드 또는 S3/GCS 버킷을 사용하는 경우:
JSON 또는 CSV 형식의 enrichment 데이터
JSON 파일은 줄, 배열 또는 객체 등 다양한 방식으로 이벤트를 형식화할 수 있습니다.
Scheduled Search를 사용하는 경우:
enrichment에 사용할 데이터를 반환하는 SQL 쿼리
다음을 통해 데이터 웨어하우스에 접근할 수 있는지 확인하세요 Panther의 Data Explorer.
기본 키 데이터 유형
enrichment 테이블의 기본 키 열은 다음 데이터 유형 중 하나여야 합니다.
문자열
숫자
배열(문자열 또는 숫자)
배열을 사용하면 enrichment 테이블의 한 행을 여러 문자열 또는 숫자 기본 키 값과 연결할 수 있습니다. 이렇게 하면 여러 기본 키에 대해 특정 데이터 행을 복제할 필요가 없습니다.
예시: 문자열 배열 vs. 문자열 기본 키 유형
특정 사용자와 연결된 들어오는 로그 이벤트에 추가 개인 정보가 포함되도록 커스텀 enrichment 테이블에 사용자 데이터를 저장하고 싶다고 가정해 보겠습니다. 사용자의 이메일 주소로 일치시키려 하므로, 이메일 필드는 enrichment 테이블의 기본 키이자 로그 이벤트의 Selector가 됩니다.
enrichment 테이블의 기본 키 열이 문자열인지 문자열 배열인지 결정하고 있습니다.
먼저, 로그 소스에서 수신할 것으로 예상되는 아래의 두 이벤트를 검토하세요.
두 이메일 주소(janedoeemailone@mail.com 및 janedoeemailtwo@mail.com)는 같은 사용자 Jane Doe.
에 속합니다. Panther가 이 이벤트들을 받으면, enrichment 테이블을 사용해 각 이벤트에 Jane의 전체 이름과 역할을 enrichment하고 싶을 것입니다. enrichment 후에는 이 이벤트들이 다음과 같이 보이게 됩니다:
다음 중 하나로 커스텀 enrichment를 정의하여 이 enrichment를 구현할 수 있습니다:
(권장) 문자열 배열 유형의 기본 키 열
문자열 유형의 기본 키 열
문자열 배열 유형의 기본 키 열을 가진 enrichment 테이블을 사용하면, Jane의 여러 이메일 주소를 하나의 기본 키 항목에 포함하여 한 행의 데이터와 연결할 수 있습니다. 이는 다음과 같이 보일 수 있습니다:
또는 문자열 유형의 기본 키 열을 가진 enrichment 테이블을 정의할 수도 있습니다. 그러나 이벤트와 enrichment 테이블 간의 일치는 사용자의 이메일 주소로 이루어지며, 사용자는 여러 이메일 주소를 가질 수 있으므로(Jane의 경우처럼), 각 이메일마다 enrichment 테이블 행을 복제해야 합니다. 이는 다음과 같습니다:
두 옵션 모두 같은 결과를 내지만(즉, 로그 이벤트가 동일한 방식으로 enrichment됨), 관리가 편하고 유지보수 실수의 가능성이 낮기 때문에 문자열 배열 기본 키로 enrichment를 정의하는 것이 권장됩니다.
커스텀 enrichment 구성 방법
다음을 충족한 후 전제 조건을 충족하면, 다음 방법 중 하나를 사용하여 커스텀 enrichment를 생성하고 구성할 수 있습니다. Panther 콘솔에서는 현재 각 방법이 enrichment 온보딩 페이지의 전용 타일로 제공되어 빠르고 직접적으로 접근할 수 있습니다:
옵션 1: Scheduled Search로 커스텀 enrichment 데이터 가져오기
타일: "스케줄된 쿼리로 데이터 가져오기"
반복 일정에 따라 자동 업데이트되도록 데이터 웨어하우스에서 직접 데이터를 가져오는 데 가장 적합합니다.
예: 현재 환경을 기반으로 자동 새로고침이 필요한 의심스러운 IP, 사용자 행동 패턴 또는 AWS 계정 매핑 추적.
옵션 2: 파일 업로드를 통해 커스텀 enrichment 데이터 가져오기
타일: "CSV 또는 JSON 파일 업로드"
AWS 계정 정보나 회사 서브넷처럼 비교적 정적인 데이터에 가장 적합합니다.
파일 업로드를 통해 채워진 커스텀 enrichment 테이블의 최대 크기는 6 MB입니다(API 요청의 payload 크기 제한 때문).
AWS CloudTrail 로그에서 개발 계정과 프로덕션 계정을 구분하기 위해 메타데이터를 추가하는 예.
옵션 3: S3 버킷에서 커스텀 enrichment 데이터 동기화
타일: "AWS S3에서 데이터 동기화"
간소화된 4단계 마법사를 사용합니다: 기본 정보 → S3 연결 → 스키마 → 검증.
데이터가 비교적 자주 업데이트되는 대량의 데이터가 있을 때 가장 적합합니다. S3 버킷의 변경 사항은 Panther와 동기화됩니다.
S3 버킷에서 동기화된 커스텀 enrichment 테이블의 최대 크기는 10 GB입니다.
예: 회사의 직원과 연결된 그룹 및 권한 수준을 알고 싶다고 가정해 보겠습니다. 이 경우 회사는 그룹 및 권한 정보가 포함된 최신 Active Directory 목록 사본이 들어 있는 S3 버킷을 보유하고 있을 수 있습니다.
옵션 4: Google Cloud Storage(GCS) 버킷에서 커스텀 enrichment 데이터 동기화
타일: "Google Cloud Storage에서 데이터 동기화"
데이터가 비교적 자주 업데이트되는 대량의 데이터가 있을 때 가장 적합합니다. GCS 버킷의 변경 사항은 Panther와 동기화됩니다.
GCS 버킷에서 동기화된 커스텀 enrichment 테이블의 최대 크기는 10 GB입니다.
Panther 인스턴스에서 Google Cloud Storage가 활성화되어 있어야 합니다.
이 방법 중 하나를 선택한 후에는 Panther 콘솔 또는 다음과 함께 작업하도록 선택할 수 있습니다 PAT.
커스텀 enrichment 테이블의 행 최대 크기는 65535 bytes입니다.
옵션 1: Scheduled Search로 커스텀 enrichment 데이터 가져오기
Scheduled Search를 사용한 커스텀 enrichment 데이터 가져오기는 Panther 버전 1.117부터 공개 베타이며, 모든 고객이 사용할 수 있습니다. 버그 보고와 기능 요청은 Panther 지원 팀에 공유해 주세요.
커스텀 enrichment 데이터는 다음 결과로 자동 채워질 수 있습니다 예약된 검색. 이 방법은 외부 스크립트나 수동 CSV 내보내기의 필요성을 없애 주며, 정해진 일정에 따라 자동으로 업데이트되는 enrichment 데이터를 유지할 수 있게 합니다.
Scheduled Search를 사용한 커스텀 enrichment 데이터 가져오기의 제한 사항
CIDR 매칭은 사용할 수 없습니다.
Scheduled Search는 최소 15분마다 실행할 수 있습니다.
검색 타임아웃은 15분으로 고정되어 있으며 구성할 수 없습니다.
Panther Console
Panther 콘솔을 통해 Scheduled Search로 데이터 가져오기
Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭하세요. 인리치먼트.
오른쪽 상단에서 다음을 클릭하세요: 새로 만들기.
또는 다음에서 시작할 수도 있습니다 검색, 그런 다음 다음을 선택합니다 데이터 탐색기 탭 페이지에서 쿼리를 입력한 다음 Create Enrichment via query.
enrichment 온보딩 페이지에서 스케줄된 쿼리로 데이터 가져오기 타일.
다음 페이지에서 기본 정보 페이지에서 다음 필드를 입력하세요:
보강 이름: 커스텀 enrichment의 설명적 이름.
설명 - 선택 사항: 테이블에 대한 추가 컨텍스트.
참조 - 선택 사항: 일반적으로 내부 리소스로 연결되는 하이퍼링크에 사용됩니다.
클릭합니다 설정.
다음 페이지에서 Query 페이지에서 다음 필드를 입력하세요:
SQL 쿼리: 커스텀 enrichment용 데이터를 반환하는 SQL 쿼리를 작성하세요. 다음을 클릭하여 Data Explorer에서 쿼리를 테스트할 수 있습니다 Data Explorer에서 테스트.
쿼리가 Panther가 수집한 데이터를 가져오는 경우, 다음으로 시작하는 표준 필드 를 제외하거나 이름을 바꾸어야 합니다
p_접두사로 시작하는 필드들은 예약된 이름이기 때문입니다.enrichment 스키마는 SQL 쿼리를 기반으로 생성됩니다. 예를 들어 쿼리를 수정하여 스키마 필드와 유형을 변경할 수 있습니다.
SELECT AVG(total_events)::FLOAT AS mean_total_events는 다음 유형의 필드를 생성합니다float및 이름mean_total_events
스케줄 유형 및 빈도: 데이터가 얼마나 자주 새로고침되어야 하는지에 따라 스케줄 빈도를 구성하세요. 다음 중에서 선택하세요:
주기: 고정된 시간 간격으로 쿼리 실행(예: 2시간마다)
Cron Expression: 다음을 사용하여 특정 날짜와 시간에 쿼리 실행 Cron 표현식
클릭합니다 계속. Panther는 SQL 쿼리로부터 자동으로 스키마를 생성합니다.
다음 페이지에서 스키마 페이지에서 자동 생성된 스키마를 검토하고 기본 키 드롭다운에서.
모든
문자열필드에 대해 선택적으로 다음을 추가할 수 있습니다 인디케이터 필드 를 클릭하여 인디케이터 추가 필드 옆에서 드롭다운에서 하나 이상의 인디케이터 유형(예: IP 주소, 도메인 이름, SHA256 해시)을 선택하세요. 인디케이터를 추가하면 자동 로그 유형 및 Selector 매핑 이 활성화됩니다.필드가 인디케이터를 사용할 수 있도록 하려면 SQL 쿼리에서 이를
STRING으로 캐스팅하세요.
클릭합니다 enrichment 만들기.
다음 페이지에서 확인 페이지에서 선택적으로 다음을 설정하세요 이 enrichment가 데이터를 전혀 받지 못하면 알러트를 설정하시겠습니까? 토글을
예알러트를 사용하도록 설정하려면다음 숫자 및 주기 필드에서 Panther가 이 알림을 얼마나 자주 보내야 하는지 지정합니다.
이 알러트의 알러트 대상은 페이지 하단에 표시됩니다. 알림이 전송될 위치를 구성하고 사용자 지정하려면 다음을 참조하세요 Panther Destinations.
클릭합니다 설정 완료.
Scheduled Search는 구성된 일정에 따라 실행되고 커스텀 enrichment 데이터를 자동으로 업데이트합니다. Search history는 다음에서 볼 수 있습니다 Search History 페이지.
SQL 기반 enrichments 편집: 기존 SQL 기반 커스텀 enrichment를 편집할 때 흐름에는 추가적인 Associated Log Types 단계가 Query와 Schema 단계 사이에 포함됩니다. 이를 통해 enrichment 구성을 편집하면서 로그 유형 연결을 관리할 수 있습니다.
옵션 2: 파일 업로드를 통해 커스텀 enrichment 데이터 가져오기
Panther 콘솔 또는 PAT를 통해 파일 업로드로 데이터를 가져올 수 있습니다:
Panther Console
Panther 콘솔을 통해 파일 업로드로 커스텀 enrichment 데이터 가져오기
Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭하세요. 보강.
오른쪽 상단에서 다음을 클릭하세요: 새로 만들기, 그런 다음 Custom Enrichment.
다음 페이지에서 기본 정보 페이지:
보강 이름: 커스텀 enrichment의 설명적 이름.
활성화됨?: 이 토글이
예로 설정되어 있는지 확인하세요. 이는 이 과정의 후반에 데이터를 가져오기 위해 필요합니다.설명 - 선택 사항: 테이블에 대한 추가 컨텍스트.
참조 - 선택 사항: 일반적으로 내부 리소스로 연결되는 하이퍼링크에 사용됩니다.

클릭합니다 계속.
다음 페이지에서 Associated Log Types(선택 사항) 페이지에서 선택적으로 로그 유형/Selector를 지정하세요:
클릭합니다 로그 유형 추가.
다음 타일을 클릭하세요: 로그 유형 드롭다운에서 그런 다음 로그 유형을 선택하세요.
하나 이상의 Selectors, 즉 커스텀 enrichment로 enrichment하려는 로그 유형의 외래 키 필드.
중첩된 객체의 속성은 다음을 사용해 참조할 수도 있습니다 JSON path 구문. 예를 들어 맵의 필드를 참조하려면 다음을 입력할 수 있습니다
$.field.subfield.
클릭합니다 로그 유형 추가 필요하면 또 다른 항목을 추가하세요.
위의 예시 화면에서는 다음을 선택했고 AWS.CloudTrail 로그와 다음을 입력했습니다 accountID및recipientAccountID를 사용하여 CloudTrail 로그의 키를 나타냈습니다.
클릭합니다 계속.
다음 페이지에서 Table Schema 페이지에서 Table Schema를 구성하세요: &#xNAN;참고: 아직 새 스키마를 생성하지 않았다면 다음을 참조하세요 스키마 생성 문서. 커스텀 enrichment 데이터를 사용하여 스키마를 추론할 수도 있습니다. 스키마를 생성하면 enrichment를 구성하는 동안 Table Schema 페이지의 드롭다운에서 선택할 수 있게 됩니다. &#xNAN;참고: CSV 스키마는 커스텀 enrichment와 함께 사용하려면 열 헤더가 필요합니다.
다음을 선택하세요 스키마 이름 드롭다운에서.
다음을 선택하세요 기본 키 이름 드롭다운에서. 이는 테이블의 고유한 열이어야 하며, 예를 들어
accountID.
클릭합니다 계속.
enrichment 온보딩 페이지에서 설정 에서 CSV 또는 JSON 파일을 업로드하세요 타일.
다음 페이지에서 파일 업로드 페이지에서 파일을 끌어다 놓거나 클릭하세요 파일 선택 가져올 Enrichment 데이터 파일을 선택하세요. 파일은
.csv또는.json형식이어야 합니다.클릭합니다 설정 완료. 소스 설정 성공 페이지가 표시됩니다.
선택 사항으로, 다음 옆에 S이 custom enrichment가 데이터를 받지 못하는 경우 알러트를 설정하시겠습니까?, 설정을 다음으로 전환하세요 예 알러트를 사용하도록 설정하려면
다음 숫자 및 주기 필드에서 Panther가 이 알림을 얼마나 자주 보내야 하는지 지정합니다.
이 알러트의 대상 위치는 페이지 하단에 표시됩니다. 알림이 전송되는 위치를 구성하고 사용자 지정하려면 다음 문서를 참조하세요: Panther Destinations.

custom enrichment 업로드 실패로 생성된 알림은 다음에서 확인할 수 있습니다: System Errors 탭에서 Alerts & Errors Panther Console의 페이지에서.
PAT
PAT를 통해 파일 업로드로 custom enrichment 데이터를 가져오기
데이터 파일이 1MB보다 크면 대신 다음을 사용하는 것이 좋습니다: S3 sync upload method 또는 GCS sync upload method.
파일 및 폴더 설정
custom enrichment에는 다음 파일이 필요합니다:
enrichment 테이블용 YAML 구성 파일
이 custom enrichment 구성 파일은 다음을 포함하는 이름의 폴더에 저장해야 합니다:
lookup_tables. 이는 최상위lookup_tables디렉터리이거나 이름이 일치하는 하위 디렉터리일 수 있습니다*lookup_tables*. 다음을 참조로 사용할 수 있습니다: panther-analysis 저장소를 참조로 사용할 수 있습니다.
테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일
이 데이터 스키마 파일은 다음 외부의 디렉터리에 저장해야 합니다:
lookup_tables디렉터리. 다른 custom log schema와 함께 저장할 수도 있습니다. 예:/schemaspanther-analysis 저장소 루트의 디렉터리.
테이블에 로드할 데이터를 포함한 JSON 또는 CSV 파일(선택 사항, 자세한 내용은 계속 읽어보세요).
스키마와 구성 파일 작성하기
테이블 구성에서 일부 값을 참조하므로, 일반적으로 먼저 데이터 스키마를 작성하는 것이 좋습니다.
YAML 데이터 스키마 파일을 만드세요. 이 스키마는 테이블에 데이터를 업로드할 때 사용할 파일을 읽는 방법을 정의합니다. 데이터에 CSV 파일을 사용하는 경우, 스키마는 CSV를 파싱할 수 있어야 합니다.
테이블 스키마는 log schema와 동일한 형식입니다. 스키마 작성에 대한 자세한 내용은 다음 문서를 참조하세요: 로그 스키마 관리.
YAML 구성 파일을 만드세요. 필요한 값과 허용되는 값의 전체 목록은 다음에서 확인하세요: Custom Enrichment Specification Reference.
로컬 파일에 저장된 데이터를 사용하는 custom enrichment의 예시 구성은 다음과 같습니다:
저장소 루트에서 다음을 실행하여 스키마 파일을 업로드하세요:
panther_analysis_tool update-custom-schemas--path ./schemas.저장소 루트에서 다음을 사용하여 custom enrichment를 업로드하세요:
panther_analysis_tool upload.
Panther Analysis Tool을 통해 custom enrichment를 업데이트하기:
해당 custom enrichment의 YAML 구성 파일을 찾으세요.
파일을 열고 다음 필드를 찾으세요:
Filename. 데이터 파일로 연결되는 파일 경로가 보여야 합니다.다음에 지정된 파일을 업데이트하거나 교체하세요
Filename. 허용되는 값을 보려면 다음을 참조하세요: Custom Enrichment Specification Reference.구성 파일을 저장한 다음 다음 명령으로 변경 사항을 업로드하세요:
선택적으로, custom enrichment만 업로드하도록 지정할 수 있습니다:
옵션 3: S3 버킷에서 커스텀 enrichment 데이터 동기화
Panther Console 또는 PAT를 통해 S3 버킷에서 데이터 동기화를 설정할 수 있습니다:
Panther Console
Panther Console을 통해 S3 버킷에서 custom enrichment 데이터를 동기화하기
S3 동기화 enrichment 설정은 간소화된 4단계 마법사를 사용합니다: 기본 정보 → S3에 연결 → 스키마 → 확인.
Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭하세요. 보강.
오른쪽 상단에서 다음을 클릭하세요: 새로 만들기.
enrichment 온보딩 페이지에서 AWS S3에서 데이터 동기화 타일.
다음 페이지에서 기본 정보 페이지에서 다음 필드를 입력하세요:
보강 이름: 커스텀 enrichment의 설명적 이름.
설명 - 선택 사항: 테이블에 대한 추가 컨텍스트.
참조 - 선택 사항: 일반적으로 내부 리소스로 연결되는 하이퍼링크에 사용됩니다.

이미지는 Panther Console의 custom enrichment 기본 정보 양식을 보여줍니다. Enrichment Name 필드에는 "Employee Directory"가 입력되어 있습니다. Description에는 "특정 사용자와 연결된 그룹 및 권한이 있는 디렉터리"라고 적혀 있습니다. 하단에는 Setup 버튼이 있습니다. 클릭합니다 설정.
다음 페이지에서 S3에 연결 페이지에서 S3 소스와 IAM 역할을 한 단계로 구성하세요:
Source Details:
다음을 입력합니다 계정 ID, S3 버킷이 위치한 12자리 AWS 계정 ID입니다.
다음을 입력합니다 S3 URI, 특정 S3 버킷을 식별하는 고유한 경로입니다.
선택적으로 다음을 입력하세요: KMS Key - Optional 데이터가 KMS-SSE로 암호화된 경우.
IAM Role Setup: 다음 방법 중 하나를 선택하세요:
Using the AWS UI: 클릭하세요 선택 이 카드에서 클릭하여 미리 채워진 템플릿을 사용해 AWS 콘솔에서 CloudFormation 스택을 시작하세요.
Using a CloudFormation Template File: 클릭하세요 선택 이 카드에서 클릭하여 자체 파이프라인으로 배포할 인프라 as code 템플릿 파일을 다운로드하세요.
Manual setup: 다음을 클릭하세요 모든 것을 직접 설정하고 싶습니다 카드 아래의 링크를 통해 IAM 역할을 직접 구성하세요. 스택을 배포하고 Role ARN을 얻은 후, 이를 양식에 붙여넣어 다음을 활성화하세요: 계속 버튼으로 스크롤하세요.

이미지는 Panther Console의 "Set up your S3 Enrichment" 양식을 보여줍니다. Account ID, S3 URI, KMS Key 필드가 있으며, IAM Role Setup 섹션에는 두 개의 카드(Using the AWS UI 및 Using a CloudFormation Template File)와 모든 것을 수동으로 설정하는 링크가 있습니다. 클릭합니다 계속.
다음 페이지에서 스키마 페이지에서 Table Schema를 구성하세요: &#xNAN;참고: 아직 새 스키마를 생성하지 않았다면 다음을 참조하세요 스키마 생성 문서. 스키마를 만든 후에는 custom enrichment를 구성할 때 Schema 페이지의 드롭다운에서 이를 선택할 수 있습니다.
다음을 선택하세요 스키마 이름 드롭다운에서.
다음을 선택하세요 기본 키 이름 드롭다운에서. 이는 테이블의 고유한 열이어야 하며, 예를 들어
accountID.
클릭합니다 계속.
다음 페이지에서 확인 페이지에서 선택적으로 전환하세요 이 custom enrichment가 데이터를 받지 못하는 경우 알러트를 설정하시겠습니까? 에서 예 알러트를 사용하도록 설정하려면
다음 숫자 및 주기 필드에서 Panther가 이 알림을 얼마나 자주 보내야 하는지 지정합니다.
이 알러트의 대상 위치는 페이지 하단에 표시됩니다. 알림이 전송되는 위치를 구성하고 사용자 지정하려면 다음 문서를 참조하세요: Panther Destinations.
클릭합니다 설정 완료 enrichment 구성을 완료하려면
기존 S3 enrichment를 편집하려면: 기존 S3 동기화 enrichment를 편집할 때 마법사에는 추가 Associated Log Types 단계가 S3에 연결 및 스키마, 로그 타입/Selectors를 지정할 수 있습니다:
클릭합니다 로그 유형 추가.
다음 타일을 클릭하세요: 로그 유형 드롭다운에서 그런 다음 로그 유형을 선택하세요.
하나 이상의 Selectors, custom enrichment 데이터로 enrichment하려는 로그 타입의 외래 키 필드입니다.
중첩된 객체의 속성은 다음을 사용하여 참조할 수 있습니다: JSON path 구문에 보존됩니다. 예:
$.field.subfield.
클릭합니다 로그 유형 추가 필요하면 또 다른 항목을 추가하세요.

custom enrichment 업로드 실패로 생성된 알림은 다음에서 확인할 수 있습니다: System Errors 탭에서 Alerts & Errors Panther Console의 페이지에서.
IAM 역할 만들기
S3 소스를 사용하는 Panther custom enrichment에 사용할 IAM 역할을 만드는 방법에는 세 가지가 있습니다:

AWS Console UI를 사용하여 IAM 역할 만들기
"Using the AWS Console UI"라고 표시된 타일을 찾으세요. 타일 오른쪽에서 다음을 클릭하세요: 선택.
클릭합니다 콘솔 UI 실행.

템플릿 URL이 미리 입력된 상태로 새 브라우저 탭에서 AWS 콘솔로 이동됩니다.
CloudFormation 스택은 S3 버킷의 객체를 읽는 데 필요한 최소 권한으로 AWS IAM 역할을 생성합니다.
AWS의 CloudFormation 스택에서 "Outputs" 탭을 클릭하고 Role ARN을 확인하세요.
Panther 계정으로 돌아가세요.
"Use AWS UI to set up your role" 페이지에서 Role ARN을 입력하세요.
클릭합니다 설정 완료.
CloudFormation Template File을 사용하여 IAM 역할 만들기
"CloudFormation Template File"라고 표시된 타일을 찾으세요. 타일 오른쪽에서 다음을 클릭하세요: 선택.
클릭합니다 CloudFormation template, 이를 통해 자체 파이프라인으로 적용할 템플릿을 다운로드합니다.
AWS에서 템플릿 파일을 업로드하세요:
AWS 콘솔을 열고 CloudFormation 서비스로 이동하세요.
클릭합니다 스택 생성.
클릭합니다 템플릿 파일 업로드 그리고 다운로드한 CloudFormation 템플릿을 선택하세요.
Panther의 "CloudFormation Template" 페이지에서 Role ARN을 입력하세요.
클릭합니다 설정 완료.
IAM 역할을 수동으로 만들기
"Set Up an IAM role" 페이지에서 S3 소스를 사용하는 custom enrichment 생성 과정 중 다음이라고 적힌 링크를 클릭하세요: 모든 것을 직접 설정하고 싶습니다.
필요한 IAM 역할을 만드세요. 필요한 IAM 역할은 수동으로 또는 자체 자동화를 통해 만들 수 있습니다. 역할 이름은 다음 형식을 사용해야 합니다:
PantherLUTsRole-${Suffix}(예:PantherLUTsRole-MyLookupTable).IAM 역할 정책에는 아래에 정의된 문이 포함되어야 합니다:
S3 버킷이 AWS KMS를 사용하는 서버 측 암호화로 구성되어 있다면, Panther API에 해당 KMS 키에 대한 액세스를 부여하는 추가 문을 포함해야 합니다. 이 경우 정책은 다음과 비슷합니다:
Panther의 "Setting up role manually" 페이지에서 Role ARN을 입력하세요.
이는 AWS 계정의 CloudFormation 스택 "Outputs" 탭에서 찾을 수 있습니다.
클릭합니다 설정 완료, 그러면 새 Employee Directory 테이블이 표시된 Enrichments 목록 페이지로 이동합니다.
PAT
PAT를 통해 S3 버킷에서 custom enrichment 데이터를 동기화하기
파일 및 폴더 설정
custom enrichment에는 다음 파일이 필요합니다:
enrichment 테이블용 YAML 구성 파일
이 custom enrichment 구성 파일은 다음을 포함하는 이름의 폴더에 저장해야 합니다:
lookup_tables. 이는 최상위lookup_tables디렉터리이거나 이름이 일치하는 하위 디렉터리일 수 있습니다*lookup_tables*. 다음을 참조로 사용할 수 있습니다: panther-analysis 저장소를 참조로 사용할 수 있습니다.
테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일
이 데이터 스키마 파일은 다음 외부의 디렉터리에 저장해야 합니다:
lookup_tables디렉터리(예:/schemaspanther analysis 저장소의 루트에). 다른 custom log schema와 함께 저장할 수도 있습니다.
테이블에 로드할 데이터를 포함한 JSON 또는 CSV 파일(선택 사항, 자세한 내용은 계속 읽어보세요).
스키마와 구성 파일 작성하기
테이블 구성에서 일부 값을 참조하므로, 일반적으로 먼저 데이터 스키마를 작성하는 것이 좋습니다.
YAML 데이터 스키마 파일을 만드세요. 이 스키마는 테이블에 데이터를 업로드할 때 사용할 파일을 읽는 방법을 정의합니다. 데이터에 CSV 파일을 사용하는 경우, 스키마는 CSV를 파싱할 수 있어야 합니다.
테이블 스키마는 log schema와 동일한 형식입니다. 스키마 작성에 대한 자세한 내용은 다음 문서를 참조하세요: 로그 스키마 관리.
테이블 구성을 위한 YAML 파일을 만드세요. S3의 파일에 저장된 데이터를 사용하는 custom enrichment의 예시 구성은 다음과 같습니다:
다음을 참고하세요:
Refresh필드에는RoleARN,ObjectPath, 및PeriodMinutes필드.필요한 값과 허용되는 값의 전체 목록은 다음에서 확인하세요: Custom Enrichment Specification Reference.
저장소 루트에서 다음을 실행하여 스키마 파일을 업로드하세요:
panther_analysis_tool update-custom-schemas--path ./schemas.저장소 루트에서 다음을 사용하여 custom enrichment를 업로드하세요:
panther_analysis_tool upload.
사전 요구 사항
custom enrichment를 S3와 동기화하도록 구성하기 전에 다음을 준비해야 합니다:
Panther가 S3 버킷에 액세스하는 데 사용할 수 있는 AWS IAM 역할의 ARN입니다. Panther용 IAM 역할 설정에 대한 자세한 내용은 다음 섹션을 참조하세요: IAM 역할 만들기.
데이터를 저장할 파일 경로입니다. 경로는 다음 형식이어야 합니다:
s3://bucket-name/path_to_file/file.csv
옵션 4: Google Cloud Storage(GCS) 버킷에서 커스텀 enrichment 데이터 동기화
Panther Console 또는 PAT를 통해 GCS 버킷에서 데이터 동기화를 설정할 수 있습니다:
Panther Console
Panther Console을 통해 GCS 버킷에서 custom enrichment 데이터를 동기화하기
GCS 동기화 enrichment 설정은 간소화된 4단계 마법사를 사용합니다: 기본 정보 → GCS에 연결 → 스키마 → 확인.
Panther Console의 왼쪽 탐색 표시줄에서 다음을 클릭하세요. 보강.
오른쪽 상단에서 다음을 클릭하세요: 새로 만들기.
enrichment 온보딩 페이지에서 Google Cloud Storage에서 데이터 동기화 타일.
다음 페이지에서 기본 정보 페이지에서 다음 필드를 입력하세요:
보강 이름: 커스텀 enrichment의 설명적 이름.
설명 - 선택 사항: 테이블에 대한 추가 컨텍스트.
참조 - 선택 사항: 일반적으로 내부 리소스로 연결되는 하이퍼링크에 사용됩니다.
클릭합니다 설정.
다음 페이지에서 GCS에 연결 페이지에서 Google Cloud Storage 소스와 ID 설정을 한 단계로 구성하세요:
Source Details:
다음을 입력합니다 Google Cloud Storage URI, 특정 객체를 식별하는 고유한 경로입니다(예:
gs://my-bucket/path/to/file.json).
ID 설정:
기본적으로 Terraform Template File 카드가 표시됩니다. 다음을 클릭하세요: 계속 카드에서 Terraform 기반 설정을 사용하세요.
대신 Workload Identity Federation을 수동으로 구성하려면 다음을 클릭하세요: 모든 것을 직접 설정하고 싶습니다 카드 아래의 링크를 클릭하세요.
방법을 선택하면 안내에 따라 JSON 자격 증명 구성 파일을 업로드하세요.
데이터는 반드시 다음 형식이어야 합니다:
.csv또는.json형식이어야 합니다.
클릭합니다 계속.
다음 페이지에서 스키마 페이지에서 Table Schema를 구성하세요: &#xNAN;참고: 아직 새 스키마를 만들지 않았다면 다음을 참조하세요: 스키마 생성 문서. 스키마를 만든 후에는 custom enrichment를 구성할 때 Schema 페이지의 드롭다운에서 이를 선택할 수 있습니다.
다음을 선택하세요 스키마 이름 드롭다운에서.
다음을 선택하세요 기본 키 이름 드롭다운에서. 이는 테이블의 고유한 열이어야 하며, 예를 들어
accountID.
클릭합니다 계속.
다음 페이지에서 확인 페이지에서 선택적으로 전환하세요 이 custom enrichment가 데이터를 받지 못하는 경우 알러트를 설정하시겠습니까? 에서 예 알러트를 사용하도록 설정하려면
다음 숫자 및 주기 필드에서 Panther가 이 알림을 얼마나 자주 보내야 하는지 지정합니다.
이 알러트의 대상 위치는 페이지 하단에 표시됩니다. 알림이 전송되는 위치를 구성하고 사용자 지정하려면 다음 문서를 참조하세요: Panther Destinations.

클릭합니다 설정 완료.
기존 GCS enrichment를 편집하려면: 기존 GCS enrichment를 편집할 때 추가 Associated Log Types 단계가 GCS에 연결 및 스키마 단계 사이에 나타나며, 로그 타입/Selectors를 지정할 수 있습니다:
클릭합니다 로그 유형 추가.
다음 타일을 클릭하세요: 로그 유형 드롭다운에서 그런 다음 로그 유형을 선택하세요.
하나 이상의 Selectors, custom enrichment 데이터로 enrichment하려는 로그 타입의 외래 키 필드입니다.
중첩된 객체의 속성은 다음을 사용해 참조할 수도 있습니다 JSON path 구문. 예를 들어 맵의 필드를 참조하려면 다음을 입력할 수 있습니다
$.field.subfield.
클릭합니다 로그 유형 추가 필요하면 또 다른 항목을 추가하세요.
custom enrichment 업로드 실패로 생성된 알림은 다음에서 확인할 수 있습니다: System Errors 탭에서 Alerts & Errors Panther Console의 페이지에서.
ID 설정 옵션
다음의 일부로 GCS에 연결 마법사의 단계에서 다음을 사용하여 두 가지 ID 설정 방법 중에서 선택할 수 있습니다: Workload Identity Federation:
Terraform Template File (기본 카드): 제공된 Terraform 템플릿을 사용하여 설정합니다. 다음을 클릭하세요: 계속 카드에서 계속 진행합니다.
Manual setup: 다음을 클릭하세요 모든 것을 직접 설정하고 싶습니다 GCP 콘솔에서 Workload Identity Federation을 수동으로 구성하려면 카드 아래의 링크를 클릭하세요.

Terraform 템플릿 파일을 사용하여 Workload Identity Federation 설정
다음 페이지에서 GCS에 연결 페이지에서 ID 설정 섹션에서, 계속 에서 Terraform Template File 카드.
클릭합니다 Terraform template, 이를 통해 자체 파이프라인으로 적용할 템플릿을 다운로드합니다.
다음의 필드를 채웁니다.
panther.tfvars파일에 구성 내용을 입력합니다.다음에 대한 값을 제공하세요.
panther_workload_identity_pool_id,panther_workload_identity_pool_provider_id, 및panther_aws_account_id.파일의 지침에 따라 나머지 리소스와 함께 버킷을 만들지, 아니면 이미 버킷이 있는지 확인하세요.
Terraform 구성 파일이 포함된 작업 디렉터리를 초기화하고 다음을 실행합니다
terraform init.해당하는 Terraform 명령어를 복사하고 제공된 명령을 CLI에서 실행합니다.
다음을 복사하여 풀용 자격 증명 구성 파일을 생성합니다. gcloud 명령어 를 제공된 대로 사용하되, 프로젝트 번호, 풀 ID, 공급자 ID의 값을 바꿔 CLI에서 실행합니다.
프로젝트 번호, 풀 ID, 공급자 ID는 다음의 출력에서 찾을 수 있습니다. Terraform 명령어를 복사하고.
다음에서 자격 증명 구성 파일을 업로드하세요: ID 설정 섹션.
다음을 클릭하여 마법사를 계속 진행하세요: 계속.
GCP 콘솔에서 Workload Identity Federation 수동 설정
다음을 선택하면 모든 것을 직접 설정하고 싶습니다 에서 옵션을 선택하면 ID 설정 섹션에서 Workload Identity Federation을 수동으로 구성할 수 있습니다:
Google Cloud 콘솔에서 Panther가 로그를 가져올 버킷을 확인합니다.
아직 버킷을 만들지 않았다면 다음을 참조하세요. 버킷 생성에 대한 Google의 문서.
균일한 버킷 수준 액세스 Workload Identity Federation 엔터티가 클라우드 스토리지 리소스에 액세스하도록 허용하려면 대상 버킷에서 활성화되어 있어야 합니다.
다음을 따라 AWS와 함께 Workload Identity Federation을 구성합니다. AWS 또는 Azure와 함께 Workload Identity Federation 구성 문서.
다음을 속성 매핑 및 조건을 정의하는 동안, 다음 예제를 참고하세요:
당신이 신원 풀에 공급자를 추가할 때, 선택 AWS.
다음의 값은 google.subject 속성 127자를 초과할 수 없습니다. 다음을 사용할 수 있습니다 Common Expression Language(CEL) 표현식 을 사용하여 AWS에서 발급한 토큰의 속성을 변환하거나 결합할 수 있습니다. 위 표에서 제안한 표현식은 이 제한을 고려한 것이며, ARN을 Panther 엔터티를 고유하게 식별하는 값으로 변환하려는 시도입니다. AWS 속성에 대한 자세한 내용은 이 AWS 문서 페이지의 "Example 2 - Called by user created with AssumeRole"를 참조하세요..
계정에 필요한 IAM 역할을 할당합니다.
다음 권한은 Pub/Sub 구독 및 주제가 있는 프로젝트에 필요합니다.
필요한 권한
역할
범위
storage.objects.getstorage.objects.listroles/storage.objectViewerbucket-name
참고: 특정 리소스의 권한에 조건이나 IAM 정책을 설정할 수 있습니다. 이는 GCP의 IAM 섹션(아래 예시 스크린샷 참조) 또는 특정 리소스의 페이지에서 할 수 있습니다.

참고: 다음을 사용하여 권한을 만들 수 있습니다.
gcloudCLI 도구에서$PRINCIPAL_ID는 다음과 같을 수 있습니다:principalSet://iam.googleapis.com/projects/<THE_ACTUAL_GOOGLE_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<THE_ACTUAL_POOL_ID>/attribute.account/<THE_ACTUAL_PANTHER_AWS_ACCOUNT_ID>gcloud projects add-iam-policy-binding $PROJECT_ID --member="$PRINCIPAL_ID" --role="roles/storage.objectViewer"
자격 증명 구성 파일 다운로드는 Panther에서 GCP 인프라에 인증할 때 사용됩니다.
gcloud CLI 도구를 사용하여 자격 증명 구성 파일을 생성하려면 다음 명령 형식을 사용합니다:
gcloud iam workload-identity-pools create-cred-config projects/$PROJECT_NUMBER/locations/global/workloadIdentityPools/$POOL_ID/providers/$PROVIDER_ID --aws --output-file=config.json
다음으로 돌아갑니다 GCS에 연결 Panther Console의 단계에서 다음에서 자격 증명 구성 파일을 업로드하세요: ID 설정 섹션을 사용한 다음 마법사를 계속 진행하세요.
PAT
PAT를 통해 GCS 버킷에서 custom enrichment 데이터를 동기화하기
파일 및 폴더 설정
custom enrichment에는 다음 파일이 필요합니다:
enrichment 테이블용 YAML 구성 파일
이 custom enrichment 구성 파일은 다음을 포함하는 이름의 폴더에 저장해야 합니다:
lookup_tables. 이는 최상위lookup_tables디렉터리이거나 이름이 일치하는 하위 디렉터리일 수 있습니다*lookup_tables*. 다음을 참조로 사용할 수 있습니다: panther-analysis 저장소를 참조로 사용할 수 있습니다.
테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일
이 데이터 스키마 파일은 다음 외부의 디렉터리에 저장해야 합니다:
lookup_tables디렉터리. 다른 custom log schema와 함께 저장할 수도 있습니다. 예:/schemaspanther-analysis 저장소 루트의 디렉터리.
테이블에 로드할 데이터를 포함한 JSON 또는 CSV 파일(선택 사항, 자세한 내용은 계속 읽어보세요).
스키마와 구성 파일 작성하기
테이블 구성에서 일부 값을 참조하므로, 일반적으로 먼저 데이터 스키마를 작성하는 것이 좋습니다.
YAML 데이터 스키마 파일을 만드세요. 이 스키마는 테이블에 데이터를 업로드할 때 사용할 파일을 읽는 방법을 정의합니다. 데이터에 CSV 파일을 사용하는 경우, 스키마는 CSV를 파싱할 수 있어야 합니다.
테이블 스키마는 log schema와 동일한 형식입니다. 스키마 작성에 대한 자세한 내용은 다음 문서를 참조하세요: 로그 스키마 관리.
테이블 구성을 위한 YAML 파일을 만드세요. GCS의 파일에 저장된 데이터를 사용하는 custom enrichment의 경우 아래 예시 파일을 참조하세요.
다음을 참고하세요:
Refresh필드에는GCSCredentials,StorageProvider,ObjectPath, 및PeriodMinutes필드.필요한 값과 허용되는 값의 전체 목록은 다음에서 확인하세요: Custom Enrichment Specification Reference.
저장소 루트에서 다음을 실행하여 스키마 파일을 업로드하세요:
panther_analysis_tool update-custom-schemas--path ./schemas.저장소 루트에서 다음을 사용하여 custom enrichment를 업로드하세요:
panther_analysis_tool upload.
사전 요구 사항
custom enrichment를 GGS 버킷과 동기화하도록 구성하기 전에 다음을 준비해야 합니다:
Panther가 Google Cloud Storage 객체에 액세스하는 데 사용할 수 있는 workload identity pool용 JSON 자격 증명 구성입니다. Panther용 Workload Identity Federation 설정에 대한 자세한 내용은 다음을 참조하세요: ID 설정하기 다음의 섹션 Panther Console 위의 지침.
데이터를 저장할 파일 경로입니다. 경로는 다음 형식이어야 합니다:
gs://bucket-name/path_to_file/file.csv
사용자 지정 엔리치먼트 데이터를 사용한 디택션 작성
custom enrichment를 구성한 후에는 추가 컨텍스트를 기반으로 디택션을 작성할 수 있습니다.
예를 들어, AWS CloudTrail 로그에서 개발자 계정과 프로덕션 계정을 구분하도록 custom enrichment를 구성했다면, 다음 조건이 모두 참일 경우에만 알러트를 받도록 할 수 있습니다:
MFA가 활성화되지 않은 사용자가 로그인했습니다.
AWS 계정이 프로덕션(개발자 계정이 아님)입니다.
아래에서 enrichment 데이터를 사용하여 디택션을 만드는 방법을 확인하세요:
이벤트가 자동으로 enrichment된 데이터에 액세스하기
Python에서는 다음을 사용할 수 있습니다: deep_get() 헬퍼 함수 에서 조회된 필드를 가져오려면 p_enrichment 로그의 외래 키 필드를 사용합니다. 패턴은 다음과 같습니다:
custom enrichment 이름, 외래 키, 필드 이름은 모두 선택적 매개변수입니다. 지정하지 않으면 deep_get() 사용 가능한 모든 enrichment 데이터가 포함된 계층적 딕셔너리를 반환합니다. 매개변수를 지정하면 관심 있는 데이터만 반환되도록 할 수 있습니다.
룰은 다음과 같이 됩니다:
enrichment 데이터를 동적으로 액세스하기
또한 다음을 사용할 수도 있습니다: 이벤트 객체의 lookup() 함수 를 사용하여 디택션에서 enrichment 데이터에 동적으로 액세스할 수 있습니다. 이벤트에 enrichment의 기본 키 열 값과 정확히 일치하는 값이 없는 경우 유용할 수 있습니다.
에서 간단한 디택션, 다음을 만들 수 있습니다: Enrichment match expression.
Panther 룰 엔진은 조회된 일치 항목을 가져와 다음 키를 사용하여 해당 데이터를 이벤트에 추가합니다: p_enrichment 다음 JSON 구조에서:
예:
일치하는 로그 키의 값이 배열인 경우(예: p_any_aws_accout_ids), 조회 데이터는 일치하는 레코드를 포함하는 배열입니다.
예:
enrichment를 사용하는 디택션 테스트하기
다음을 사용하는 룰의 경우 p_enrichment, 다음을 클릭하세요. Enrich Test Data JSON 코드 편집기 오른쪽 상단에서 이를 클릭하여 Enrichment 데이터로 채우세요. 이를 통해 다음을 포함하는 이벤트로 Python 함수를 테스트할 수 있습니다: p_enrichment.
단위 테스트가 제대로 enrichment되려면 이벤트에 다음 두 필드를 지정해야 합니다:
p_log_type: 이는 사용할 Enrichment를 결정합니다선택자 필드: 비교할 값을 제공합니다
마지막 업데이트
도움이 되었나요?

