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

인리치먼트에 대해 로그 유형과 Selector가 어떻게 설정되는지
)로 로그가 인리치되었습니다.인리치먼트를 생성할 때 연관된 로그 유형과 Selector를 수동으로 설정할 수 있습니다 (옵션 1), 및/또는 자동 매핑되도록 둘 수 있습니다 ().
옵션 2
옵션 1: 로그 유형과 Selector를 수동으로 선택하기
인리치먼트를 생성할 때, 인리치먼트를 연관시킬 하나 이상의 로그 유형을 선택할 수 있으며—각 로그 유형에 대해 하나 이상의 Selector 필드를 선택할 수 있습니다. ), 및/또는 자동 매핑되도록 둘 수 있습니다 ( 이와 같이 로그 유형과 Selector를 수동으로 선택하더라도,
에서 설명된 자동 매핑이 여전히 적용된다는 점을 유의하세요. Panther 콘솔, 아래.

사용자 정의 인리치먼트를 구성하는 방법
CLI 워크플로우CLI 워크플로우에서 인리치먼트를 생성할 때는 YAML 구성 파일을 생성하고 업로드합니다.AssociatedLogTypes값은LogType및Selectors 필드를 포함하는 객체들의 목록이 될 것입니다. 전체 필드 목록은
사용자 정의 인리치먼트 명세 참조
를 참조하세요. 옵션 2: 로그 유형과 Selector를 자동으로 매핑하도록 허용하기 인리치먼트의 기본 키는 지시자.
또는
type: string
indicators: - mitre_attack_technique 각 지시자 값에 대해 Panther는 자동으로:
모든
활성
로그 유형을 찾아 해당 이벤트 필드 중 어느 것이 동일한 지시자로 지정되어 있는지 확인합니다.그 로그 유형들을 인리치먼트에 연관시킵니다.
각 로그 유형에 대해, 지시자와 연관된 p_any 필드를 Selector로 설정합니다. 예를 들어, 인리치먼트 데이터의 스키마가 위에 표시된 것처럼 attack_ids 예를 들어, 인리치먼트 데이터의 스키마가 위에 표시된 것처럼 기본 키를 mitre_attack_technique 지시자로 지정하면, 동일한
지시자
- name: cidr # 이것이 기본 키입니다
indicators: - mitre_attack_technique description: CIDR block
validate:cidr: ipv4모든
활성
이 경우 Panther는 자동으로:그 로그 유형들을 인리치먼트에 연관시킵니다.
ip
p_enrichment 구조
p_enrichment 구조지시자로 어떤 이벤트 필드를 지정한 로그 유형들을 p_enrichment 찾습니다. p_any_ip_addresses 이 매핑은 인리치먼트의 데이터가 갱신될 때마다 발생합니다. 로그 이벤트가 인리치먼트 데이터로 주입되면, 이벤트에필드가 추가되고 디텍션 내에서 p_enrichment deep_get()
또는
DeepKey
를 사용하여 접근합니다.
해당필드에는 다음이 포함됩니다:
수신 로그 이벤트와 일치한 하나 이상의 인리치먼트 이름 p_enrichment 인리치먼트와 일치한 수신 로그의 Selector 이름
'p_enrichment': { p_enrichment <인리치먼트1 이름>: { <셀렉터 이름>: { 'p_match': <Selector의 값>,
<인리치먼트 키>: <인리치먼트 값>,
참고로 p_any_ip_addresses
p_any_ip_addresses는 데이터 레이크의 로그 이벤트와 함께 저장되지 않습니다. 자세한 내용은 수신 로그가 어떻게 인리치되는지인리치먼트 데이터가 포함된 로그 이벤트 보기 p_enrichment 를 참조하세요.디텍션에서 인리치먼트 데이터에 접근하는 방법옵션 1 (로그가 인리치된 경우): p_any_ip_addresses 사용하여 p_any_ip_addresses 로그 이벤트가 수집 시 인리치되었다면 (.
) 위에 설명된 대로, 필드(위에 구조가 설명된) 내의 데이터에.
이벤트 객체 함수 를 사용하여 접근할 수 있습니다. 에 대해 더 알아보려면
를 사용하여 접근할 수 있습니다. 에 대해 더 알아보려면Python 디텍션 작성하기에서 을 참조하세요. 이 방법의 전체 예는 아래의 사용자 정의 인리치먼트 데이터를 사용하여 디텍션 작성하기에서 확인하세요. 수신 로그가 어떻게 인리치되는지.
옵션 2:
lookup()
를 사용하여 동적으로
Python 디텍션에서
event.lookup()
함수를 사용하여 인리치먼트 데이터를 동적으로 접근할 수도 있습니다.
이렇게 하면 인입 이벤트에 주입되지 않은 상태의 어떤 인리치먼트에서도 데이터를 검색할 수 있습니다 (위에 설명된 대로). 사용자 정의 인리치먼트를 구성하기 위한 전제 조건 인리치먼트를 구성하기 전에, 다음을 갖추었는지 확인하세요:
인리치먼트 데이터 전용 스키마
이는 인리치먼트 데이터의 구조를 설명합니다.
인리치먼트 데이터의 기본 키
이 기본 키는 인리치먼트 스키마에서 정의한 필드 중 하나입니다. 기본 키의 값은 인입 로그의 Selector 값과 비교되는 값입니다. 필드를 포함하는 객체들의 목록이 될 것입니다. 전체 필드 목록은
기본 키 요구사항에 대해 자세히 알아보려면 아래의 기본 키 데이터 타입
섹션을 참조하세요.(선택 사항) 인입 로그의 Selector들 이 Selector들의 값이 인리치먼트 데이터에서 일치 항목을 검색하는 데 사용됩니다. (CLI 워크플로우): 인리치먼트 구성 파일.
참조:
권장사항:
panther-analysis
리포지토리의 포크를 만들어
Panther Analysis Tool (PAT)
을 설치하는 것을 권장합니다. 파일 업로드 또는 S3/GCS 버킷을 사용하는 경우:.
사용자 정의 인리치먼트를 구성하기 위한 전제 조건
JSON 또는 CSV 형식의 인리치먼트 데이터
JSON 파일은 라인, 배열 또는 객체 등 다양한 방식으로 이벤트를 포맷할 수 있습니다.
스케줄된 검색을 사용하는 경우:
인리치먼트에 사용하려는 데이터를 반환하는 SQL 쿼리
Panther의 데이터 익스플로러를 통해 데이터 웨어하우스에 접근할 수 있는지 확인하세요
인리치먼트 테이블의 기본 키 컬럼은 다음 데이터 타입 중 하나여야 합니다:
문자열
숫자
배열(문자열 또는 숫자의 배열)
"actor_email": "[email protected]","action": "LOGIN" 값은 # 수신 로그 이벤트 두"actor_email": "[email protected]", "action": "EXPORT_FILE".
두 이메일 주소(
다음 중 하나를 정의하여 이러한 보강을 수행할 수 있습니다:
(권장) 문자열 배열 유형의 기본 키 열
문자열 유형의 기본 키 열
문자열 배열 유형의 기본 키 열을 가진 보강 테이블을 사용하면 제인의 여러 이메일 주소를 하나의 기본 키 항목에 포함시켜 하나의 데이터 행과 연결할 수 있습니다. 이는 다음과 같이 보일 수 있습니다:
또는 기본 키 열이 문자열 유형인 보강 테이블을 정의할 수 있습니다. 그러나 이벤트와 보강 테이블 간의 일치는 사용자 이메일 주소로 이루어지며 사용자는 여러 이메일 주소를 가질 수 있으므로(제인의 경우와 같이) 각 이메일마다 보강 테이블 행을 중복해야 합니다. 이는 다음과 같이 보일 것입니다:
두 옵션 모두 동일한 결과(즉, 로그 이벤트가 동일한 방식으로 보강됨)를 제공하지만, 문자열 배열 기본 키로 보강을 정의하는 것이 편의성과 유지보수 오류 발생 위험 감소 측면에서 권장됩니다.
Panther 콘솔
다음 사항을 충족한 후 전제 조건을(를) 충족하면 다음 방법 중 하나를 사용하여 사용자 지정 보강을 생성하고 구성할 수 있습니다:
옵션 1: 예약 검색으로 사용자 지정 보강 데이터 가져오기
데이터 웨어하우스에서 자동 업데이트가 반복 일정으로 직접 데이터를 가져오는 데 가장 적합합니다.
예: 현재 환경을 기반으로 자동으로 새로고침해야 하는 의심스러운 IP, 사용자 행동 패턴 또는 AWS 계정 매핑 추적.
옵션 2: 파일 업로드로 사용자 지정 보강 데이터 가져오기
AWS 계정 정보나 사내 서브넷 정보와 같이 상대적으로 정적인 데이터에 가장 적합합니다.
파일 업로드로 채워진 사용자 지정 보강 테이블의 최대 크기는 API 요청 페이로드 크기 제한으로 인해 6MB입니다.
예: AWS CloudTrail 로그에서 개발자 계정과 프로덕션 계정을 구분하는 메타데이터 추가.
옵션 3: S3 버킷에서 사용자 지정 보강 데이터 동기화 이 매핑은 인리치먼트의 데이터가 갱신될 때마다 발생합니다. 옵션 4: Google Cloud Storage(GCS) 버킷에서 사용자 지정 보강 데이터 동기화
데이터 양이 많고 비교적 자주 업데이트되는 경우에 가장 적합합니다. S3 또는 GCS 버킷의 변경 사항은 Panther로 동기화됩니다.
S3 또는 GCS 버킷에서 동기화된 사용자 지정 보강 테이블의 최대 크기는 10GB입니다.
예: 회사 직원과 연관된 그룹 및 권한 수준을 파악하려는 경우. 이 시나리오에서 회사는 그룹 및 권한 정보를 포함한 최신 Active Directory 목록의 사본을 S3 버킷에 보관할 수 있습니다.
이 방법 중 하나를 선택한 후 Panther 콘솔 또는 PAT.
사용자 지정 보강 테이블의 행당 최대 크기는 65535 바이트입니다.
옵션 1: 예약 검색으로 사용자 지정 보강 데이터 가져오기
예약 검색으로 사용자 지정 보강 데이터를 가져오는 기능은 오픈 베타 Panther 버전 1.117부터 시작되며 모든 고객이 사용할 수 있습니다. 버그 리포트 및 기능 요청은 Panther 지원 팀에 공유해 주세요.
사용자 지정 보강 데이터는 다음의 결과로 자동으로 채워질 수 있습니다: 예약 검색. 이 방법은 외부 스크립트나 수동 CSV 내보내기의 필요성을 없애며 정의된 일정에 따라 자동으로 업데이트되는 보강 데이터를 유지할 수 있게 합니다.
예약 검색으로 사용자 지정 보강 데이터를 가져올 때의 제한 사항
Panther가 생성한 데이터 스키마에서는 다음을 정의할 수 없습니다: 지표 필드. 이는 다음이 불가능함을 의미합니다: 로그 유형/셀렉터를 자동 매핑하도록 허용—직접 지정해야 합니다.
이 유형의 사용자 지정 보강은 PAT로 구성할 수 없습니다(파일 업로드, S3, , 및GCS 와 같이). Panther 콘솔을 통해 설정해야 합니다.사용자 지정 보강은 다음만 처리할 수 있습니다:
예약 검색 최대 100MB까지. CIDR 매칭은 사용할 수 없습니다.
예약 검색은 최소 15분마다 실행될 수 있습니다.
검색 타임아웃은 15분으로 고정되어 있으며 구성할 수 없습니다.
Panther 콘솔을 통해 예약 검색으로 데이터 가져오기
Panther 콘솔
Panther 콘솔의 왼쪽 탐색 표시줄에서 클릭하세요
구성 보강. > 오른쪽 상단에서 클릭하세요
새로 만들기, 그런 다음 선택하세요 사용자 지정 보강 대신 다음에서 시작할 수도 있습니다:.
조사 > 데이터 탐색기 페이지에서 쿼리를 입력한 다음 클릭하세요 쿼리로 보강 생성 에서.
보강 기본 정보 페이지, 필드를 작성하세요: 보강 이름
: 사용자 지정 보강에 대한 설명적인 이름.사용 설정?
: 이 토글이예
로 설정되어 있는지 확인하세요.. 이는 이 프로세스에서 나중에 데이터를 가져오기 위해 필요합니다.설명 - 선택 사항: 테이블에 대한 추가 컨텍스트.
참조 - 선택 사항: 일반적으로 내부 리소스에 대한 하이퍼링크에 사용됩니다.
클릭 계속.
보강 기본 정보 가져오기 방법 선택 페이지에서 쿼리로 데이터 가져오기 타일에서 클릭하세요 선택.
데이터 탐색기에서 시작한 경우 가져오기 방법이 자동으로 선택되고 이 페이지는 건너뜁니다. 데이터 탐색기 페이지.
보강 기본 정보 연관된 로그 유형(선택 사항) 페이지에서 로그 유형/셀렉터를 지정하세요:
이 단계는 기술적으로 선택 사항(즉, 로그 유형/셀렉터를 지정하지 않고 이 페이지를 건너뛸 수 있음)이지만, 로그가 보강되려면 이러한 지정이 필요합니다. 자동 매핑은 지원되지 않습니다. 자동 매핑 는 지원되지 않습니다.
클릭 로그 유형 추가.
클릭하세요 로그 유형 드롭다운에서 로그 유형을 선택하세요.
하나 이상의 LogType를 선택하세요. 보강으로 보강하려는 로그 유형의 외래 키 필드입니다.
중첩된 객체의 속성은 JSON 경로 구문을(를) 사용하여 참조할 수도 있습니다. 예를 들어 맵의 필드를 참조하려면 다음을 입력할 수 있습니다:
$.field.subfield.
클릭 로그 유형 추가 필요한 경우 다른 항목을 추가하려면.
클릭 계속.
보강 기본 정보 쿼리 설정 보강 이름
SQL 쿼리: 사용자 지정 보강에 대한 데이터를 반환하는 SQL 쿼리를 작성하세요. Data Explorer에서 Data Explorer에서 테스트.
를 클릭하여 쿼리를 테스트할 수 있습니다. 쿼리가 Panther에서 수집된 데이터를 가져오는 경우 p_
접두사로 시작하는표준 필드를 제외하거나 이름을 바꾸도록 하세요. 이러한 이름은 예약된 이름입니다.
보강 스키마는 SQL 쿼리를 기반으로 생성됩니다. 예를 들어 쿼리를 수정하여 스키마 필드와 유형을 변경할 수 있습니다. 예:SELECT AVG(total_events)::FLOAT AS mean_total_events는float형의 필드를 생성하고 이름을
mean_total_events로 지정합니다.
일정 유형 및 빈도: 데이터 새로고침 빈도에 따라 스케줄링 빈도를 구성하세요. 다음 중에서 선택:
주기: 쿼리를 고정된 시간 간격(예: 두 시간마다)으로 실행 크론
클릭 계속: 크론 식을 사용하여 특정 날짜와 시간에 쿼리를 실행
보강 기본 정보 크론 표현식 . Panther는 SQL 쿼리에서 자동으로 스키마를 생성합니다. 테이블 스키마 페이지에서 자동 생성된 스키마를 검토하고 드롭다운에서
클릭 기본 키 이름을(를) 선택하세요.
보강 생성 . 소스 설정 성공 페이지가 채워질 것입니다.선택적으로
로 설정되어 있는지 확인하세요.데이터를 받지 못할 경우 알람 설정?를 설정하려면 토글을 스케줄된 검색을 사용하는 경우: 값은 일정 유형 및 빈도 으로 전환하세요.
알람이 Panther에게 이 알림을 보낼 빈도를 나타내려면 필드를 작성하세요..
클릭 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면.
Panther 대상 을(를) 참조하세요..
설정 완료
예약 검색은 구성된 일정에 따라 실행되어 사용자 지정 보강 데이터를 자동으로 업데이트합니다. 검색 기록은
Panther 콘솔
검색 기록 페이지
구성 보강. > 에서 볼 수 있습니다..
새로 만들기, 옵션 2: 파일 업로드로 사용자 지정 보강 데이터 가져오기.
보강 기본 정보 Panther 콘솔 또는 PAT을 통해 파일 업로드로 데이터를 가져올 수 있습니다: Panther 콘솔을 통해 파일 업로드로 사용자 지정 보강 데이터 가져오기
: 사용자 지정 보강에 대한 설명적인 이름.사용 설정?
: 이 토글이예
로 설정되어 있는지 확인하세요.. 이는 이 프로세스에서 나중에 데이터를 가져오기 위해 필요합니다.설명 - 선택 사항: 테이블에 대한 추가 컨텍스트.
참조 - 선택 사항: 일반적으로 내부 리소스에 대한 하이퍼링크에 사용됩니다.

클릭 계속.
보강 기본 정보 연관된 로그 유형(선택 사항) 보강
클릭 로그 유형 추가.
클릭하세요 로그 유형 드롭다운에서 로그 유형을 선택하세요.
하나 이상의 LogType를 선택하세요. 보강으로 보강하려는 로그 유형의 외래 키 필드입니다.
중첩된 객체의 속성은 JSON 경로 구문을(를) 사용하여 참조할 수도 있습니다. 예를 들어 맵의 필드를 참조하려면 다음을 입력할 수 있습니다:
$.field.subfield.
클릭 로그 유형 추가 새로 만들기
기본 정보 페이지: 페이지에서 선택적으로 로그 유형/셀렉터를 지정하세요: 필요한 경우 다른 항목을 추가하려면.값은위의 예시 화면에서 우리는AWS.CloudTrail
클릭 계속.
보강 기본 정보 크론 표현식 로그를 선택하고accountID recipientAccountID를 CloudTrail 로그의 키를 나타내기 위해 입력했습니다. 페이지에서 테이블 스키마를 구성하세요: &#xNAN;참고: 아직 새 스키마를 생성하지 않았다면.
스키마 생성에 대한 문서 를 참조하세요. 사용자 지정 보강 데이터를 사용하여 스키마를 유추할 수도 있습니다. 스키마를 생성한 후 보강을 구성하는 동안 테이블 스키마 페이지의 드롭다운에서 선택할 수 있습니다. 페이지에서 자동 생성된 스키마를 검토하고 드롭다운에서
스키마 생성에 대한 문서 테이블 스키마 &#xNAN;
필요한 경우 다른 항목을 추가하려면..
클릭 계속.
보강 기본 정보 가져오기 방법 선택 페이지에서 참고: CSV 스키마는 사용자 지정 보강과 함께 작동하려면 열 헤더가 필요합니다 타일에서 클릭하세요 드롭다운에서.
보강 기본 정보 스키마 이름 을(를) 선택하세요. 이는 테이블의 고유한 열(예: 파일 업로드로 가져오기 설정
파일 업로드이 매핑은 인리치먼트의 데이터가 갱신될 때마다 발생합니다.페이지에서 파일을 끌어다 놓거나 클릭하여파일 선택클릭 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면을(를) 선택하세요.
을(를) 선택하여 가져올 보강 데이터 파일을 선택하세요. 파일은 다음 형식이어야 합니다: .csv.json형식. 로 설정되어 있는지 확인하세요. 데이터를 받지 못할 경우 알람 설정?
를 설정하려면 토글을 스케줄된 검색을 사용하는 경우: 값은 일정 유형 및 빈도 으로 전환하세요.
선택적으로, 옆의 필드를 작성하세요..
S

사용자 지정 보강이 데이터를 수신하지 못할 경우 알람 설정? 에서 설정을 토글하여 로 전환하세요. 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면 문서를 참조하세요
PAT
사용자 지정 보강 업로드 실패로 생성된 알림은 Panther 콘솔의
페이지 내에서 접근할 수 있습니다.
PAT을 통해 파일 업로드로 사용자 지정 보강 데이터 가져오기
데이터 파일이 1MB보다 큰 경우 대신
S3 동기화 업로드 방법
또는. GCS 동기화 업로드 방법또는을 사용하는 것이 권장됩니다.파일 및 폴더 설정사용자 지정 보강에는 다음 파일이 필요합니다: 섹션을 참조하세요. 참조로서의 저장소.
테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일
이 데이터 스키마 파일은 디렉터리 외부의 디렉터리에 저장되어야 합니다.
또는다른 커스텀 로그 스키마와 함께 예를 들어 에 저장하도록 선택할 수 있습니다./schemas당신의 panther-analysis 저장소 루트의 디렉터리.
테이블에 로드할 데이터를 포함한 JSON 또는 CSV 파일(선택 사항, 아래 참조).
스키마 및 구성 파일 작성
테이블 구성에서 일부 값을 참조하므로 일반적으로 먼저 데이터 스키마를 작성하는 것이 좋습니다.
YAML 데이터 스키마 파일을 생성합니다. 이 스키마는 테이블에 업로드할 파일을 읽는 방법을 정의합니다. 데이터로 CSV 파일을 사용하는 경우 스키마는 CSV를 파싱할 수 있어야 합니다.
테이블 스키마는 로그 스키마와 동일한 형식입니다. 스키마 작성에 대한 자세한 내용은 문서를 참조하세요. 로그 스키마 관리.
YAML 구성 파일을 생성합니다. 필수 및 허용 값의 전체 목록은 필드를 포함하는 객체들의 목록이 될 것입니다..
로컬 파일에 저장된 데이터를 사용하는 커스텀 인리치먼트의 예제 구성은 다음과 같습니다:
저장소 루트에서 스키마 파일을 업로드하려면 다음을 실행하세요
panther_analysis_tool update-custom-schemas--path ./schemas.저장소 루트에서 커스텀 인리치먼트를 업로드하려면 다음을 사용하세요
panther_analysis_tool upload.
Panther Analysis Tool을 통해 커스텀 인리치먼트를 업데이트합니다:
문제의 커스텀 인리치먼트에 대한 YAML 구성 파일을 찾습니다.
파일을 열고 필드
Filename을 찾으세요. 데이터 파일로 연결되는 파일 경로가 표시됩니다.에서 표시된 파일을 업데이트하거나 교체하세요.
Filename허용되는 값을 보려면 필드를 포함하는 객체들의 목록이 될 것입니다..구성 파일을 저장한 다음 다음으로 변경 사항을 업로드하세요:
선택적으로 커스텀 인리치먼트만 업로드하도록 지정할 수 있습니다:
옵션 3: S3 버킷에서 사용자 지정 보강 데이터 동기화
Panther 콘솔 또는 PAT를 통해 S3 버킷에서 데이터 동기화를 설정할 수 있습니다:
Panther 콘솔
Panther 콘솔을 통해 S3 버킷에서 커스텀 인리치먼트 데이터를 동기화
구성 Configure > Enrichments.
새로 만들기, 옵션 2: 파일 업로드로 사용자 지정 보강 데이터 가져오기.
추가 버튼을 클릭하세요 대신 다음에서 시작할 수도 있습니다: 카드.
보강 기본 정보 Panther 콘솔 또는 PAT을 통해 파일 업로드로 데이터를 가져올 수 있습니다: 보강 이름
: 사용자 지정 보강에 대한 설명적인 이름.사용 설정?
: 이 토글이예
로 설정되어 있는지 확인하세요.. 이는 이 프로세스에서 나중에 데이터를 가져오기 위해 필요합니다.설명 - 선택 사항: 테이블에 대한 추가 컨텍스트.
참조 - 선택 사항: 일반적으로 내부 리소스에 대한 하이퍼링크에 사용됩니다.

보강 기본 정보 연관된 로그 유형 보강
클릭 로그 유형 추가.
클릭하세요 로그 유형 드롭다운에서 로그 유형을 선택하세요.
하나 이상의 LogType, 외래 키 필드는 커스텀 인리치먼트 데이터로 인리치하려는 로그 유형을 구성합니다.
중첩된 객체의 속성은 JSON 경로 구문을(를) 사용하여 참조할 수도 있습니다. 예를 들어 맵의 필드를 참조하려면 다음을 입력할 수 있습니다:
$.field.subfield.
클릭 로그 유형 추가 새로 만들기
기본 정보 AWS.VPCFlow 페이지에서 선택적으로 로그 유형/셀렉터를 지정하세요: 계정VPC Flow 로그에서 키를 나타내기 위해.
클릭 계속.
보강 기본 정보 크론 표현식 페이지에서 테이블 스키마를 구성하세요. &#xNAN;accountID recipientAccountID. 스키마를 생성하면 커스텀 인리치먼트를 구성하는 동안 테이블 스키마 페이지의 드롭다운에서 해당 스키마를 선택할 수 있습니다.
스키마 생성에 대한 문서 를 참조하세요. 사용자 지정 보강 데이터를 사용하여 스키마를 유추할 수도 있습니다. 스키마를 생성한 후 보강을 구성하는 동안 테이블 스키마 페이지의 드롭다운에서 선택할 수 있습니다. 페이지에서 자동 생성된 스키마를 검토하고 드롭다운에서
스키마 생성에 대한 문서 테이블 스키마 &#xNAN;
필요한 경우 다른 항목을 추가하려면..
클릭 계속.
보강 기본 정보 가져오기 방법 선택 페이지에서 S3 버킷에서 데이터 동기화 타일에서 클릭하세요 드롭다운에서.

S3 소스를 설정하세요. 데이터는 에 있어야 합니다
파일 업로드이 매핑은 인리치먼트의 데이터가 갱신될 때마다 발생합니다.페이지에서 파일을 끌어다 놓거나 클릭하여파일 선택를 입력하세요 계정 ID, S3 버킷이 위치한 12자리 AWS 계정 ID.
를 입력하세요 S3 URI, 특정 S3 버킷을 식별하는 고유한 경로.
선택적으로 다음을 입력하세요 KMS 키 데이터가 KMS-SSE로 암호화된 경우.
를 입력하세요 업데이트 주기, S3 소스가 업데이트되는 주기(기본값 1시간).

클릭 계속.
IAM 역할을 설정하세요.
이 작업을 수행할 수 있는 세 가지 옵션에 대한 지침은 다음 섹션인 IAM 역할 생성을 참조하세요.
클릭 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면을(를) 선택하세요.
을(를) 선택하여 가져올 보강 데이터 파일을 선택하세요. 파일은 다음 형식이어야 합니다: .csv.json형식. 로 설정되어 있는지 확인하세요. 데이터를 받지 못할 경우 알람 설정?
를 설정하려면 토글을 스케줄된 검색을 사용하는 경우: 값은 일정 유형 및 빈도 으로 전환하세요.
선택적으로, 옆의 필드를 작성하세요..
S
S
커스텀 인리치먼트 업로드 실패로 생성된 알림은 에서 액세스할 수 있습니다 에서 설정을 토글하여 로 전환하세요. 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면 문서를 참조하세요
IAM 역할 생성
S3 소스를 사용하는 Panther 커스텀 인리치먼트와 함께 사용할 IAM 역할을 생성하는 방법에는 세 가지 옵션이 있습니다:

AWS 콘솔 UI를 사용하여 IAM 역할 생성
S3 소스로 커스텀 인리치먼트를 생성하는 과정에서 "IAM 역할 설정" 페이지에서 "AWS 콘솔 UI 사용" 라벨이 붙은 타일을 찾으세요. 타일 오른쪽에서 선택.
클릭 Launch Console UI.

템플릿 URL이 미리 채워진 새 브라우저 탭의 AWS 콘솔로 리디렉션됩니다.
CloudFormation 스택은 S3 버킷의 객체를 읽기 위한 최소 권한을 가진 AWS IAM 역할을 생성합니다.
AWS의 CloudFormation 스택에서 "Outputs" 탭을 클릭하고 Role ARN을 기록하세요.
Panther 계정으로 돌아가세요.
"AWS UI를 사용하여 역할 설정" 페이지에서 Role ARN을 입력하세요.
클릭 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면.
CloudFormation 템플릿 파일을 사용하여 IAM 역할 생성
S3 소스로 커스텀 인리치먼트를 생성하는 과정에서 "IAM 역할 설정" 페이지에서 "CloudFormation 템플릿 파일" 라벨이 붙은 타일을 찾으세요. 타일 오른쪽에서 클릭하세요 선택.
클릭 CloudFormation 템플릿, 템플릿을 다운로드하여 자체 파이프라인을 통해 적용할 수 있습니다.
AWS에 템플릿 파일 업로드:
AWS 콘솔을 열고 CloudFormation 제품으로 이동하세요.
클릭 스택 생성.
클릭 템플릿 파일 업로드 그리고 다운로드한 CloudFormation 템플릿을 선택하세요.
Panther의 "CloudFormation 템플릿" 페이지에 Role ARN을 입력하세요.
클릭 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면.
수동으로 IAM 역할 생성
S3 소스로 커스텀 인리치먼트를 생성하는 과정에서 "IAM 역할 설정" 페이지에서 다음 링크를 클릭하세요 모든 것을 직접 설정하겠습니다.
필요한 IAM 역할을 생성하세요. 필요한 IAM 역할은 수동으로 또는 자체 자동화로 생성할 수 있습니다. 역할 이름은 다음 형식을 사용해야 합니다
PantherLUTsRole-${Suffix}(예:PantherLUTsRole-MyLookupTable).IAM 역할 정책에는 아래에 정의된 문(statement)이 포함되어야 합니다:
S3 버킷이 AWS KMS를 사용한 서버 측 암호화로 구성된 경우, Panther API가 해당 KMS 키에 접근할 수 있도록 추가 문장을 포함해야 합니다. 이 경우 정책은 다음과 유사합니다:
Panther의 "역할을 수동으로 설정" 페이지에 Role ARN을 입력하세요.
이는 AWS 계정의 CloudFormation 스택의 "Outputs" 탭에서 찾을 수 있습니다.
클릭 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면, 그러면 새 Employee Directory 테이블이 나열된 인리치먼트 목록 페이지로 리디렉션됩니다.
PAT
PAT를 통해 S3 버킷에서 커스텀 인리치먼트 데이터 동기화
페이지 내에서 접근할 수 있습니다.
PAT을 통해 파일 업로드로 사용자 지정 보강 데이터 가져오기
데이터 파일이 1MB보다 큰 경우 대신
S3 동기화 업로드 방법
또는. GCS 동기화 업로드 방법또는을 사용하는 것이 권장됩니다.파일 및 폴더 설정사용자 지정 보강에는 다음 파일이 필요합니다: 섹션을 참조하세요. 참조로서의 저장소.
테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일
이 데이터 스키마 파일은 디렉터리 외부의 디렉터리에 저장되어야 합니다.
또는디렉터리(예:/schemaspanther 분석 레포의 루트에). 다른 커스텀 로그 스키마와 함께 저장하도록 선택할 수 있습니다.
테이블에 로드할 데이터를 포함한 JSON 또는 CSV 파일(선택 사항, 아래 참조).
스키마 및 구성 파일 작성
테이블 구성에서 해당 값들을 참조하므로 일반적으로 먼저 데이터 스키마를 작성하는 것이 좋습니다.
YAML 데이터 스키마 파일을 생성합니다. 이 스키마는 테이블에 업로드할 파일을 읽는 방법을 정의합니다. 데이터로 CSV 파일을 사용하는 경우 스키마는 CSV를 파싱할 수 있어야 합니다.
테이블 스키마는 로그 스키마와 동일한 형식입니다. 스키마 작성에 대한 자세한 내용은 문서를 참조하세요. 로그 스키마 관리.
테이블 구성을 위한 YAML 파일을 만듭니다. S3의 파일에 저장된 데이터를 사용하는 커스텀 인리치먼트의 예제 구성은 다음과 같습니다:
다음을 참고하세요
갱신필드에는 다음이 포함됩니다RoleARN,ObjectPathGCSPeriodMinutes및필수 및 허용 값의 전체 목록은 필드를 포함하는 객체들의 목록이 될 것입니다..
저장소 루트에서 스키마 파일을 업로드하려면 다음을 실행하세요
panther_analysis_tool update-custom-schemas--path ./schemas.저장소 루트에서 커스텀 인리치먼트를 업로드하려면 다음을 사용하세요
panther_analysis_tool upload.
사전 요구 사항
커스텀 인리치먼트를 S3와 동기화하도록 구성하기 전에 다음을 준비해야 합니다:
Panther가 S3 버킷에 접근하는 데 사용할 수 있는 AWS의 IAM 역할 ARN. Panther용 IAM 역할 설정에 대한 자세한 내용은 IAM 역할 생성 섹션을 참조하세요.
데이터를 저장하려는 파일의 경로. 경로 형식은 다음과 같아야 합니다:
s3://bucket-name/path_to_file/file.csv
옵션 4: Google Cloud Storage(GCS) 버킷에서 사용자 지정 보강 데이터 동기화
GCS 버킷에서 인리치먼트 데이터를 동기화하는 기능은 Panther 버전 1.114부터 오픈 베타로 제공되며 모든 고객에게 제공됩니다. 버그 리포트 및 기능 요청은 Panther 지원팀에 공유하세요.
Panther 콘솔 또는 PAT를 통해 GCS 버킷에서 데이터 동기화를 설정할 수 있습니다:
Panther 콘솔
Panther 콘솔을 통해 GCS 버킷에서 커스텀 인리치먼트 데이터를 동기화
구성 Configure > Enrichments.
새로 만들기, 옵션 2: 파일 업로드로 사용자 지정 보강 데이터 가져오기.
클릭하세요 대신 다음에서 시작할 수도 있습니다: 카드.
보강 기본 정보 Panther 콘솔 또는 PAT을 통해 파일 업로드로 데이터를 가져올 수 있습니다: 보강 이름
: 사용자 지정 보강에 대한 설명적인 이름.사용 설정?
: 이 토글이예
로 설정되어 있는지 확인하세요.. 이는 이 프로세스에서 나중에 데이터를 가져오기 위해 필요합니다.설명 - 선택 사항: 테이블에 대한 추가 컨텍스트.
참조 - 선택 사항: 일반적으로 내부 리소스에 대한 하이퍼링크에 사용됩니다.

클릭 계속.
보강 기본 정보 연관된 로그 유형(선택 사항) 보강
클릭 로그 유형 추가.
클릭하세요 로그 유형 드롭다운에서 로그 유형을 선택하세요.
하나 이상의 LogType, 외래 키 필드는 커스텀 인리치먼트 데이터로 인리치하려는 로그 유형을 구성합니다.
중첩된 객체의 속성은 JSON 경로 구문을(를) 사용하여 참조할 수도 있습니다. 예를 들어 맵의 필드를 참조하려면 다음을 입력할 수 있습니다:
$.field.subfield.
클릭 로그 유형 추가 새로 만들기
기본 정보 AWS.VPCFlow 페이지에서 선택적으로 로그 유형/셀렉터를 지정하세요: 계정VPC Flow 로그에서 키를 나타내기 위해.
클릭 계속.
보강 기본 정보 크론 표현식 로그를 선택하고참고: 아직 새 스키마를 생성하지 않았다면 다음을 참조하세요 recipientAccountID. 스키마를 생성하면 커스텀 인리치먼트를 구성하는 동안 테이블 스키마 페이지의 드롭다운에서 해당 스키마를 선택할 수 있습니다.
스키마 생성에 대한 문서 를 참조하세요. 사용자 지정 보강 데이터를 사용하여 스키마를 유추할 수도 있습니다. 스키마를 생성한 후 보강을 구성하는 동안 테이블 스키마 페이지의 드롭다운에서 선택할 수 있습니다. 페이지에서 자동 생성된 스키마를 검토하고 드롭다운에서
스키마 생성에 대한 문서 테이블 스키마 &#xNAN;
필요한 경우 다른 항목을 추가하려면..
클릭 계속.
보강 기본 정보 가져오기 방법 선택 페이지에서 Google Cloud Storage 버킷에서 데이터 동기화 타일에서 클릭하세요 드롭다운에서.

Google Cloud Storage 소스를 설정하세요. 데이터는 에 있어야 합니다
파일 업로드이 매핑은 인리치먼트의 데이터가 갱신될 때마다 발생합니다.페이지에서 파일을 끌어다 놓거나 클릭하여파일 선택를 입력하세요 Google Cloud Storage URI, 특정 객체를 식별하는 고유한 경로.
를 입력하세요 업데이트 주기, S3 소스가 업데이트되는 주기(기본값 1시간).

클릭 계속.
아이덴티티를 설정하세요.
이를 수행하는 방법에 대한 지침은 다음 섹션인 아이덴티티 설정을 참조하세요.
클릭 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면을(를) 선택하세요.
을(를) 선택하여 가져올 보강 데이터 파일을 선택하세요. 파일은 다음 형식이어야 합니다: 이 커스텀 인리치먼트가 데이터를 받지 못할 경우 알람을 설정하시겠습니까?형식. 로 설정되어 있는지 확인하세요. 데이터를 받지 못할 경우 알람 설정?
를 설정하려면 토글을 스케줄된 검색을 사용하는 경우: 값은 일정 유형 및 빈도 으로 전환하세요.
선택적으로, 옆의 필드를 작성하세요..
S
커스텀 인리치먼트 업로드 실패로 생성된 알림은 에서 액세스할 수 있습니다 에서 설정을 토글하여 로 전환하세요. 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면 문서를 참조하세요
아이덴티티 설정
지원되는 아이덴티티 방법은 Workload Identity Federation입니다. GCS 소스를 사용하는 Panther 커스텀 인리치먼트와 함께 Workload Identity Federation을 설정하는 방법에는 세 가지 옵션이 있습니다:
Terraform 템플릿 파일을 사용하여 Workload Identity Federation 설정
GCP 콘솔에서 Workload Identity Federation을 수동으로 설정

Terraform 템플릿 파일을 사용하여 Workload Identity Federation 설정
보강 기본 정보 아이덴티티 설정 페이지에서 GCS 소스로 커스텀 인리치먼트를 생성하는 과정 중 "Terraform 템플릿 파일" 라벨이 붙은 타일을 찾으세요. 타일 오른쪽에서 클릭하세요 선택.
클릭 Terraform 템플릿, 템플릿을 다운로드하여 자체 파이프라인을 통해 적용할 수 있습니다.
파일의 필드를 작성하세요
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 명령.
다음의 출력에서 찾을 수 있습니다 JSON 파일 제공, 자격 증명 구성 파일을 업로드하세요.
클릭 이 알람의 알림 대상은 페이지 하단에 표시됩니다. 알림 전송 위치를 구성 및 사용자화하려면
GCP 콘솔에서 Workload Identity Federation을 수동으로 설정
Google Cloud 콘솔에서 Panther가 로그를 가져올 버킷을 결정하세요.
아직 버킷을 생성하지 않았다면 다음을 참조하세요 버킷 생성에 관한 Google 문서.
균일 버킷 수준 액세스 Workload Identity Federation 엔터티가 클라우드 스토리지 리소스에 접근할 수 있도록 대상 버킷에서 활성화되어야 합니다.
다음을 따라 AWS와 Workload Identity Federation을 구성하세요 AWS 또는 Azure와 Workload Identity Federation 구성 문서.
다음을 정의할 때 속성 매핑 및 조건다음 예시를 참고하세요:
당신이 신원 풀에 공급자를 추가할 때, 선택하세요 AWS.
의 값 google.subject 어트리뷰트 은 127자를 초과할 수 없습니다. 당신은 사용할 수 있습니다 공통 표현식 언어(CEL) 표현식 을 사용하여 AWS가 발급한 토큰의 어트리뷰트를 변환하거나 결합할 수 있습니다. 위 표에서 제안된 표현식은 이 제한을 고려한 것이며 ARN을 Panther 엔터티를 고유하게 식별하는 값으로 변환하려는 시도입니다. AWS 어트리뷰트에 대한 자세한 내용은 "Example 2 - Called by user created with AssumeRole"를 이 AWS 문서 페이지에서.
계정에 필요한 IAM 역할을 할당하세요.
Pub/Sub 구독과 토픽이 존재하는 프로젝트에 다음 권한이 필요합니다:
필요한 권한들
역할
범위
storage.objects.getstorage.objects.listroles/storage.objectViewer버킷 이름
참고: 특정 리소스에 대한 권한에 조건이나 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
PAT
PAT을 통해 GCS 버킷에서 커스텀 인리치먼트 데이터를 동기화하기
페이지 내에서 접근할 수 있습니다.
PAT을 통해 파일 업로드로 사용자 지정 보강 데이터 가져오기
데이터 파일이 1MB보다 큰 경우 대신
S3 동기화 업로드 방법
또는. GCS 동기화 업로드 방법또는을 사용하는 것이 권장됩니다.파일 및 폴더 설정사용자 지정 보강에는 다음 파일이 필요합니다: 섹션을 참조하세요. 참조로서의 저장소.
테이블에 데이터를 로드할 때 사용할 스키마를 정의하는 YAML 파일
이 데이터 스키마 파일은 디렉터리 외부의 디렉터리에 저장되어야 합니다.
또는다른 커스텀 로그 스키마와 함께 예를 들어 에 저장하도록 선택할 수 있습니다./schemas당신의 panther-analysis 저장소 루트의 디렉터리.
테이블에 로드할 데이터를 포함한 JSON 또는 CSV 파일(선택 사항, 아래 참조).
스키마 및 구성 파일 작성
테이블 구성에서 해당 값들을 참조하므로 일반적으로 먼저 데이터 스키마를 작성하는 것이 좋습니다.
YAML 데이터 스키마 파일을 생성합니다. 이 스키마는 테이블에 업로드할 파일을 읽는 방법을 정의합니다. 데이터로 CSV 파일을 사용하는 경우 스키마는 CSV를 파싱할 수 있어야 합니다.
테이블 스키마는 로그 스키마와 동일한 형식입니다. 스키마 작성에 대한 자세한 내용은 문서를 참조하세요. 로그 스키마 관리.
테이블 구성을 위한 YAML 파일을 만드세요. GCS에 저장된 파일의 데이터를 사용하는 커스텀 인리치먼트의 예시는 아래 파일을 참조하세요.
다음을 참고하세요
갱신필드에는 다음이 포함됩니다GCSCredentials,StorageProvider,ObjectPathGCSPeriodMinutes및필수 및 허용 값의 전체 목록은 필드를 포함하는 객체들의 목록이 될 것입니다..
저장소 루트에서 스키마 파일을 업로드하려면 다음을 실행하세요
panther_analysis_tool update-custom-schemas--path ./schemas.저장소 루트에서 커스텀 인리치먼트를 업로드하려면 다음을 사용하세요
panther_analysis_tool upload.
사전 요구 사항
커스텀 인리치먼트를 GGS 버킷과 동기화하도록 구성하기 전에 다음 항목을 준비해야 합니다:
Panther가 Google Cloud Storage 객체에 접근하는 데 사용할 수 있는 workload identity pool용 JSON 자격 증명 구성. Panther의 Workload Identity Federation 설정에 대한 자세한 내용은 아이덴티티 설정 위의 Panther 콘솔 지침 섹션을 참조하세요.
데이터를 저장하려는 파일의 경로. 경로 형식은 다음과 같아야 합니다:
gs://bucket-name/path_to_file/file.csv
필드(위에 구조가 설명된) 내의 데이터에
커스텀 인리치먼트를 구성한 후에는 추가 컨텍스트를 기반으로 디텍션을 작성할 수 있습니다.
예를 들어, AWS CloudTrail 로그에서 개발자 계정과 프로덕션 계정을 구분하도록 커스텀 인리치먼트를 구성한 경우, 다음 두 조건이 모두 참일 때에만 알러트를 받도록 설정할 수 있습니다:
MFA가 활성화되지 않은 사용자가 로그인함.
AWS 계정이 프로덕션(개발자 아님) 계정임.
아래에서 인리치먼트 데이터를 사용하여 디텍션을 만드는 방법을 확인하세요:
이벤트가 자동으로 인리치된 인리치먼트 데이터에 접근하기
Python에서는 p_any_ip_addresses 헬퍼 함수 를 사용하여 p_enrichment 로그의 외래 키 필드를 사용하여 조회된 필드를 검색할 수 있습니다. 패턴은 다음과 같습니다:
커스텀 인리치먼트 이름, 외래 키 및 필드 이름은 모두 선택적 매개변수입니다. 지정하지 않으면 p_any_ip_addresses 는 사용 가능한 모든 인리치먼트 데이터가 포함된 계층적 딕셔너리를 반환합니다. 매개변수를 지정하면 필요한 데이터만 반환되도록 보장합니다.
규칙은 다음과 같이 됩니다:
동적으로 인리치먼트 데이터 접근하기
또한 이벤트 객체의 를 사용하여 접근할 수 있습니다. 에 대해 더 알아보려면 사용자 정의 인리치먼트 데이터를 사용하여 디텍션 작성하기 를 사용하여 디텍션에서 인리치먼트 데이터를 동적으로 접근할 수 있습니다. 이는 이벤트가 인리치먼트의 기본 키 열의 값과 정확히 일치하지 않을 때 유용할 수 있습니다.
안에 간단한 디텍션에서는, 당신은 인리치먼트 매치 표현식.
Panther 룰 엔진은 조회된 매치들을 가져와 다음 JSON 구조에서 키 p_enrichment 를 사용하여 이벤트에 해당 데이터를 추가합니다:
예시:
만약 매칭된 로그 키의 값이 배열인 경우(예: 값이 p_any_aws_accout_ids), 조회 데이터는 매칭된 레코드를 포함하는 배열이 됩니다.
예시:
인리치먼트를 사용하는 디텍션 테스트하기
을 사용하는 룰의 경우, p_enrichment오른쪽 상단의 Enrich Test Data JSON 코드 편집기에서 클릭하여 인리치먼트 데이터로 채우세요. 이것은 인리치먼트가 포함된 이벤트로 Python 함수를 테스트할 수 있게 해줍니다. p_enrichment.
단위 테스트가 올바르게 인리치되려면 이벤트에 다음 두 필드를 지정해야 합니다:
p_log_type: 이것은 사용할 인리치먼트를 결정합니다셀렉터 필드: 일치시킬 값을 제공합니다
마지막 업데이트
도움이 되었나요?

