원문: Introducing next-level identity security at Databricks (2025-05-21)
요약
Databricks는 인증 강화, ID 프로비저닝 자동화, 안전한 프로그래밍 접근을 위한 새로운 기능들을 발표했습니다. 이 블로그는 엔터프라이즈 환경에서 Service Principal 관리, OAuth Token Federation, ID 거버넌스를 현대적이고 확장 가능하게 구현하는 방법을 다룹니다.핵심 발표 내용
1. OAuth Token Federation
기존에는 Service Principal마다 장기 시크릿(long-lived secret)을 생성하고 주기적으로 로테이션해야 했습니다. OAuth Token Federation은 이를 근본적으로 개선합니다.| 항목 | 기존 방식 | Token Federation |
|---|---|---|
| 인증 방식 | SP 시크릿 (long-lived) | 외부 IdP 토큰 교환 (short-lived) |
| 시크릿 관리 | 수동 생성/로테이션 필요 | 시크릿 불필요 |
| 보안 위험 | 시크릿 유출 시 장기 접근 가능 | 토큰 만료로 자동 보호 |
| 적용 범위 | 개별 SP 단위 | 계정 전체 또는 개별 SP 단위 |
2. Workload Identity Federation
개별 Service Principal 수준에서 Workload Identity Federation을 설정할 수 있습니다. 이는 특정 애플리케이션에 대한 세밀한 인증 제어를 가능하게 합니다.3. 강화된 ID 프로비저닝
| 기능 | 설명 |
|---|---|
| SCIM 자동화 | Azure AD, Okta 등에서 사용자/그룹을 자동 동기화 |
| 계정 수준 ID | 모든 Principal(사용자, 그룹, SP)은 계정 수준에서 관리 |
| SP 역할 관리 | Service Principal에 대한 역할 기반 접근 제어 (누가 SP를 관리할 수 있는지) |
4. 보안 모범 사례
블로그에서 권장하는 핵심 보안 원칙:- 장기 시크릿 제거 — Token Federation으로 전환하여 시크릿 유출 위험 제거
- 최소 권한 원칙 — SP에 필요한 최소한의 권한만 부여
- ID 중앙 관리 — 계정 수준에서 모든 ID를 통합 관리
- 감사 로그 활용 —
system.access.audit로 모든 인증 이벤트 추적
고객 FAQ: SP 1개로 사용자 식별하기
이 블로그의 내용과 관련하여, 외부 포털에서 단일 SP로 Databricks를 호출할 때 개별 사용자를 식별하는 방법을 정리합니다.방법 1: On-Behalf-Of (OBO) 사용자 인증
Databricks Apps의 사용자 인증(User Authorization) 모드를 사용하면, 앱이 사용자의 OAuth 토큰을 받아 Databricks API를 호출합니다. 감사 로그에 실제 사용자 ID가 기록됩니다.- Unity Catalog 테이블/볼륨 접근 시 사용자별 권한 적용이 필요한 경우
- SQL Warehouse, 클러스터 등 컴퓨트 리소스 접근 추적이 필요한 경우
- 규정 준수(컴플라이언스)를 위해 개인별 감사 추적이 필수인 경우
방법 2: 쿼리 태그로 사용자 추적
OBO가 불가한 경우, SP를 유지하면서 쿼리 태그로 사용자를 식별할 수 있습니다.system.query.history에 기록되어 추후 추적 가능합니다.
관련 가이드
- 인증과 접근 제어 — ID 관리 전체 가이드
- 감사 로그 — system.access.audit 활용
- Databricks Apps 인증 — SP vs 사용자 인증
- OAuth M2M — Machine-to-Machine 인증
- 태그와 ABAC — 컬럼 수준 PII 태깅
- Column Masking — 민감 컬럼 동적 마스킹
- 데이터 리니지 — 컬럼 레벨 리니지 추적