Part 1: Personal Access Token (PAT)
PAT란
PAT(Personal Access Token)는 워크스페이스 레벨에서 발급되는 문자열 기반 토큰 입니다. HTTP 요청의Authorization: Bearer <token> 헤더에 포함하여 인증합니다. Databricks 초기부터 지원된 가장 단순한 인증 방식입니다.
언제 PAT를 사용하는가
주의 Databricks는 PAT 대신 OAuth를 강력히 권장합니다. PAT는 다음과 같은 제한적 상황에서만 사용하세요.
PAT 생성
UI에서 생성
- Workspace > Settings > Developer > Access tokens 이동
- Generate new token 클릭
- Comment(설명)와 Lifetime(수명) 입력
- Generate 클릭 → 토큰이 한 번만 표시됨
CLI로 생성
Service Principal용 OBO Token
Service Principal은 직접 UI에 로그인할 수 없으므로, 관리자가 On-Behalf-Of(OBO) 방식으로 SP의 PAT를 대리 발급합니다.참고 OBO Token vs OAuth M2M: SP용 PAT(OBO Token)보다는 OAuth M2M(client_credentials)을 권장합니다. OAuth M2M은 토큰 자동 갱신을 지원하고, Secret 로테이션이 더 유연합니다.
Scoped PAT (권한 범위 제한)
PAT는 기본적으로 사용자의 전체 권한 으로 동작합니다. Scoped PAT를 사용하면 특정 API 범위로만 제한할 수 있습니다. 지원되는 scope는 다음과 같습니다.
Scoped PAT를 사용하면, 토큰이 유출되더라도 지정된 API 범위 밖의 작업은 수행할 수 없어 피해를 제한할 수 있습니다.
PAT 보안 관리
자동 폐기 정책
Databricks는 90일간 미사용된 PAT를 자동 폐기 합니다. 이는 “잊혀진 토큰”이 무한히 유효한 상태로 남는 것을 방지합니다.워크스페이스 관리자 정책
관리자는 다음을 설정할 수 있습니다.토큰 모니터링
PAT vs OAuth: 상세 비교
아래 테이블은 PAT와 OAuth의 핵심 차이를 비교합니다.
이 비교가 명확히 보여주듯, OAuth는 모든 보안 지표에서 PAT보다 우수합니다. PAT의 유일한 장점은 “단순함”이지만, Databricks CLI/SDK의 OAuth 지원이 성숙해진 현재, 이 장점도 크게 희석되었습니다.
PAT 사용 예시 (참고용)
Part 2: OAuth Token Federation
개념
OAuth Token Federation은 외부 IdP(Identity Provider)가 발급한 OIDC 토큰으로 Databricks에 인증 하는 방식입니다. 핵심 아이디어는 단순합니다:“이미 신뢰할 수 있는 외부 시스템이 발급한 신원 증명을 Databricks가 그대로 수용한다.”이를 통해 Databricks Secret(client_secret)을 전혀 관리하지 않고도 인증할 수 있습니다.
왜 혁신적인가
OAuth M2M의 가장 큰 운영 부담은 Secret 관리 입니다.참고 비유: 호텔에서 체크인할 때 여권(외부 IdP 토큰)을 보여주면, 호텔(Databricks)이 객실 키(access_token)를 발급하는 것과 같습니다. 여권은 이미 신뢰할 수 있는 기관(정부 = IdP)이 발급했으므로, 호텔이 별도의 회원 카드(client_secret)를 요구하지 않습니다.
동작 원리
핵심 구성 요소
지원 시나리오
Token Federation은 OIDC를 지원하는 모든 외부 IdP 와 연동할 수 있습니다. 아래 테이블은 주요 사용 사례와 외부 IdP를 보여줍니다.GitHub Actions 연동 예시
GitHub Actions는 Token Federation의 가장 대표적인 사용 사례입니다.1단계: Service Principal 생성
Account Console에서 CI/CD용 SP를 생성하고, 필요한 권한을 부여합니다.2단계: Federation Policy 생성
Databricks Account Console 또는 API에서 Federation Policy를 구성합니다.
이 설정이 의미하는 바는 명확합니다: MyOrg/MyRepo 리포지토리의 main 브랜치에서 실행되는 GitHub Actions 워크플로우만 이 SP로 인증할 수 있습니다. 다른 리포지토리나 브랜치는 거부됩니다.
3단계: GitHub Actions 워크플로우
참고 Secret이 전혀 없습니다: 위 워크플로우에서DATABRICKS_HOST는 URL(공개 정보)일 뿐이고, OIDC 토큰은 GitHub가 매 실행마다 자동 발급합니다.client_secret이나 PAT를 GitHub Secrets에 저장할 필요가 없습니다.
Token Federation vs OAuth M2M 비교
두 방식 모두 Service Principal로 인증하지만, Secret 관리 방식에서 근본적인 차이가 있습니다.
이 비교에서 보듯, Token Federation은 보안 면에서 확실히 우수하지만, 외부 IdP에 대한 의존성 이 추가됩니다. 외부 IdP가 OIDC를 지원하는 환경(GitHub Actions, Azure DevOps, AWS 등)이라면 Token Federation을, 그렇지 않은 환경이라면 OAuth M2M을 선택하세요.
Token Federation의 한계
- 초기 설정 복잡도: Federation Policy, SP Mapping 등 초기 구성이 OAuth M2M보다 복잡합니다. 하지만 한 번 설정하면 운영 부담이 거의 없습니다.
- 외부 IdP 의존: GitHub, Azure AD 등 외부 서비스 장애 시 인증이 불가능합니다.
- OIDC 필수: 외부 시스템이 OIDC 토큰을 발급할 수 있어야 합니다. 모든 시스템이 이를 지원하지는 않습니다.
- 디버깅 어려움: 인증 실패 시 외부 IdP 토큰의 claim 값, Federation Policy 매핑 등 확인할 요소가 많습니다.
인증 방법 최종 정리
아래 테이블은 네 가지 인증 방법의 선택 기준을 최종 정리합니다.주의 프로덕션 환경에서 PAT는 사용하지 마세요. PAT는 개발/테스트 단계의 임시 수단입니다. 프로덕션으로 전환할 때는 반드시 OAuth 기반 인증으로 교체하세요. 조직의 보안 감사(Audit)에서 PAT 사용은 거의 항상 지적 사항입니다.