> 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/enrichment/custom/examples/1password-uuids.md).

# 사용자 지정 보강 사용: 1Password UUID

## 개요

기본적으로 1Password 로그에는 금고(vault) 및 로그인 자격 증명과 같은 개체에 대한 사람이 읽을 수 있는 값이 포함되어 있지 않습니다. 대신 각 개체는 범용 고유 식별자(UUID)로 참조됩니다. Panther에서 사용자 지정 enrichment를 사용하여 UUID를 읽기 쉬운 이름으로 변환할 수 있습니다. 우리는 커맨드 라인 인터페이스(CLI)를 사용하는 것을 권장하지만, API를 사용하는 것도 가능합니다.

다음 예시에서는 CLI를 통해 1Password 항목 목록과 그에 연결된 UUID를 추출한 다음, UUID를 사람이 읽을 수 있는 친숙한 이름으로 변환하는 사용자 지정 enrichment를 만들었습니다.

### **사전 요구 사항**

* 기존의 [1Password 로그 소스](/ko/data-onboarding/supported-logs/1password.md) 그리고 데이터가 Panther 계정으로 수집되고 있는
* 명령줄 유틸리티 `jq` 설치됨
* 다음 [1Password 명령줄 도구](https://1password.com/downloads/command-line/) 설치되어 있습니다

## **연결된 UUID가 포함된 1Password 항목 목록 가져오기**

1. CLI를 통해 1Password에 로그인합니다.
2. 다음 함수를 사용하여 연결된 UUID를 포함한 1Password 항목 목록을 추출하고 다음 이름의 JSON 파일에 저장합니다: *1password\_enrichment.json*:\
   `op item list --format json | jq -c '.[] | {uuid:.id,title:.title,updatedAt:.updatedat}' >> 1password_enrichment.json`

   \
   또는 1Password CLI v1을 사용 중이라면 다음 명령을 사용합니다:

   * `op list items | jq -c '.[] | {uuid:.uuid,title:.overview.title,updatedAt:.updatedAt}' >> 1password_enrichment.json`

{% hint style="info" %}
나중 단계에서 이 1password\_enrichment.json을 사용하여 스키마를 만들어야 한다는 점에 유의하세요.

스키마 생성에 대한 자세한 내용은 다음을 참조하세요: [사용자 지정 로그](/ko/data-onboarding/custom-log-types.md#how-to-define-a-custom-schema).
{% endhint %}

## **Panther에서 사용자 지정 enrichment 만들기**

1. Panther 콘솔에 로그인합니다. 왼쪽 탐색에서 다음을 클릭합니다: **보강**.
2. 오른쪽 상단에서 다음을 클릭합니다: **새로 만들기**.
3. 다음 타일을 클릭하세요: **Custom Enrichment** 카드.
4. 다음 페이지에서 **Enrichment 기본 정보** 페이지에서 다음을 추가합니다: **보강 이름**그리고 필요에 따라 설명과 참조를 추가합니다.\
   ![The image shows the Lookup Table Basic Information form. The Lookup Name is set to "1Password Translation."](/files/0690a45ceaf961174a6b8bf907c075035c07b1c1)
   * 이 예시에서는 이름이 “1Password Translation”이고 설명은 “1Password UUID를 사람이 읽을 수 있는 이름으로 변환합니다.”
   * Reference 필드는 일반적으로 관련 내부 리소스에 대한 하이퍼링크를 저장하는 데 사용됩니다.
5. 클릭합니다 **계속**.
6. 연결된 로그 유형 페이지에서 Log Type을 선택합니다 **OnePassword.ItemUsage**. Selectors 아래에 다음을 추가합니다: `item_uuid`.\
   ![On the Associated Log Types page, the Log Type is set to OnePassword.ItemUsage and the Selectors field is set to item\_uuid.](/files/ba54218fd3af985cfe04ceb02c69c3e125aac075)
7. 클릭합니다 **계속**.
8. Table Schema 페이지에서 1Password JSON 파일을 기반으로 만든 스키마를 추가합니다. Primary Key Name에서 다음을 선택합니다: `uuid`.
   * 아직 스키마를 만들지 않았다면, 다음 단계로 진행하기 전에 여기의 문서를 따라 하나를 만드세요: [샘플 로그로부터 사용자 지정 로그 유형에 대한 스키마 생성](https://docs.runpanther.io/data-onboarding/custom-log-types#generating-a-custom-log-type-from-sample-logs).
9. 클릭합니다 **계속**.
10. 데이터 가져오기 페이지에서 다음을 클릭합니다: **파일 선택** 그런 다음 OnePasswordItems JSON 파일을 선택합니다.
11. 클릭합니다 **설정 완료** enrichment 목록으로 돌아가려면.

이제 사용자 지정 enrichment를 만들었으므로, enrichment에서 제공하는 추가 컨텍스트를 기반으로 디택션을 작성할 수 있습니다. 다음 섹션에서는 이 새 값들을 사용하여 디택션을 작성하는 방법을 다룹니다.

## **디택션 작성하기**

### **디택션에 사용할 데이터 가져오기**

1. Panther 계정에 로그인한 다음, 왼쪽 탐색에서 다음을 클릭합니다: **검색**, 그런 다음 다음을 선택합니다 **데이터 탐색기** 탭.
2. OnePassword 항목의 처음 10개 행을 추출하는 새 쿼리를 작성합니다: `select * from your_company_logs.public.onepassword_itemusage limit 10`
3. 페이지 하단의 “결과” 테이블에서 다음을 클릭합니다: **JSON 보기** 레코드 중 하나 옆에 있는 항목입니다.
4. JSON 텍스트를 클립보드에 복사합니다.

아래 예시에서는 1Password vault의 특정 로그인 자격 증명 집합에 지정된 이름을 기반으로 디택션을 작성합니다. 이 경우 1Password의 로그인 이름은 “Sensitive Password”로 표시됩니다.

### **디택션 작성**

1. Panther 계정의 왼쪽 탐색에서 다음을 클릭합니다: **탐지**.
2. 오른쪽 상단에서 다음을 클릭하세요: **새로 만들기**.
3. 페이지 상단에서 **룰**.
4. Log Type 필드에서 “OnePasswordItems.”를 선택합니다.
5. 아래 **테스트**, 다음을 클릭하세요. **새로 추가**. Data Explorer에서 복사한 JSON 텍스트를 붙여넣습니다.
6. 클릭합니다 **Enrich Test Data** 그리고 title이 다음 아래 친숙한 이름으로 표시되는지 확인합니다: `p_enrichment` 필드:\
   ![The image shows a section of the test data, including the p\_enrichment field which contains the title "Sensitive Password."](/files/1723e91127e20fb7c20beaed9e58b60c41f2c10d)
7. Python 룰 로직 편집기에 다음을 붙여넣습니다:

   ```python
   from panther_base_helpers import deep_get
   def 룰(event): 
       if deep_get(event, "p_enrichment", "1Password Translation","item_uuid", "title") == "Sensitive Password": 
           return True
       return False
   ```

   * 다음을 사용하는 경우 [간단한 디택션](/ko/detections.md#simple-detections), YAML 텍스트 편집기에 다음을 붙여넣습니다:

     ```yaml
     디택션:
       - Enrichment:
           테이블: 1Password Translation
           선택자: item_uuid
           필드 경로: title
         조건: 같음
         값: Sensitive Password
     ```
8. [테스트 실행](https://docs.runpanther.io/writing-detections/testing) 새 디택션에서. 테스트가 끝나면 다음을 클릭합니다: **저장** 페이지 오른쪽 상단에서.


---

# 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/enrichment/custom/examples/1password-uuids.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.
