질문: “외부 포털에서 SP 1개로 Databricks를 호출하는데, 실제 사용자를 식별할 수 없습니다. SP 1개를 유지하면서 호출한 사용자를 특정할 수 있나요?”
문제 상황
외부 포털이 단일 Service Principal로 Databricks를 호출하면, 감사 로그에 SP만 기록됩니다.해결 방법 1: On-Behalf-Of (OBO) 인증 (권장)
사용자의 OAuth 토큰으로 Databricks API를 호출하면, 감사 로그에 실제 사용자가 기록됩니다.구현 (FastAPI 예제)
app.yaml 설정
OBO가 적합한 경우
해결 방법 2: 쿼리 태그 (OBO 불가 시)
외부 시스템이 Databricks SSO와 연동할 수 없는 경우, 쿼리 태그로 사용자 정보를 전달합니다.감사 로그에서 추적
두 방법 비교
관련 문서
- Databricks Apps 인증 — SP vs 사용자 인증 상세
- 감사 로그 — system.access.audit 활용
- 차세대 ID 보안 — Token Federation, OBO 배경