Skip to main content
이 페이지에서는 두 가지 인증 방법을 다룹니다. Personal Access Token(PAT) 은 가장 오래된 Databricks 인증 방식으로, 간단하지만 보안 한계가 있습니다. OAuth Token Federation 은 가장 최신 방식으로, Secret 관리 부담을 완전히 제거합니다.

Part 1: Personal Access Token (PAT)

PAT란

PAT(Personal Access Token)는 워크스페이스 레벨에서 발급되는 문자열 기반 토큰 입니다. HTTP 요청의 Authorization: Bearer <token> 헤더에 포함하여 인증합니다. Databricks 초기부터 지원된 가장 단순한 인증 방식입니다.

언제 PAT를 사용하는가

주의 Databricks는 PAT 대신 OAuth를 강력히 권장합니다. PAT는 다음과 같은 제한적 상황에서만 사용하세요.

PAT 생성

UI에서 생성

  1. Workspace > Settings > Developer > Access tokens 이동
  2. Generate new token 클릭
  3. Comment(설명)와 Lifetime(수명) 입력
  4. 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 사용은 거의 항상 지적 사항입니다.