AWS Databricks에 안전한 아키텍처를 설정하여 데이터 유출을 방지하는 방법을 알아보세요.
작성자: Andrew Weaver, 바빈 쿠카디아 , Michael Saltzman
이 가이드에는 유용한 클라우드별 기술 정보가 포함되어 있지만, AWS, Azure 및 GCP 전반에 걸쳐 우선순위가 지정된 제어 및 구현 지침을 제공하는 Databricks에서의 데이터 유출 방지를 위한 통합 접근 방식을 사용하는 것이 좋습니다.
Databricks Lakehouse Platform은 엔터프라이즈급 데이터 솔루션을 대규모로 구축, 배포, 공유 및 유지 관리하기 위한 통합 도구 세트를 제공합니다. Databricks는 고객의 클라우드 계정에 있는 클라우드 스토리지 및 보안과 통합되며, 고객을 대신하여 클라우드 인프라를 관리하고 배포합니다.
이 문서의 전반적인 목표는 다음과 같은 위험을 완화하는 것입니다.
Databricks는 전송 중 및 저장 중인 데이터를 보호하는 데 도움이 되는 여러 AWS 네이티브 도구 및 서비스를 지원합니다.
보안 그룹
보안 그룹은 EC2 인스턴스에 연결된 상태 저장 가상 방화벽입니다. 이를 통해 허용되는 인바운드 및 아웃바운드 트래픽을 정의할 수 있습니다. 나가는(아웃바운드) 규칙을 좁히면 EC2 인스턴스가 승인되지 않은 IP 주소나 퍼블릭 인터넷으로 데이터를 보내는 것을 제한하여 의도하지 않은 데이터 유출을 효과적으로 차단할 수 있습니다.
VPC 엔드포인트 정책
VPC 엔드포인트 정책은 VPC 엔드포인트를 통한 AWS 서비스 액세스를 제어합니다. 특정 AWS 리소스(예: S3 버킷)에 대한 필수 작업만 허용함으로써 Databricks 작업 영역이 다른 AWS 계정이나 서비스로 데이터를 유출하는 것을 방지할 수 있습니다.
VPC 엔드포인트
VPC 엔드포인트는 퍼블릭 인터넷을 통하지 않고 VPC와 다른 AWS 서비스 간의 프라이빗 연결을 설정합니다. 이를 통해 민감한 데이터가 외부 네트워크에 노출되지 않도록 하여 인터넷 경로를 통한 데이터 유출 위험을 완화합니다.
IAM 역할
IAM 역할은 Databricks가 액세스할 수 있는 AWS 리소스와 수행할 수 있는 작업을 제어할 수 있게 합니다. 신뢰 및 권한 정책을 신중하게 사용하면 Databricks 사용자 및 클러스터가 명시적으로 승인된 리소스와만 상호 작용할 수 있어 승인되지 않은 S3 버킷이나 외부 서비스 사용을 차단할 수 있습니다.
라우팅 테이블
라우팅 테이블은 VPC 내 네트워크 트래픽 흐름을 결정합니다. 인터넷으로의 아웃바운드 경로를 방지하거나(또는 필요한 대상만 허용) 데 이터가 이동할 수 있는 위치를 제어하여 데이터가 안전하지 않은 위치로 라우팅될 위험을 줄입니다.
AWS PrivateLink
AWS PrivateLink는 암호화된 전용 네트워크 인터페이스를 통해 VPC와 AWS 서비스 간의 프라이빗 연결을 허용하여 퍼블릭 인터넷 노출을 제거합니다. 이는 Databricks 제어 및 데이터 플레인에 대한 안전한 경로를 제공하여 데이터가 AWS 외부로 유출되는 것을 더 어렵게 만듭니다.
프라이빗 서브넷
프라이빗 서브넷은 인터넷으로 직접 연결되는 경로가 없으므로 내부 리소스는 인터넷으로 아웃바운드 연결을 시작할 수 없습니다. 이 아키텍처 장벽은 클러스터와 노드가 AWS 외부로 데이터를 직접 보내는 것을 차단합니다.
KMS 키
AWS Key Management Service(KMS)를 사용하면 S3 버킷을 포함하여 저장 중인 데이터를 암호화할 수 있습니다. 데이터에 액세스하더라도 공격자가 암호화 키에 액세스하지 않는 한 데이터는 보호됩니다.
S3 버킷 정책
이러한 리소스 정책은 특정 S3 버킷에 대한 액세스를 부여하거나 거부합니다. 승인된 소스(예: Databricks VPC 또는 특정 IAM 역할)에서만 액세스를 제한함으로써, 유출 시도가 발생하더라도 제어된 버킷 외부로 민감한 데이터를 쓰거나 복사할 수 없도록 보장합니다.
이러한 각 제어는 개별적으로 또는 함께 작동하여 데이터 유출에 대한 심층 방어 접근 방식을 시행하며, 데이터가 보호된 환경을 벗어나기 전에 여러 검증 단계를 보장합니다.
암호화는 데이터 보호의 또 다른 중요한 구성 요소입니다. Databricks는 고객 관리 암호화 키, 키 로테이션, 저장 중 암호화 및 전송 중 암호화를 포함한 여러 암호화 옵션을 지원합니다. Databricks 관리 암호화 키는 기본적으로 사용되며 즉시 활성화됩니다. 고객은 자체 암호화 키를 가져올 수도 있습니다.
감사 로깅은 조직이 Databricks 환경 전반에 걸쳐 사용자 활동, 관리 작업 및 시스템 이벤트를 추적할 수 있도록 하는 기본 보안 및 규정 준수 기능입니다. 데이터 유출과 관련하여 감사 로그는 잠재적인 위협 또는 부적절한 동작을 탐지, 조사 및 대응하는 데 중요한 역할을 합니다.
감사 로그는 다음과 같은 기본적인 질문에 답하는 데 도움이 됩니다.
이러한 이벤트를 추적함으로써 감사 로그는 보안 모니터링과 규정 준수 보고를 모두 지원합니다.
Databricks 감사 로깅 기능
Databricks는 작업 영역 및 계정 수준 모두에서 강력한 감사 로깅 기능을 제공합니다. 주요 기능은 다음과 같습니다.
감사 로그는 거의 실시간으로 고객이 지정한 Amazon S3 버킷으로 전달될 수 있습니다. 지속적인 모니터링 및 경고를 위해 SIEM 또는 보안 분석 시스템과 직접 통합될 수 있습니다.
시작하기 전에 Databricks 배포 아키텍처를 여기에서 간단히 살펴보겠습니다.
Databricks는 안전한 교차 기능 팀 협업을 지원하도록 구성되어 있으며, 백엔드 서비스의 상당 부분을 Databricks가 관리하므로 데이터 과학, 데이터 분석 및 데이터 엔지니어링 작업에 집중할 수 있습니다.
Databricks는 제어 평면과 컴퓨팅 평면에서 운영됩니다.

