> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/search/panther-fields.md).

# 표준 필드

Panther의 로그 분석은 모든 로그 레코드에 정규화 필드(IP, 도메인 등)를 적용합니다. 이 필드들은 모든 데이터 소스 전반에서 속성에 대한 표준 이름을 제공하여 빠르고 쉽게 데이터 상관 분석을 가능하게 합니다.

예를 들어, 각 데이터 소스에는 이벤트가 발생한 시간이 있지만, 각 데이터 소스가 해당 속성의 이름을 동일하게 지정하지는 않을 가능성이 크며, 해당 시간이 다른 데이터 소스와 일관된 시간대를 갖는다고 보장되지도 않습니다.

Panther의 `p_event_time` 속성은 각 데이터 소스의 해당 이벤트 시간에 매핑되고 [UTC로 정규화됩니다](/ko/data-onboarding/custom-log-types/reference.md#timestamps). 즉 여러 데이터 소스를 조회할 때, 다음을 기준으로 조인하고 정렬할 수 있습니다 `p_event_time`, 각 데이터 소스의 서로 다른 스키마에도 불구하고.

{% hint style="info" %}
추가되는 모든 표준 필드는 다음으로 시작합니다 `p_.`
{% endhint %}

## 필수 필드

아래 필드들은 모든 로그 레코드에 추가됩니다:

<table data-header-hidden><thead><tr><th width="227.35377358490564">필드 이름</th><th width="150.8477048821628">유형</th><th>설명</th></tr></thead><tbody><tr><td><strong>필드 이름</strong></td><td><strong>유형</strong></td><td><strong>설명</strong></td></tr><tr><td><code>p_log_type</code></td><td><code>문자열</code></td><td>로그 유형.</td></tr><tr><td><code>p_row_id</code></td><td><code>문자열</code></td><td>행의 고유 ID(UUID).</td></tr><tr><td><code>p_event_time</code></td><td><code>timestamp</code></td><td>로그 유형에 대한 관련 이벤트 시간이 여기에 복사되어 UTC로 정규화됩니다.<br><br>형식: <code>YYYY-MM-DD HH:MM:SS.fff</code></td></tr><tr><td><code>p_parse_time</code></td><td><code>timestamp</code></td><td>이벤트가 파싱된 현재 시간이 UTC로 정규화되어 저장됩니다.<br><br>형식: <code>YYYY-MM-DD HH:MM:SS.fff</code></td></tr><tr><td><code>p_schema_version</code></td><td><code>정수</code></td><td>이 행에 사용된 스키마 버전.</td></tr><tr><td><code>p_source_id</code></td><td><code>문자열</code></td><td>소스 통합에 대해 Panther가 생성한 내부 ID.</td></tr><tr><td><code>p_source_label</code></td><td><code>문자열</code></td><td>소스 통합에 대해 사용자가 지정한 레이블(편집 시 변경될 수 있음).</td></tr><tr><td><code>p_source_file</code></td><td><code>object</code></td><td>S3 소스에서만 사용할 수 있으며, 이 필드에는 이 이벤트가 발생한 파일의 메타데이터가 포함됩니다. 여기에는 버킷 이름과 객체 키가 포함됩니다.</td></tr><tr><td><code>p_header</code></td><td><code>object</code></td><td>다음 경우에 봉투 메타데이터를 포함합니다 <strong>봉투 필드 유지</strong> 에 대해 활성화되어 있을 때 <a href="/pages/a8fbcba1605f17464633147cc6618b01bce5a1d6#envelope-field-retention">CloudWatch 로그 소스</a>. 로그 그룹, 로그 스트림, 소유자 계정, 구독 필터 등의 정보를 포함합니다.</td></tr></tbody></table>

{% hint style="info" %}
이벤트에 타임스탬프가 없으면 `p_event_time` 는 다음으로 설정됩니다 `p_parse_time`, 즉 이벤트가 파싱된 시간입니다.
{% endhint %}

해당 `p_source_id` 그리고 `p_source_label` 필드들은 데이터가 어디에서 유래했는지를 나타냅니다. 예를 들어, Panther에 등록된 여러 CloudTrail 소스를 각각 고유한 이름(예: "Dev Accounts", "Production Accounts", "HR Accounts" 등)으로 가질 수 있습니다. 이러한 필드들은 소스에 따라 데이터를 구분할 수 있게 해주며, 이는 Panther에서 감지를 구성할 때 유용합니다.

또한, 아래 필드들은 다음 항목의 모든 테이블의 로그 레코드에 추가됩니다 `panther_룰_matches` 데이터베이스:

<table data-header-hidden><thead><tr><th width="279.2877939529675">필드 이름</th><th width="195.33333333333334">유형</th><th>설명</th></tr></thead><tbody><tr><td><strong>panther_룰_matches의 필드 이름</strong></td><td><strong>유형</strong></td><td><strong>설명</strong></td></tr><tr><td><code>p_알러트_id</code></td><td><code>문자열</code></td><td>행과 관련된 알러트의 ID.</td></tr><tr><td><code>p_알러트_creation_time</code></td><td><code>timestamp</code></td><td>행과 관련된 알러트 생성 시간.</td></tr><tr><td><code>p_알러트_context</code></td><td>object</td><td>룰의 알러트_context() 함수에서 반환된 JSON 객체.</td></tr><tr><td><code>p_알러트_severity</code></td><td><code>문자열</code></td><td>알러트가 발생한 시점의 룰 심각도 수준입니다. 이는 동적으로 설정될 수 있으므로 기본 심각도와 다를 수 있습니다.</td></tr><tr><td><code>p_알러트_update_time</code></td><td><code>timestamp</code></td><td>행과 관련된 마지막 알러트 업데이트 시간.</td></tr><tr><td><code>p_룰_id</code></td><td><code>문자열</code></td><td>알러트를 생성한 룰의 ID.</td></tr><tr><td><code>p_룰_error</code></td><td><code>문자열</code></td><td>룰 실행 중 오류가 발생한 경우의 오류 메시지.</td></tr><tr><td><code>p_룰_reports</code></td><td><code>map[string]array[string]</code></td><td>행과 관련된 사용자 정의 룰 보고 태그 목록.</td></tr><tr><td><code>p_룰_severity</code></td><td><code>문자열</code></td><td>룰의 기본 심각도.</td></tr><tr><td><code>p_룰_tags</code></td><td><code>array[string]</code></td><td>행과 관련된 사용자 정의 룰 태그 목록.</td></tr></tbody></table>

## 지표 필드

일반적인 보안 질문은 “어떤 지표가 `한 번이라도 관찰된 적이` 있었는가 *우리의* 로그 중 하나에서?”입니다. Panther의 [검색](/ko/search/search-tool.md) 도구를 사용하면 다양한 로그 소스의 데이터를 검색하여 답을 찾을 수 있습니다.

로그 이벤트가 수집되면, [`indicators` 필드](/ko/data-onboarding/custom-log-types/reference.md#indicators) 해당 스키마의 항목은 어떤 필드의 값이 `p_any_` 필드로 추출되어야 하는지를 식별하며, 이 필드들은 이벤트에 추가되어 함께 저장됩니다. 아래 표는 각 `p_any_` 지표별로 데이터가 어떤 필드(들)로 추출되는지를 보여줍니다. `지표`. 모든 `p_any_` 필드는 리스트입니다.

사용자 지정 스키마를 구성할 때, 아래 표의 지표 이름 열에 있는 값을 스키마의 [`indicators` 필드](/ko/data-onboarding/custom-log-types/reference.md#indicators). 각 행(단, `hostname`, `net_addr`, 그리고 `url`을 제외한)은 [검색](/ko/search/search-tool.md).

아래 표의 필드에 없는 필드 이름/값 쌍은 [Search의 key/value 필터 표현식](/ko/search/search-tool.md#key-value-filter-expression) 기능으로 검색할 수 있습니다. 다만 이러한 필드는 서로 다른 로그 소스에서 서로 다른 구문을 가진 대응 필드로 매핑되지 않았기 때문에, 검색한 정확한 필드 이름을 포함하는 로그 소스의 일치 항목만 반환됩니다.

{% hint style="info" %}
스키마에서 필드를 지표로 지정하려면, 해당 필드의 유형이 `문자열`.
{% endhint %}

<table><thead><tr><th width="178.33333333333331">지표 이름</th><th width="213.67435158501445">추출되는 필드</th><th>설명</th></tr></thead><tbody><tr><td>actor_id</td><td>p_any_actor_ids</td><td>값을 p_any_actor_ids에 추가합니다.</td></tr><tr><td>aws_account_id</td><td>p_any_aws_account_ids</td><td>값이 유효한 AWS 계정 ID이면 p_any_aws_account_ids에 추가합니다.</td></tr><tr><td>aws_arn</td><td>p_any_aws_arns,<br>p_any_aws_instance_ids,<br>p_any_aws_account_ids,<br>p_any_emails<br></td><td>값이 유효한 AWS ARN이면 p_any_aws_arns에 추가합니다.<br>ARN에 AWS 계정 ID가 포함되어 있으면 이를 추출하여 p_any_aws_account_ids에 추가합니다.<br>ARN에 EC2 인스턴스 ID가 포함되어 있으면 이를 추출하여 p_any_aws_instance_ids에 추가합니다.<br>ARN이 AWS STS Assume Role을 참조하고 이메일 주소를 포함하는 경우, 이메일 주소를 추출하여 p_any_emails에 넣습니다.</td></tr><tr><td>aws_instance_id</td><td>p_any_aws_instance_ids</td><td>값이 유효한 AWS 인스턴스 ID이면 p_any_aws_instance_ids에 추가합니다.</td></tr><tr><td>aws_tag</td><td>p_any_aws_tags</td><td>값을 p_any_aws_tags에 추가합니다.</td></tr><tr><td>cve</td><td>p_any_cves</td><td>정규식과 일치하는 모든 값을 추출합니다 <code>^[Cc][Vv][Ee]-\d{4}-\d+$</code> 그리고 p_any_cves에 추가합니다</td></tr><tr><td>도메인</td><td>p_any_domain_names</td><td>값을 p_any_domain_names에 추가합니다.</td></tr><tr><td>이메일</td><td>p_any_emails</td><td>값이 유효한 이메일 주소이면 값을 p_any_emails에 추가합니다. 값 중 앞에 오는 부분은 <code>@</code> 또한 p_any_usernames에도 채워집니다</td></tr><tr><td>hostname</td><td>p_any_domain_names, p_any_ip_addresses</td><td>값을 p_any_domain_names에 추가합니다.<br>값이 유효한 IPv4 또는 IPv6 주소이면 p_any_ip_addresses에 추가합니다.</td></tr><tr><td>IP</td><td>p_any_ip_addresses</td><td>값이 유효한 IPv4 또는 IPv6 주소이면 p_any_ip_addresses에 추가합니다.</td></tr><tr><td>MAC</td><td>p_any_mac_addresses</td><td>값이 유효한 IEEE 802 MAC-48, EUI-48, EUI-64, 또는 20옥텟 IP over InfiniBand 링크 계층 주소이면 p_any_mac_addresses에 추가합니다.</td></tr><tr><td>MD5</td><td>p_any_md5_hashes</td><td>값이 유효한 MD5이면 값을 p_any_md5_hashes에 추가합니다.</td></tr><tr><td>mitre_attack_technique</td><td>p_any_mitre_attack_techniques</td><td>정규식과 일치하는 모든 값을 추출합니다 <code>\b[Tt]\d{4}(?:\.\d{3})?\b</code> 그리고 p_any_mitre_attack_techniques에 추가합니다. 예를 들어, 필드 값이 <code>"Technique: T1234"</code>, p_any_mitre_attack_techniques의 값은 <code>["T1234"]</code></td></tr><tr><td>net_addr</td><td>p_any_domain_names, p_any_ip_addresses</td><td>다음 형식의 값에서 추출합니다 <code>&#x3C;host>:&#x3C;port></code> 그리고 호스트 부분을 p_any_domain_names에 추가합니다.<br>호스트 부분이 유효한 IPv4 또는 IPv6 주소이면 p_any_ip_addresses에 추가합니다.</td></tr><tr><td>serial_number</td><td>p_any_serial_numbers</td><td>값을 p_any_serial_numbers에 추가합니다.</td></tr><tr><td>SHA1</td><td>p_any_sha1_hashes</td><td>값이 유효한 SHA1이면 p_any_sha1_hashes에 추가합니다.</td></tr><tr><td>SHA256</td><td>p_any_sha256_hashes</td><td>값이 유효한 SHA256이면 p_any_sha256_hashes에 추가합니다.</td></tr><tr><td>trace_id</td><td>p_any_trace_ids</td><td>값을 p_any_trace_ids에 추가합니다.<br>세션 ID 및 문서 ID와 같이, 관련 이벤트 시퀀스의 전체 활동을 추적하기 위해 요소를 다른 로그와 연결하는 데 사용되는 필드를 태깅합니다.</td></tr><tr><td>url</td><td>p_any_domain_names, p_any_ip_addresses</td><td><p>URL을 구문 분석하여 "http://" 또는 "https://" 뒤의 호스트 부분을 추출합니다.<br></p><p>호스트 부분을 p_any_domain_names에 추가합니다.<br>호스트 부분이 유효한 IPv4 또는 IPv6 주소이면 p_any_ip_addresses에 추가합니다.</p></td></tr><tr><td>사용자 이름</td><td>p_any_usernames</td><td>값을 p_any_usernames에 추가합니다.<br><br>이 필드에는 다음으로 표시된 값도 채워집니다 <code>이메일</code> 지표입니다. 이메일 값에서 앞에 오는 부분은 <code>@</code> 이 필드에 추가됩니다.</td></tr></tbody></table>

## 보강 필드 <a href="#enrichmentfields" id="enrichmentfields"></a>

Panther 규칙 엔진은 다음에서 조회된 일치 항목을 가져와 [조회 테이블 ](/ko/enrichment/custom.md)그 데이터를 다음 키를 사용하여 이벤트에 추가합니다 `p_enrichment` 다음 JSON 구조로:

```json
{ 
    'p_enrichment': {
        <name of lookup table>: { 
            <일치한 로그의 key>: <조회된 matching row>,
            ...
	    <일치한 로그의 key>: <조회된 matching row>,
        }    
    }
} 
```

<table><thead><tr><th width="250">Enrichment 필드 이름</th><th width="122.33333333333331">유형</th><th>Enrichment 필드 설명</th></tr></thead><tbody><tr><td><code>p_enrichment</code></td><td>object</td><td>일치하는 행이 발견된 조회 결과의 딕셔너리.</td></tr><tr><td><code>p_match</code></td><td>문자열</td><td><code>p_match</code> 는 각 일치하는 행의 데이터에 주입됩니다 <code>p_enrichment</code>. 그 값은 이벤트에서 일치한 값입니다.</td></tr></tbody></table>

## "all\_logs" 뷰

Panther는 표준 필드를 가진 모든 데이터 소스에 대한 뷰를 관리합니다.

이를 통해 다음과 같은 질문에 답할 수 있습니다. " *우리의* 활동이 `some-bad-ip`, 그리고 그렇다면 어디에서였나요?"

아래 쿼리는 로그 유형별로 IP 주소 `95.123.145.92`:

```sql
SELECT
 p_log_type, count(1) AS row_count
FROM panther_views.public.all_logs
WHERE p_occurs_between('2020-1-30', '2020-1-31')
     AND array_contains('95.123.145.92'::variant, p_any_ip_addresses)
GROUP BY p_log_type
```

이 결과를 바탕으로 활동이 표시된 특정 로그로 전환할 수 있습니다.

## 탐지의 표준 필드

Panther 표준 필드는 탐지에 사용할 수 있습니다.

예를 들어, 아래 Python 룰은 어떤 GuardDuty 알러트가 다음으로 태그된 리소스에 있을 때 트리거됩니다 `치명적`:

```python
def 룰(event):
    if 'p_any_aws_tags' in event:
        for tag in event['p_any_aws_tags']:
            if 'critical' in tag:
                return True
    return False 
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/search/panther-fields.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
