# Auth0 로그

## 개요

Panther는 다음을 구성하여 Auth0 테넌트 로그를 수집합니다 [Auth0의 로그 스트리밍 서비스](https://auth0.com/docs/customize/log-streams) 를 사용해 이벤트를 Panther에 게시합니다 [HTTP 소스](https://docs.panther.com/ko/data-onboarding/data-transports/http).

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

### 1단계: Panther에 새 Auth0 소스 만들기

1. Panther Console의 왼쪽 탐색 모음에서 **구성** > **로그 소스.**
2. 클릭 **새로 만들기**.
3. “Auth0”를 검색한 다음 해당 타일을 클릭합니다.
   * 슬라이드아웃 패널에서 오른쪽 상단의 **전송 메커니즘** 드롭다운은 미리 채워져 있으며 **HTTP** 옵션이 선택되어 있습니다.
4. 클릭 **설정 시작**.\
   ![The Auth0 log source setup page is shown, in the Panther Console. In the upper-right corner, the Transport Mechanism dropdown has a value of "HTTP," and to its right is a Start Setup button. Both are circled.](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-0d6b21fee1726ba875973ff39eb2f5aa758dba44%2FScreenshot%202023-06-07%20at%204.35.28%20PM.png?alt=media)
5. Panther의 [HTTP 소스 구성 지침을 따르세요](https://docs.panther.com/ko/data-transports/http#how-to-set-up-an-http-log-source-in-panther), 5단계부터 시작합니다.
   * 설정 중 보안 구성 페이지에서 다음을 사용해야 합니다 [Bearer 인증](https://docs.panther.com/ko/data-transports/http#bearer); 이것은 Auth0가 지원하는 유일한 인증 방법입니다. 원형 화살표를 클릭하여 토큰 값을 생성하거나 직접 입력할 수 있습니다.

     !["Bearer Authentication"이라는 섹션이 표시됩니다. "Bearer Token Value" 필드 오른쪽에는 원 안에 두 개의 화살표가 있는 버튼이 있으며, 이 버튼이 동그라미로 표시되어 있습니다.](https://2400888838-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LgdiSWdyJcXPahGi9Rs-2910905616%2Fuploads%2Fgit-blob-11e00f12cdb0213d36a3b07584633f413a3cacaf%2Fimage.png?alt=media)
   * 이 소스에 전송되는 페이로드는 [모든 HTTP 소스의 페이로드 요구 사항](https://docs.panther.com/ko/data-transports/http#payload-requirements).
   * 의 적용을 받습니다. HTTP 엔드포인트 생성이 완료될 때까지 다음 단계로 진행하지 마세요.

### 2단계: Auth0에 새 로그 스트림 만들기

1. Auth0 테넌트에 로그인합니다.
2. 대시보드에서 다음으로 이동합니다 **모니터링** > **스트림**.
3. 클릭 **스트림 만들기**.
4. 선택 **사용자 지정 웹훅**.
5. 이벤트 스트림에 설명적인 이름을 지정합니다. 예: `Panther 로그 스트림`.
6. 에서 **Payload URL** 필드에, 이 과정의 이전 단계에서 생성한 Panther의 Auth0 HTTP 소스 URL을 붙여넣습니다.
7. 에서 **Authorization Token** 필드에, 다음에서 사용한 베어러 토큰을 입력합니다 [1단계](#step-1-create-a-new-auth0-source-in-panther), 반드시 다음을 포함해야 합니다 `Bearer` . 전체 형식은 다음과 같아야 합니다 `Bearer <token value>`.
8. 클릭 **저장**.

## Panther가 관리하는 탐지

다음을 참조하세요 [Panther가 관리하는](https://docs.panther.com/detections/panther-managed) 다음의 Auth0 규칙에서 [panther-analysis GitHub 저장소에서](https://github.com/panther-labs/panther-analysis/tree/master/rules/auth0_rules).

## 지원되는 로그 유형

### Auth0.Events

Auth0.Events는 Auth0 로그 스트림의 이벤트 로그입니다. 자세한 내용은 다음을 참조하세요 [Auth0의 테넌트 로그 이벤트 문서](https://auth0.com/docs/deploy-monitor/logs).

````yaml
```yaml
schema: Auth0.Events
description: Auth0 로그 스트림의 이벤트 로그
referenceURL: https://auth0.com/docs/deploy-monitor/logs
fields:
  - name: log_id
    required: true
    description: 로그의 ID입니다.
    type: string
  - name: asdfg
    type: array
    validate:
      allow: ['authentication']
    element:
      type: string
  - name: data
    required: true
    description: 로그에 대한 정보를 포함하는 데이터 객체입니다.
    type: object
    fields:
      - name: 날짜
        description: 이벤트가 발생한 날짜/시간입니다.
        유형: 타임스탬프
        isEventTime: true
        timeFormats:
          - rfc3339
      - name: type
        description: 이벤트 유형입니다.
        type: string
      - name: 설명
        description: 이 이벤트에 대한 설명입니다.
        type: string
      - name: connection
        description: 이벤트가 관련된 연결의 이름입니다.
        type: string
      - name: connection_id
        description: 이벤트가 관련된 연결의 ID입니다.
        type: string
      - name: client_id
        description: 클라이언트(애플리케이션)의 ID입니다.
        유형: json
      - name: client_name
        description: 클라이언트(애플리케이션)의 이름입니다.
        type: string
      - name: ip
        description: 로그 이벤트 소스의 IP 주소입니다.
        indicators:
          - ip
        type: string
      - name: 클라이언트 IP
        type: string
        description: 이벤트를 발생시킨 클라이언트의 IP 주소입니다.
        indicators:
          - ip
      - name: hostname
        description: 이벤트가 적용되는 호스트 이름입니다.
        type: string
      - name: user_id
        description: 이벤트에 관련된 사용자의 ID입니다.
        type: string
        indicators:
          - 사용자 이름
      - name: user_name
        description: 이벤트에 관련된 사용자의 이름입니다.
        유형: json
      - name: audience
        description: 이벤트가 적용되는 API 대상입니다.
        type: string
      - name: scope
        description: 이벤트에 적용된 범위 권한입니다.
        유형: json
      - name: strategy
        description: 이벤트에 관련된 전략의 이름입니다.
        type: string
      - name: strategy_type
        description: 이벤트에 관련된 전략의 유형입니다.
        type: string
      - name: 세부 정보
        description: 이 이벤트에 대한 추가적인 유용한 세부 정보입니다(구조는 이벤트 유형에 따라 다름).
        유형: json
      - name: log_id
        description: 이벤트의 고유 ID입니다.
        type: string
      - name: is_mobile
        description: 클라이언트가 모바일 기기(true)인지 데스크톱/노트북/서버(false)인지 여부입니다.
        type: boolean
      - name: user_agent
        description: 이벤트를 발생시킨 클라이언트 장치의 사용자 에이전트 문자열입니다.
        type: string
      - name: location_info
        description: IP를 기반으로 이 이벤트를 유발한 위치에 대한 정보입니다.
        type: object
        fields:
          - name: country_code
            description: 두 글자의 Alpha-2 ISO 3166-1 국가 코드입니다.
            type: string
          - name: country_code3
            description: 세 글자의 Alpha-3 ISO 3166-1 국가 코드입니다.
            type: string
          - name: country_name
            description: 영어로 된 전체 국가 이름입니다.
            type: string
          - name: city_name
            description: 영어로 된 전체 도시 이름입니다.
            type: string
          - name: latitude
            description: 전역 위도 위치입니다.
            type: float
          - name: longitude
            description: 전역 경도 위치입니다.
            type: float
          - name: time_zone
            description: tz 데이터베이스에 있는 시간대 이름입니다.
            type: string
          - name: continent_code
            description: 두 글자의 대륙 코드입니다.
            type: string
```
````