구현하려는 보안 조치를 이해하기 위해 아래 그림과 같이 사용자와 애플리케이션이 Databricks와 상호 작용하는 다양한 방법을 살펴보겠습니다.

Databricks 작업 영역 배포에는 보안을 강화할 수 있는 다음과 같은 네트워크 경로가 포함됩니다.
최종 사용자 관점에서 1번은 인바운드 제어가 필요하고 2, 3, 4, 5, 6번은 아웃바운드 제어가 필요합니다.
이 글에서는 Databricks 워크로드에서 나가는 트래픽을 보호하는 데 중점을 두고 제안된 배포 아키텍처에 대한 지침을 제공하며, 동시에 Databricks로 들어오는(사용자/클라이언트) 트래픽을 보호하기 위한 모범 사례도 공유하겠습니다.

AWS에서 Databricks를 안전하게 배포하는 것은 복잡할 수 있습니다. VPC, IAM 역할, 프라이빗 네트워킹, Unity Catalog 및 엔터프라이즈 보안과 일 치하는 가드레일이 필요합니다. AWS용 Databricks 보안 참조 아키텍처(SRA)는 이러한 모범 사례를 즉시 사용 가능한 Terraform 템플릿으로 패키징하여 팀에게 프로덕션 배포를 위한 강화된 시작점을 제공합니다.
기능
중요성
개략적인 리포지토리 구조
제공되는 기능
사용 방법
주의 사항
pypi 또는 maven에 대한 인터넷 액세스가 필요한 경우 VPC에서 나가는 모든 트래픽을 검사할 수 있도록 다음 아키텍처를 사용하는 것이 좋습니다. 여러 AWS 서비스를 사용하여 VPC로 나가는 트래픽을 검사할 수 있습니다. 예를 들어 AWS Network Firewall 또는 Gateway Load Balancer를 사용할 수 있습니다. AWS Network Firewall 설정 시작을 위해 AWS 설명서(예: 여기)를 따르는 것이 좋습니다.

