# Databricks 감사 로그

## 개요

Databricks는 Apache Spark를 기반으로 구축된 통합 분석 플랫폼입니다. 감사 로그는 사용자 작업, API 호출, 관리 변경을 포함한 계정 및 작업 공간 활동을 캡처합니다.

Panther는 수집할 수 있습니다 [Databricks 감사 로그를](https://docs.databricks.com/aws/en/admin/account-settings/audit-log-delivery) S3 버킷으로 전달합니다. 이러한 로그는 보안 모니터링 및 규정 준수를 위해 관리 작업, 사용자 인증 패턴, 데이터 액세스, 노트북 실행에 대한 포괄적인 가시성을 제공합니다.

## Panther에 Databricks 감사 로그를 온보딩하는 방법

### 사전 요구 사항

* 감사 로그 전달이 구성된 Databricks 계정
  * Databricks 감사 로그 전달에는 Databricks Premium 또는 Enterprise 계층이 필요합니다
* Databricks 감사 로그를 전달할 수 있는 AWS S3 버킷
* Databricks 감사 로그 전달을 구성할 수 있는 관리자 권한

### 1단계: Databricks 감사 로그 전달을 S3로 구성

1. Databricks 계정 콘솔에 로그인합니다.
2. 다음으로 이동합니다 **설정** > **계정 설정** > **감사 로그 전달**.
3. 다음을 클릭하세요. **로그 전달 생성**.
4. S3 대상 구성을 합니다:
   * **대상**: 선택 **Amazon S3**.
   * **S3 버킷**: S3 버킷 이름을 입력하세요(예: `my-databricks-audit-logs`).
   * **S3 접두사**: (선택 사항) 로그를 구성하기 위한 접두사를 입력하세요(예: `databricks/audit/`).
   * **리전**: S3 버킷이 위치한 AWS 리전을 선택합니다.
5. 전달 설정을 구성합니다:
   * **로그 유형**: 선택 **감사 로그**.
   * **전달 경로 패턴**: Databricks는 다음 패턴을 사용합니다: `workspaceId=<workspaceId>/date=<yyyy-mm-dd>/auditlogs_<id>.json`.
6. 다음을 클릭하세요. **생성** 감사 로그 전달을 활성화합니다.

Databricks는 몇 시간 이내에 지정한 S3 버킷으로 감사 로그 전달을 시작합니다.

### 2단계: Panther에서 새 S3 소스 생성

1. Panther Console의 왼쪽 탐색 모음에서 다음을 클릭하세요. **구성** > **로그 소스**.
2. 다음을 클릭하세요. **새로 만들기.**
3. "Databricks"를 검색한 다음 해당 타일을 클릭합니다.
4. 오른쪽 상단에서 다음을 클릭하세요. **설정 시작**.
5. 다음 항목에서 **구성** 페이지에서 다음 필드를 입력합니다:
   * **이름**: 예를 들어 소스에 대한 설명이 있는 이름을 입력합니다. `Databricks 감사 로그`.
   * **AWS 계정 ID**: S3 버킷이 위치한 AWS 계정 ID를 입력합니다.
   * **Bucket Name**: S3 버킷 이름을 입력합니다.
   * **KMS 키 ARN**: (선택 사항) S3 버킷이 KMS 암호화를 사용하는 경우 KMS 키 ARN을 입력합니다.
   * **S3 접두사 필터**: (선택 사항) 1단계에서 접두사를 지정한 경우 Panther가 처리할 객체를 제한하려면 여기에 입력합니다.
6. 다음을 클릭하세요. **설정**.
7. 다음 항목에서 **인프라** 페이지에서 Panther가 S3 버킷에서 읽을 수 있도록 필요한 AWS 인프라를 설정하기 위한 지침을 볼 수 있습니다. 다음 지침을 따르세요:
   * Panther가 맡을 IAM 역할 생성
   * S3 버킷에서 읽을 수 있도록 해당 역할에 권한 부여
   * 새 감사 로그가 도착할 때 Panther에 알리도록 S3 이벤트 알림 구성
8. 다음을 클릭하세요. **설정**.
9. 에 명시된 역할과 권한이 있는 Zoom 계정에 로그인되어 있어야 한다는 점을 기억하세요

   <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).
   * 다음 **이벤트가 처리되지 않을 때 알러트 트리거** 설정 기본값은 **예**. 이 기능은 일정 시간이 지난 후 로그 소스에서 데이터 흐름이 중단되면 알림을 받을 수 있으므로 활성화된 상태로 두는 것을 권장합니다. 시간 범위는 구성 가능하며 기본값은 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 관리형](https://docs.panther.com/detections/panther-managed) Databricks용 규칙은 [panther-analysis GitHub 저장소에 있습니다](https://github.com/panther-labs/panther-analysis/tree/main/rules/databricks_rules).

## 지원되는 로그 유형

### Databricks.Audit

Databricks 감사 로그는 사용자 작업, API 호출, 관리 변경을 포함한 계정 및 작업 공간 활동을 캡처합니다.

참조: [Databricks 감사 로그 전달 문서](https://docs.databricks.com/aws/en/admin/account-settings/audit-log-delivery)

```yaml
스키마: Databricks.Audit
설명: Databricks 감사 로그는 사용자 작업, API 호출, 관리 변경을 포함한 계정 및 작업 공간 활동을 캡처합니다.
참조 URL: https://docs.databricks.com/aws/en/admin/account-settings/audit-log-delivery
fields:
  - name: version
    설명: 스키마 버전(예: 2.0)
    type: string
  - 이름: auditLevel
    설명: 이벤트 범위(ACCOUNT_LEVEL 또는 WORKSPACE_LEVEL)
    type: string
  - 이름: timestamp
    required: true
    설명: Unix 밀리초 단위의 이벤트 타임스탬프
    type: timestamp
    timeFormats:
      - unix_ms
    isEventTime: true
  - 이름: orgId
    설명: 조직 식별자
    type: string
  - 이름: shardName
    설명: 샤드 지정
    type: string
  - 이름: accountId
    설명: Databricks 계정 UUID
    type: string
  - 이름: sourceIPAddress
    설명: 요청의 IP 주소 출처
    type: string
    indicators:
      - ip
  - 이름: userAgent
    설명: 클라이언트 사용자 에이전트 문자열
    type: string
  - 이름: sessionId
    설명: 세션 식별자
    type: string
  - 이름: requestId
    설명: 고유 요청 식별자
    type: string
  - 이름: serviceName
    required: true
    설명: 작업을 수행한 서비스
    type: string
  - 이름: actionName
    required: true
    설명: 실행된 특정 작업
    type: string
  - 이름: userIdentity
    설명: 행위자에 대한 정보
    type: object
    fields:
      - name: email
        설명: 사용자의 이메일 주소
        type: string
        indicators:
          - email
      - 이름: subjectName
        설명: 대체 사용자 식별자
        type: string
        indicators:
          - username
  - 이름: requestParams
    설명: 작업별 요청 매개변수
    type: json
  - 이름: response
    설명: 응답 정보
    type: object
    fields:
      - 이름: statusCode
        설명: HTTP 응답 상태 코드
        유형: bigint
      - 이름: errorMessage
        설명: 해당되는 경우 오류 메시지
        type: string
      - 이름: result
        설명: 작업 결과 데이터
        type: json
  - 이름: MAX_LOG_MESSAGE_LENGTH
    설명: 바이트 단위의 최대 로그 메시지 길이
    유형: bigint
```


---

# Agent Instructions: 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:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/databricks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
