Skip to main content
이 문서는 Databricks Apps 섹션의 일부입니다.
Databricks Apps의 네트워크 아키텍처, IP 접근 제어, 인증 없는 접근 방법, 그리고 보안 설정을 다룹니다.

네트워크 아키텍처

Databricks Apps는 Serverless Compute Plane 에서 실행됩니다. Control Plane은 인증과 라우팅만 처리하고, 실제 앱 트래픽은 Serverless Compute Plane으로 직접 전달됩니다.

트래픽 흐름

참고 핵심 포인트: 사용자의 첫 요청은 Control Plane에서 인증 처리 후, 이후 모든 트래픽은 Serverless Compute Plane으로 직접 전달됩니다. Control Plane과 Compute Plane 간 통신은 클라우드 프로바이더의 내부 네트워크를 사용하여 퍼블릭 인터넷을 거치지 않습니다. 단, 사용자와 databricksapps.com 도메인 간 통신은 Private Link가 없으면 퍼블릭 인터넷을 경유할 수 있습니다.

IP 접근 제어 (IP Access Lists)

Databricks Apps에 접근할 수 있는 IP 주소를 제한하여 보안을 강화할 수 있습니다.

워크스페이스 IP Access List 연동

Databricks Apps는 워크스페이스의 IP Access List 설정을 상속 합니다. 워크스페이스에 IP Access List가 구성되어 있으면, 앱에 대한 접근도 동일한 IP 제한이 적용됩니다.

IP Access List 설정 방법

1. Admin Console에서 설정:
  1. 워크스페이스 Admin Console 접속
  2. Settings > Security > IP access lists 이동
  3. 허용할 IP 범위 추가 (CIDR 형식)
2. REST API로 설정:
3. Databricks CLI로 설정:
주의 IP Access List의 영향: IP Access List를 활성화하면 워크스페이스의 모든 접근 (UI, API, 앱)이 제한됩니다. 앱 사용자가 허용된 IP에서 접속해야 하므로, VPN 없이 외부에서 접속하는 사용자가 있다면 해당 IP를 반드시 허용 목록에 추가하세요.

앱별 IP 제한이 필요한 경우

현재 Databricks Apps는 앱별 개별 IP 제한을 지원하지 않습니다. 모든 앱에 동일한 워크스페이스 IP Access List가 적용됩니다. 앱별로 다른 IP 정책이 필요하다면 다음 대안을 고려하세요:

SSO 없이 앱 접근하기

Databricks Apps는 기본적으로 워크스페이스 SSO 인증이 필수 입니다. 하지만 특정 시나리오에서는 SSO 없이 앱에 접근해야 할 수 있습니다.

기본 동작: SSO 필수

주의 핵심 제약: Databricks Apps의 URL에 접속하면 반드시 Databricks 워크스페이스 인증 을 거쳐야 합니다. Databricks 계정이 없는 외부 사용자(고객, 파트너 등)는 앱에 접근할 수 없습니다. 이는 설계 의도이며, 보안과 거버넌스를 위한 것입니다.
향후 로드맵: 외부 IdP(Identity Provider) 기반 인증이 H2 FY27 (DAIS 이후) 에 예정되어 있습니다. 이 기능이 출시되면 Databricks 워크스페이스 계정 없이도 외부 IdP로 인증한 사용자가 앱에 접근할 수 있게 됩니다.

대안 0: Identity Federation (현재 가능한 최선)

외부 사용자가 앱에 접근해야 하는 경우, Identity Federation + SCIM/JIT provisioning 을 사용하면 외부 사용자를 IdP(Okta, Entra ID 등)를 통해 온보딩할 수 있습니다. 풀 워크스페이스 접근 없이 앱만 사용할 수 있도록 설정합니다.

대안 1: API 엔드포인트로 접근 (M2M)

앱이 REST API를 제공하는 경우(FastAPI, Flask), 다른 시스템에서 서비스 프린시펄 또는 PAT 으로 앱의 API를 직접 호출할 수 있습니다.
참고 이 방식은 사람이 아닌 시스템 간 통신 에 적합합니다. 사용자가 브라우저로 앱 UI에 접근하려면 여전히 SSO가 필요합니다.

대안 2: 프록시 서버 구성

