> 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/data-onboarding/supported-logs/wiz/api.md).

# Wiz API

## 개요

Panther는 가져올 수 있습니다 [Wiz](https://www.wiz.io/) [Audit](#wiz.audit), [이슈](#wiz.issues), 그리고 [취약점 탐지](#wiz.vulnerabilityfinding) 를 쿼리하여 로그를 [Wiz API](https://win.wiz.io/reference/prerequisites).

{% hint style="info" %}
다양한 유형의 Wiz 로그를 수집하려면 추가로 또는 대신 다음을 사용할 수 있습니다. [Wiz Webhook 통합](https://docs.panther.com/data-onboarding/supported-logs/wiz/webhook). 이 통합을 통해 사용할 수 있는 Wiz.Issues 이벤트와 다음을 통해 사용할 수 있는 Wiz.IssuesWebhook 이벤트는 [Wiz API 통합](https://docs.panther.com/data-onboarding/supported-logs/wiz/api) 약간 다릅니다.
{% endhint %}

## Wiz 로그를 Panther에 온보딩하는 방법

### 사전 요구 사항

* 이 통합을 설정하는 사용자는 Wiz 테넌트에 대한 액세스 권한이 있어야 하며 서비스 계정을 생성할 수 있는 권한이 있는 Wiz 역할이 있어야 합니다(예: `Global Admin`).

### 1단계: Wiz API 엔드포인트 URL 가져오기

Wiz GraphQL API에는 단일 엔드포인트(`https://api.<TENANT_DATA_CENTER>.app.wiz.io/graphql`), 여기서 `<TENANT_DATA_CENTER>` 는 테넌트가 위치한 Wiz 지역 데이터 센터입니다. 예: `us1`, `us2`, `eu1` 또는 `eu2`. 수행하는 작업에 관계없이 엔드포인트는 동일합니다.

GraphQL 엔드포인트를 가져오려면:

1. Wiz 콘솔의 오른쪽 상단 모서리에서 사용자 아이콘 > **사용자 설정** (또는 이 [직접 링크](https://app.wiz.io/user/profile)).
2. 왼쪽에서 클릭합니다. **테넌트** (또는 이 [직접 링크](https://app.wiz.io/user/tenant)).
3. 다음을 복사하세요 **API 엔드포인트 URL** 을 안전한 위치에 저장하세요. 다음 단계에서 필요합니다.

### 2단계: Wiz에서 서비스 계정 만들기

1. Wiz 대시보드에서 다음으로 이동합니다. **설정** > **액세스 관리** > **서비스 계정**.
2. 다음을 클릭합니다: **서비스 계정 추가**.
3. 다음의 **새 서비스 계정** 양식에서 다음 필드를 입력합니다:
   * **이름**: 서비스 계정에 대한 설명적인 이름을 입력하세요. 예: `Panther Integration`.
   * **유형**: 다음을 선택합니다: **사용자 지정 통합(GraphQL API)**.
   * **프로젝트** (선택 사항): 이 서비스 계정이 액세스할 하나 이상의 프로젝트를 선택합니다.
     * 하나 이상의 프로젝트를 선택하면 쿼리할 수 없다는 점에 유의하세요 [Audit](#wiz.audit) 로그.
   * **API 범위**:
     * 선택 **read:resources**.
     * 다음에 나열된 범위를 선택하세요: **서비스 계정에 필요한 API 범위** 다음 표에서 Panther로 수집할 계획인 Wiz 로그 유형에 대한 범위를 확인하세요.
4. 다음을 클릭합니다: **서비스 계정 추가**.
5. 다음을 복사합니다 **클라이언트 시크릿**을 안전한 위치에 저장하세요. 다음 단계에서 필요하며, 이 단계가 끝나면 이 값을 볼 수 없습니다.
6. 다음을 복사합니다 **클라이언트 ID**을 안전한 위치에 저장하세요. 다음 단계에서 필요합니다.

#### 서비스 계정에 필요한 API 범위

<table><thead><tr><th width="199">로그 유형</th><th width="264">쿼리에 필요한 범위</th><th>참고</th></tr></thead><tbody><tr><td><a href="#wiz.audit">Audit</a></td><td>admin:audit</td><td>이 권한은 하나 이상의 항목을 선택하지 않은 경우에만 표시됩니다 <strong>프로젝트</strong> 서비스 계정에 대해</td></tr><tr><td><a href="#wiz.issues">이슈</a></td><td>read:issues</td><td></td></tr><tr><td><a href="#wiz.vulnerabilityfinding">VulnerabilityFinding</a></td><td>read:vulnerabilities</td><td></td></tr></tbody></table>

### 3단계: Panther에서 새 Wiz 로그 소스 만들기

1. Panther 콘솔의 왼쪽 탐색 표시줄에서 다음을 클릭합니다: **구성** > **로그 소스**.
2. 다음을 클릭합니다: **새로 만들기.**
3. "Wiz"를 검색한 다음 타일을 클릭합니다.
4. 슬라이드아웃 패널의 오른쪽 상단 모서리에서 클릭합니다. **설정 시작**.

   <figure><img src="/files/bf333b6df22e900af4d9dee5751e23799ddd2dc2" alt="A page in the Panther console with the trail Configure > Log Sources > Add New Source is shown, with a slide-out panel expanded with the title Wiz. An arrow is drawn to a &#x22;Start Setup&#x22; button."><figcaption></figcaption></figure>
5. 다음에서 **구성** 화면에서 양식을 입력합니다:
   * **이름**: 소스에 대한 설명적인 이름을 입력하세요. 예: `내 Wiz 로그`.
   * **프로젝트 ID** (선택 사항): 로그를 가져올 프로젝트의 ID를 입력합니다. 이 필드를 비워 두면 Panther는 모든 프로젝트의 로그를 가져옵니다. Wiz 콘솔에서 특정 프로젝트의 ID를 찾으려면:
     1. 다음을 클릭합니다: **설정** > **프로젝트**.
     2. 프로젝트 행의 오른쪽에서 점 세 개 아이콘 > **프로젝트 ID**. ID가 클립보드에 복사됩니다.
   * **모니터링할 로그 유형을 선택하세요**: 모든 Wiz 로그 유형이 미리 채워집니다.
6. 다음을 클릭합니다: **설정**.
7. 다음에서 **자격 증명 설정** 페이지에서 양식을 작성합니다:
   * **토큰 URL**: Wiz API 토큰 URL을 입력하세요. 이 값은 Wiz 계정의 ID 공급자에 따라 다릅니다:
     * Amazon Cognito: 입력 `https://auth.app.wiz.io/oauth/token`.
     * Auth0: 입력 `https://auth.wiz.io/oauth/token`.
       * Wiz는 2022년 12월에 ID 공급자로서의 Auth0 지원을 종료했습니다.
   * **API 엔드포인트**: 다음을 입력하세요. **API 엔드포인트 URL** Wiz에서 가져온
   * **클라이언트 ID**: 다음을 입력하세요. **클라이언트 ID** Wiz에서 생성한
   * **클라이언트 비밀:** 다음을 입력합니다 **클라이언트 시크릿** Wiz에서 생성한
8. 다음을 클릭합니다: **설정**. 성공 화면으로 이동됩니다:

   <figure><img src="/files/e0820e5acb9452e294cfe3ba72060f0fbbfd3b32" alt="The success screen reads, &#x22;Everything looks good! Panther will now automatically pull &#x26; process logs from your account&#x22;" width="281"><figcaption></figcaption></figure>

   * 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
   * 해당 **이벤트가 처리되지 않을 때 알러트를 트리거** 설정의 기본값은 **YES**. 이 옵션을 활성화된 상태로 두는 것을 권장합니다. 일정 시간이 지나 로그 소스에서 데이터 흐름이 중단되면 알림을 받게 됩니다. 기간은 구성 가능하며 기본값은 24시간입니다.

     <figure><img src="/files/7db146cd7acee3d0704a4a8b2157f230cfa22168" alt="The &#x22;Trigger an alert when no events are processed&#x22; toggle is set to YES. The &#x22;How long should Panther wait before it sends you an alert that no events have been processed&#x22; setting is set to 1 Day" width="320"><figcaption></figcaption></figure>

## Panther가 관리하는 탐지

참조 [Panther에서 관리하는](/ko/detections/panther-managed.md) Wiz에 대한 룰이 있는 [panther-analysis GitHub 저장소](https://github.com/panther-labs/panther-analysis/tree/main/rules/wiz_rules).

## 지원되는 로그 유형

### Wiz.Audit

Audit 로그는 로그인, 로그아웃, 사용자 업데이트와 같은 Wiz의 주요 이벤트를 기록합니다. Audit 로그는 주로 의심스러운 활동을 조사하거나 오류를 진단하고 문제를 해결하는 데 사용됩니다.

참조: <https://win.wiz.io/reference/audit-log>

```yaml
schema: Wiz.Audit
description: Audit 로그는 로그인, 로그아웃 및 사용자 업데이트와 같은 Wiz의 주요 이벤트를 기록합니다. Audit 로그는 주로 의심스러운 활동을 조사하거나 오류를 진단하고 문제를 해결하는 데 사용됩니다.
referenceURL: https://win.wiz.io/reference/audit-log
fields:
    - 이름: id
      required: true
      description: 감사 로그 항목의 고유 식별자.
      type: string
    - 이름: action
      required: true
      description: 수행된 작업.
      type: string
    - 이름: requestId
      description: 요청의 고유 식별자.
      type: string
    - 이름: status
      description: 감사 로그 이벤트의 상태.
      type: string
    - 이름: timestamp
      required: true
      description: 이벤트의 타임스탬프.
      type: timestamp
      timeFormats:
        - rfc3339
      isEventTime: true
    - 이름: actionParameters
      description: 작업과 관련된 매개변수.
      유형: json
    - 이름: userAgent
      description: 사용자 에이전트 문자열.
      type: string
    - 이름: sourceIP
      description: 소스 IP 주소.
      type: string
      표시자:
        - ip
    - 이름: serviceAccount
      description: 작업과 관련된 서비스 계정.
      type: object
      fields:
        - 이름: id
          required: true
          description: 서비스 계정의 ID.
          type: string
          표시자:
            - 행위자 ID
        - 이름: name
          description: 서비스 계정의 이름.
          type: string
    - 이름: user
      description: 해당되는 경우 작업과 관련된 사용자.
      type: object
      fields:
        - 이름: id
          required: true
          description: 사용자의 ID.
          type: string
          표시자:
            - 행위자 ID
        - 이름: name
          description: 사용자의 이름.
          type: string
          표시자:
            - 사용자명
```

### Wiz.Issues

Issues 로그는 취약점 탐지 및 보안 사고와 같은 이슈와 관련된 Wiz의 주요 이벤트를 기록합니다. 보안 취약점과 사고를 추적, 관리 및 해결하는 데 사용됩니다.

참조: <https://win.wiz.io/reference/issues-query>

```yaml
schema: Wiz.Issues
description: Issues 로그는 취약점 탐지 및 보안 사고와 같은 이슈와 관련된 Wiz의 주요 이벤트를 기록합니다. 보안 취약점과 사고를 추적, 관리 및 해결하는 데 사용됩니다.
referenceURL: https://win.wiz.io/reference/issues-query
fields:
    - 이름: id
      required: true
      description: 이슈의 고유 식별자.
      type: string
    - 이름: source 룰
      description: 이슈의 소스 룰.
      유형: json
    - 이름: createdAt
      required: true
      description: 이슈의 생성 타임스탬프.
      type: timestamp
    - 이름: updatedAt
      description: 이슈의 마지막 업데이트 타임스탬프.
      type: timestamp
    - 이름: dueAt
      description: 이슈의 마감 타임스탬프.
      type: timestamp
    - 이름: type
      description: 이슈의 유형.
      type: string
    - 이름: resolvedAt
      description: 이슈의 해결 타임스탬프.
      type: timestamp
    - 이름: statusChangedAt
      description: 이슈의 상태가 변경된 타임스탬프.
      type: timestamp
    - 이름: projects
      description: 이슈와 관련된 프로젝트.
      type: array
      element:
        type: object
        fields:
            - 이름: id
              description: 프로젝트의 고유 식별자.
              type: string
            - 이름: name
              description: 프로젝트 이름.
              type: string
            - 이름: slug
              description: 프로젝트 슬러그.
              type: string
            - 이름: businessUnit
              description: 프로젝트의 비즈니스 단위.
              type: string
            - 이름: riskProfile
              description: 프로젝트의 위험 프로필.
              유형: json
    - 이름: status
      description: 이슈의 상태.
      type: string
    - 이름: severity
      description: 이슈의 심각도.
      type: string
    - 이름: entitySnapshot
      description: 이슈와 관련된 엔티티의 스냅샷.
      type: object
      fields:
        - 이름: id
          description: 엔티티 스냅샷의 고유 식별자.
          type: string
        - 이름: type
          description: 엔티티 스냅샷의 유형.
          type: string
        - 이름: nativeType
          description: 엔티티 스냅샷의 기본 유형.
          type: string
        - 이름: name
          description: 엔티티 스냅샷의 이름.
          type: string
        - 이름: status
          description: 엔티티 스냅샷의 상태.
          type: string
        - 이름: cloudPlatform
          description: 엔티티 스냅샷의 클라우드 플랫폼.
          type: string
        - 이름: cloudProviderURL
          description: 엔티티 스냅샷의 클라우드 공급자 URL.
          type: string
        - 이름: providerId
          description: 엔티티 스냅샷의 공급자 ID.
          type: string
        - 이름: region
          description: 엔티티 스냅샷의 리전.
          type: string
        - 이름: resourceGroupExternalId
          description: 리소스 그룹의 외부 ID.
          type: string
        - 이름: subscriptionExternalId
          description: 구독의 외부 ID.
          type: string
        - 이름: subscriptionName
          description: 구독 이름.
          type: string
        - 이름: subscriptionTags
          description: 구독의 태그.
          유형: json
        - name: tags
          description: 엔티티 스냅샷의 태그.
          유형: json
        - 이름: externalId
          description: 엔티티 스냅샷의 외부 ID.
          type: string
    - 이름: serviceTickets
      description: 이슈와 관련된 서비스 티켓.
      유형: json
    - 이름: notes
      description: 이슈와 관련된 추가 메모.
      유형: json
```

### Wiz.VulnerabilityFinding

Vulnerability Finding 로그는 Wiz에서 탐지된 보안 취약점에 대한 정보를 기록합니다. 여기에는 취약점, 영향받는 자산 및 해결 단계에 대한 세부 정보가 포함됩니다.

참조: <https://win.wiz.io/reference/vulnerability-finding>

```yaml
schema: Wiz.VulnerabilityFinding
description: Vulnerability Finding 로그는 Wiz에서 탐지된 보안 취약점에 대한 정보를 기록합니다. 여기에는 취약점, 영향받는 자산 및 해결 단계에 대한 세부 정보가 포함됩니다.
referenceURL: https://win.wiz.io/reference/vulnerability-finding
fields:
    - 이름: id
      required: true
      description: 취약점 탐지의 고유 식별자.
      type: string
    - 이름: portalUrl
      description: 취약점 탐지의 포털 URL.
      type: string
      표시자:
        - url
    - 이름: name
      description: 취약점 이름.
      type: string
    - 이름: CVEDescription
      description: 취약점의 CVE 설명.
      type: string
    - 이름: CVSSSeverity
      description: 취약점의 CVSS 심각도.
      type: string
    - 이름: score
      description: 취약점의 점수.
      type: float
    - 이름: exploitabilityScore
      description: 취약점의 악용 가능성 점수.
      type: float
    - 이름: impactScore
      description: 취약점의 영향 점수.
      type: float
    - 이름: dataSourceName
      description: 취약점 탐지의 데이터 소스 이름.
      type: string
    - 이름: hasExploit
      description: 취약점에 익스플로잇이 있는지 여부를 나타냅니다.
      유형: boolean
    - 이름: hasCisaKevExploit
      description: 취약점에 CISA/KEV 익스플로잇이 있는지 여부를 나타냅니다.
      유형: boolean
    - 이름: status
      description: 취약점 탐지의 상태.
      type: string
    - 이름: vendorSeverity
      description: 취약점의 벤더 심각도.
      type: string
    - 이름: firstDetectedAt
      description: 취약점이 처음 탐지된 타임스탬프.
      type: timestamp
      timeFormats:
        - rfc3339
    - 이름: lastDetectedAt
      description: 취약점이 마지막으로 탐지된 타임스탬프.
      type: timestamp
      timeFormats:
        - rfc3339
    - 이름: resolvedAt
      description: 취약점이 해결된 타임스탬프.
      type: timestamp
    - 이름: description
      description: 취약점 설명.
      type: string
    - 이름: remediation
      description: 취약점에 대한 해결 단계.
      type: string
    - 이름: detailedName
      description: 취약점의 상세 이름.
      type: string
    - 이름: version
      description: 취약점의 영향을 받는 버전.
      type: string
    - 이름: fixedVersion
      description: 취약점의 수정된 버전.
      type: string
    - 이름: detectionMethod
      description: 취약점을 탐지하는 데 사용된 방법.
      type: string
    - 이름: link
      description: 취약점과 관련된 링크.
      type: string
      표시자:
        - url
    - 이름: locationPath
      description: 취약점의 위치 경로.
      type: string
    - 이름: resolutionReason
      description: 취약점을 해결한 이유.
      type: string
    - 이름: epssSeverity
      description: 취약점의 EPSS 심각도.
      type: string
    - 이름: epssPercentile
      description: 취약점의 EPSS 백분위수.
      type: float
    - 이름: epssProbability
      description: 취약점의 EPSS 확률.
      type: float
    - 이름: validatedInRuntime
      description: 취약점이 런타임에서 검증되었는지 여부를 나타냅니다.
      type: string
    - 이름: layerMetadata
      description: 취약점의 레이어 메타데이터.
      유형: json
    - 이름: projects
      description: 취약점 탐지와 관련된 프로젝트.
      type: array
      element:
        type: object
        fields:
            - 이름: id
              description: 프로젝트의 고유 식별자.
              type: string
            - 이름: name
              description: 프로젝트 이름.
              type: string
            - 이름: slug
              description: 프로젝트 슬러그.
              type: string
            - 이름: businessUnit
              description: 프로젝트의 비즈니스 단위.
              type: string
            - 이름: riskProfile
              description: 프로젝트의 위험 프로필.
              유형: json
    - 이름: ignore 룰
      description: 취약점에 대한 무시 룰.
      유형: json
    - 이름: vulnerableAsset
      description: 취약점 탐지와 관련된 취약 자산.
      type: object
      fields:
        - 이름: id
          description: 취약 자산의 고유 식별자.
          type: string
        - 이름: type
          description: 취약 자산의 유형.
          type: string
        - 이름: name
          description: 취약 자산의 이름.
          type: string
        - 이름: region
          description: 취약 자산의 리전.
          type: string
        - 이름: providerUniqueId
          description: 공급자의 고유 식별자.
          type: string
        - 이름: cloudProviderURL
          description: 취약 자산의 클라우드 공급자 URL.
          type: string
          표시자:
            - url
        - 이름: cloudPlatform
          description: 취약 자산의 클라우드 플랫폼.
          type: string
        - 이름: status
          description: 취약 자산의 상태.
          type: string
        - 이름: subscriptionName
          description: 구독 이름.
          type: string
        - 이름: subscriptionExternalId
          description: 구독의 외부 ID.
          type: string
        - 이름: subscriptionId
          description: 구독의 ID.
          type: string
        - name: tags
          description: 취약 자산의 태그.
          유형: json
        - 이름: hasLimitedInternetExposure
          description: 취약 자산이 제한된 인터넷 노출을 가지고 있는지 여부를 나타냅니다.
          유형: boolean
        - 이름: hasWideInternetExposure
          description: 취약 자산이 광범위한 인터넷 노출을 가지고 있는지 여부를 나타냅니다.
          유형: boolean
        - 이름: isAccessibleFromVPN
          description: 취약 자산이 VPN에서 액세스 가능한지 여부를 나타냅니다.
          유형: boolean
        - 이름: isAccessibleFromOtherVnets
          description: 취약 자산이 다른 VNet에서 액세스 가능한지 여부를 나타냅니다.
          유형: boolean
        - 이름: isAccessibleFromOtherSubscriptions
          description: 취약 자산이 다른 구독에서 액세스 가능한지 여부를 나타냅니다.
          유형: boolean
        - 이름: operatingSystem
          description: 취약 자산의 운영 체제.
          type: string
        - 이름: ipAddresses
          description: 취약 자산의 IP 주소.
          type: array
          element:
            type: string
            표시자:
                - ip
```


---

# 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/data-onboarding/supported-logs/wiz/api.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.