아웃바운드 트래픽 모니터링 외에도 Databricks 환경을 데이터 유출로부터 보호하기 위해 다음 제어를 구현하십시오. 일부 기능(예: 프라이빗 링크)은 Databricks Enterprise 티어에서만 지원된다는 점을 명심하십시오.
IdP에서 Databricks로 사용자 및 그룹 수명 주기 관리를 자동화합니다.
SCIM 프로비저닝 가이드
ID 공급자(SAML 또는 OIDC)를 통한 중앙 집중식 인증을 요구합니다.
SSO 구성
로그인 보안을 강화하기 위해 IdP 수준에서 MFA를 적용합니다.
다단계 인증
허용된 IP 범위 정의를 통해 Databricks 계정 콘솔 액세스를 제한합니다.
IP 액세스 목록
작업 영역 트래픽이 프라이빗 엔드포인트를 통해서만 흐르도록 합니다(퍼블릭 인터넷 없음).
네트워크 연결 구성
Databricks 서버리스 컴퓨팅에서 외부 대상으로의 연결을 제한하는 규칙을 적용합니다.
서버리스 컴퓨팅 보안
민감한 데이터 세트를 DBFS에 영구 저장하지 마십시오. 안전한 스토리지(예: S3, ADLS)를 사용하십시오.
DBFS 개요
유출 시 노 출을 줄이기 위해 Delta Sharing의 토큰 유효 기간을 단축합니다.
Delta Sharing 보안
별도의 VPC/서브넷을 사용하여 워크로드를 논리적으로 및 물리적으로 격리합니다.
환경 분리를 적용하기 위해 여러 작업 영역(프로덕션, 개발, 테스트)을 배포합니다.
다중 작업 영역 전략
CI/CD 파이프라인이 Databricks와 상호 작용할 때 OIDC 페더레이션을 사용하여 짧은 수명 주기 토큰을 안전하게 교환합니다.
OIDC 토큰 페더레이션
이러한 제어를 함께 적용하면 계층화된 심층 방어를 제공하여 의도적이거나 악의적인 데이터 유출 위험을 최소화합니다.
향상된 보안 규정 준수 및 모니터링 추가 기능:
조직에 HIPAA, PCI 또는 이와 유사하게 엄격한 표준 지원과 같은 강화된 보안 요구 사항이 있는 경우 Databricks 워크로드에 대해 향상된 보안 모니터링을 활성화하는 것을 고려하십시오.
이 고급 기능은 Databricks의 핵심 보안 기능을 기반으로 하며, 클래 식 및 서버리스 컴퓨팅 환경 모두에 대해 더 깊은 가시성, 사전 위협 탐지 및 추가 강화를 제공합니다. 향상된 보안 모니터링은 CIS Level 1 강화 기능이 적용된 Canonical Ubuntu, 지속적인 동작 기반 악성코드 및 파일 무결성 모니터링, 포괄적인 악성코드 및 바이러스 백신 검사, 호스트 운영 체제에 대한 상세한 취약점 보고서와 같은 이점을 제공합니다.
이 기능이 활성화되면(규정 준수 보안 프로필을 통해), 권한 상승, 의심스러운 대화형 셸, 승인되지 않은 아웃바운드 연결, 예기치 않은 시스템 파일 변경 또는 잠재적인 데이터 유출 시도에 대한 경고를 포함한 보안 이벤트 로그가 자동으로 기록됩니다. 이러한 로그는 표준 Databricks 감사 로그와 함께 제공되어 조직의 SIEM 또는 Databricks 자체 내에서 풍부하고 맥락적인 정보를 제공합니다. 이를 통해 보안 분석가는 광범위한 조사 없이도 이상하거나 위험한 동작을 신속하게 추적하고 대응하여 즉각적인 탐지 및 신속한 사고 대응을 지원할 수 있습니다.
AWS의 Databricks에 대한 강력한 데이터 유출 방어는 일회성 설정이 아니라 지속적인 개선이 필요합니다. 아키텍처 제어를 배포하는 것 외에도 지속적인 모니터링, 엄격한 감사 및 사전 변경 관리를 보안 관행의 중심으로 삼으십시오. 감사 로그를 정기적으로 검토하고, 액세스 및 네트워크 정책을 업데이트하며, 보안 및 규정 준수 팀과 협력하면 새로운 위협에 대응하기 위해 보호 기능이 발전하도록 보장하는 데 도움이 됩니다. 전략을 심화하려면 클라우드 모니터링 모범 사례 및 감사 로깅에 대한 신뢰할 수 있는 자료를 검토하십시오. 이러한 자료는 데이터 환경과 위험이 증가함에 따라 경계와 복원력을 유지하는 데 도움이 될 것입니다.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)
블로그를 구독하고 최신 게시물을 이메일로 받아보세요.