Databricks Apps 앞에 별도의 프록시 서버(Nginx, Cloudflare 등)를 두고, 프록시가 Databricks에 인증한 뒤 결과를 외부에 노출하는 패턴입니다.
이 패턴은 복잡도가 높으므로, 외부 사용자 접근이 핵심 요구사항이라면 Cloud Run, ECS/Fargate 등 별도 플랫폼 에 앱을 배포하고 Databricks SDK로 데이터에 접근하는 것이 더 적합할 수 있습니다.

대안 3: Databricks Apps를 API 백엔드로, 외부 프론트엔드 분리

프론트엔드는 외부 호스팅에 배포하여 누구나 접근 가능하게 하고, 데이터 접근이 필요한 API 호출만 Databricks App으로 보내는 패턴입니다.
Databricks Apps는 워크스페이스의 Private Link 설정을 따릅니다. Azure에서도 동일한 원칙이 적용됩니다. 워크스페이스가 Private Link로 구성되어 있으면 앱 접근도 Private Link를 통해서만 가능합니다.

GCP Private Service Connect

GCP에서는 Private Service Connect를 통해 앱에 접근합니다. 단, GCP에서는 CNAME 체이싱이 지원되지 않으므로, 앱별로 개별 DNS A 레코드를 생성하여 프론트엔드 Private Link IP를 가리켜야 합니다.

DNS 포워딩 필수 설정 (중요)

주의 Private Link 환경에서 가장 흔한 배포 실패 원인: databricksapps.com 도메인에 대한 조건부 DNS 포워딩 을 구성하지 않으면 앱 접속 시 “Public access is not allowed for workspace” 오류가 발생합니다.
Private Link 환경에서는 앱 도메인(*.databricksapps.com)이 워크스페이스 도메인과 별도 이므로, DNS 포워딩을 추가로 구성해야 합니다:
이 설정이 없으면 databricksapps.com 도메인이 퍼블릭 IP로 해석되어 Private Link Only 워크스페이스에서 접속이 차단됩니다.
참고 Private Link 환경에서의 앱 접근: Private Link Only 모드의 워크스페이스에서는 앱 URL도 프라이빗 네트워크에서만 접근 가능합니다. 사용자가 VPN을 통해 접속하거나, VPC/VNet 내부에서 접속해야 합니다.

Egress (아웃바운드) 제어

앱 컨테이너에서 외부 인터넷으로의 아웃바운드 트래픽 은 기본적으로 허용됩니다. 이는 앱에서 외부 API(OpenAI, Slack, 이메일 서비스 등)를 호출할 수 있음을 의미합니다.

Network Connectivity Configuration (NCC)

NCC를 사용하면 앱에 안정적인 Egress IP 를 할당할 수 있습니다. 이 IP를 외부 시스템의 방화벽 허용 목록에 추가하면, 특정 IP에서만 접근을 허용하는 외부 서비스와 연동할 수 있습니다. 또한 NCC에 PrivateLink 연결 을 구성하여 앱에서 S3 버킷, NLB 등 프라이빗 대상에 접근할 수 있습니다.

Network Policy (Enterprise tier)

Enterprise 등급에서는 Network Policy 로 앱의 아웃바운드 트래픽을 승인된 도메인만 허용하도록 제한할 수 있습니다. 이는 데이터 유출 방지(DLP)에 유용합니다.
참고 Network Policy를 적용하기 전에 dry-run 모드 로 먼저 검증하는 것을 권장합니다. system.access.outbound_network 시스템 테이블을 조회하여 실제로 어떤 외부 도메인에 접속하는지 확인하세요.

앱 빌드 시 필수 Egress 도메인

Network Policy를 적용할 때 다음 도메인은 반드시 허용해야 합니다 (앱 빌드 및 의존성 설치에 필요):
주의 보안 고려사항: 앱에서 외부 API를 호출할 때, API 키는 반드시 Secret 리소스 로 관리하세요. 앱 코드에 하드코딩하거나 app.yamlvalue에 직접 넣지 마세요.

커스텀 도메인

현재 Databricks Apps는 커스텀 도메인을 직접 지원하지 않습니다. 앱 URL은 항상 Databricks가 자동으로 생성하는 형식을 따릅니다:

커스텀 도메인이 필요한 경우의 대안

참고 커스텀 도메인 지원은 많은 사용자가 요청하고 있는 기능이며, 향후 로드맵에서 검토될 가능성이 있습니다.

보안 체크리스트

Databricks Apps를 프로덕션에 배포하기 전에 확인해야 할 네트워킹 및 보안 항목을 정리합니다.

참고 자료