주요 컨텐츠로 이동

AWS 상의 Databricks Lakehouse Platform을 이용한 데이터 유출 방지

AWS Databricks에 안전한 아키텍처를 설정하여 데이터 유출을 방지하는 방법을 알아보세요.

blog-data-exfiltration-og2
Updated: 2025년 9월 22일
발행일: 2021년 2월 2일
제품Less than a minute

이 가이드에는 유용한 클라우드별 기술 정보가 포함되어 있지만, AWS, Azure 및 GCP 전반에 걸쳐 우선순위가 지정된 제어 및 구현 지침을 제공하는 Databricks에서의 데이터 유출 방지를 위한 통합 접근 방식을 사용하는 것이 좋습니다.
 

Databricks Lakehouse Platform은 엔터프라이즈급 데이터 솔루션을 대규모로 구축, 배포, 공유 및 유지 관리하기 위한 통합 도구 세트를 제공합니다. Databricks는 고객의 클라우드 계정에 있는 클라우드 스토리지 및 보안과 통합되며, 고객을 대신하여 클라우드 인프라를 관리하고 배포합니다.

이 문서의 전반적인 목표는 다음과 같은 위험을 완화하는 것입니다.

  • Databricks 웹 애플리케이션을 사용하여 인터넷 또는 승인되지 않은 네트워크의 브라우저에서 데이터에 액세스하는 경우.
  • Databricks API를 사용하여 인터넷 또는 승인되지 않은 네트워크의 클라이언트에서 데이터에 액세스하는 경우.
  • 클라우드 스토리지(S3)를 사용하여 인터넷 또는 승인되지 않은 네트워크의 클라이언트에서 데이터에 액세스하는 경우.
  • Databricks 클러스터의 손상된 워크로드가 AWS 또는 인터넷의 승인되지 않은 스토리지 리소스에 데이터를 쓰는 경우.

Databricks에서 AWS 네이티브 도구를 사용하여 전송 중 및 저장 중인 데이터 보호

Databricks는 전송 중 및 저장 중인 데이터를 보호하는 데 도움이 되는 여러 AWS 네이티브 도구 및 서비스를 지원합니다.

보안 그룹

보안 그룹은 EC2 인스턴스에 연결된 상태 저장 가상 방화벽입니다. 이를 통해 허용되는 인바운드 및 아웃바운드 트래픽을 정의할 수 있습니다. 나가는(아웃바운드) 규칙을 좁히면 EC2 인스턴스가 승인되지 않은 IP 주소나 퍼블릭 인터넷으로 데이터를 보내는 것을 제한하여 의도하지 않은 데이터 유출을 효과적으로 차단할 수 있습니다.

  • 방지 대상: Databricks 컴퓨팅 리소스의 승인되지 않은 아웃바운드 연결.

VPC 엔드포인트 정책

VPC 엔드포인트 정책은 VPC 엔드포인트를 통한 AWS 서비스 액세스를 제어합니다. 특정 AWS 리소스(예: S3 버킷)에 대한 필수 작업만 허용함으로써 Databricks 작업 영역이 다른 AWS 계정이나 서비스로 데이터를 유출하는 것을 방지할 수 있습니다.

  • 방지 대상: Databricks가 승인되지 않은 AWS 서비스 또는 리소스로 데이터를 보내는 것.

VPC 엔드포인트

VPC 엔드포인트는 퍼블릭 인터넷을 통하지 않고 VPC와 다른 AWS 서비스 간의 프라이빗 연결을 설정합니다. 이를 통해 민감한 데이터가 외부 네트워크에 노출되지 않도록 하여 인터넷 경로를 통한 데이터 유출 위험을 완화합니다.

  • 방지 대상: 서비스 통신 중 퍼블릭 인터넷에 대한 트래픽 노출.
  • 문서: AWS VPC 엔드포인트

IAM 역할

IAM 역할은 Databricks가 액세스할 수 있는 AWS 리소스와 수행할 수 있는 작업을 제어할 수 있게 합니다. 신뢰 및 권한 정책을 신중하게 사용하면 Databricks 사용자 및 클러스터가 명시적으로 승인된 리소스와만 상호 작용할 수 있어 승인되지 않은 S3 버킷이나 외부 서비스 사용을 차단할 수 있습니다.

  • 방지 대상: 손상되었거나 과도하게 권한이 부여된 자격 증명을 사용하여 승인되지 않은 AWS 리소스에 데이터를 쓰는 것.

라우팅 테이블

라우팅 테이블은 VPC 내 네트워크 트래픽 흐름을 결정합니다. 인터넷으로의 아웃바운드 경로를 방지하거나(또는 필요한 대상만 허용) 데이터가 이동할 수 있는 위치를 제어하여 데이터가 안전하지 않은 위치로 라우팅될 위험을 줄입니다.

  • 방지 대상: 퍼블릭 인터넷 또는 승인되지 않은 네트워크로의 네트워크 경로.

AWS PrivateLink

AWS PrivateLink는 암호화된 전용 네트워크 인터페이스를 통해 VPC와 AWS 서비스 간의 프라이빗 연결을 허용하여 퍼블릭 인터넷 노출을 제거합니다. 이는 Databricks 제어 및 데이터 플레인에 대한 안전한 경로를 제공하여 데이터가 AWS 외부로 유출되는 것을 더 어렵게 만듭니다.

  • 방지 대상: 퍼블릭 네트워크를 통한 데이터 가로채기 또는 유출.

프라이빗 서브넷

프라이빗 서브넷은 인터넷으로 직접 연결되는 경로가 없으므로 내부 리소스는 인터넷으로 아웃바운드 연결을 시작할 수 없습니다. 이 아키텍처 장벽은 클러스터와 노드가 AWS 외부로 데이터를 직접 보내는 것을 차단합니다.

  • 방지 대상: 컴퓨팅 리소스의 모든 아웃바운드 인터넷 통신.

KMS 키

AWS Key Management Service(KMS)를 사용하면 S3 버킷을 포함하여 저장 중인 데이터를 암호화할 수 있습니다. 데이터에 액세스하더라도 공격자가 암호화 키에 액세스하지 않는 한 데이터는 보호됩니다.

  • 방지 대상: 키 자료를 손상시키지 않고 데이터를 사용할 수 있도록 유출하는 것.

S3 버킷 정책

이러한 리소스 정책은 특정 S3 버킷에 대한 액세스를 부여하거나 거부합니다. 승인된 소스(예: Databricks VPC 또는 특정 IAM 역할)에서만 액세스를 제한함으로써, 유출 시도가 발생하더라도 제어된 버킷 외부로 민감한 데이터를 쓰거나 복사할 수 없도록 보장합니다.

  • 방지 대상: 원치 않는 S3 위치에서의 쓰기/읽기.

이러한 각 제어는 개별적으로 또는 함께 작동하여 데이터 유출에 대한 심층 방어 접근 방식을 시행하며, 데이터가 보호된 환경을 벗어나기 전에 여러 검증 단계를 보장합니다.

암호화는 데이터 보호의 또 다른 중요한 구성 요소입니다. Databricks는 고객 관리 암호화 키, 키 로테이션, 저장 중 암호화 및 전송 중 암호화를 포함한 여러 암호화 옵션을 지원합니다. Databricks 관리 암호화 키는 기본적으로 사용되며 즉시 활성화됩니다. 고객은 자체 암호화 키를 가져올 수도 있습니다.

감사 로깅

감사 로깅은 조직이 Databricks 환경 전반에 걸쳐 사용자 활동, 관리 작업 및 시스템 이벤트를 추적할 수 있도록 하는 기본 보안 및 규정 준수 기능입니다. 데이터 유출과 관련하여 감사 로그는 잠재적인 위협 또는 부적절한 동작을 탐지, 조사 및 대응하는 데 중요한 역할을 합니다.

감사 로그는 다음과 같은 기본적인 질문에 답하는 데 도움이 됩니다.

  • 누가 언제 어떤 데이터에 액세스했는가?
  • 어떤 작업(읽기, 쓰기, 수정, 삭제)이 수행되었는가?
  • 정책 외부에서 민감한 데이터에 액세스하거나 내보내려는 시도가 있었는가?

이러한 이벤트를 추적함으로써 감사 로그는 보안 모니터링과 규정 준수 보고를 모두 지원합니다.

Databricks 감사 로깅 기능

Databricks는 작업 영역 및 계정 수준 모두에서 강력한 감사 로깅 기능을 제공합니다. 주요 기능은 다음과 같습니다.

  • 작업 영역 수준 감사 로그: Databricks 작업 영역 내의 사용자 및 시스템 작업을 캡처합니다.
  • 계정 수준 감사 로그: 계정의 모든 작업 영역에 걸친 작업을 추적합니다.
  • 상세 감사 로그: 더 깊은 가시성을 위한 선택적이고 더 세분화된 이벤트 캡처.
  • Unity Catalog 시스템 테이블과의 통합: 데이터 거버넌스 및 조사 워크플로의 일부로 액세스, 컴퓨팅, 쿼리, 서빙 및 스토리지 로그를 표시합니다.

감사 로그는 거의 실시간으로 고객이 지정한 Amazon S3 버킷으로 전달될 수 있습니다. 지속적인 모니터링 및 경고를 위해 SIEM 또는 보안 분석 시스템과 직접 통합될 수 있습니다.

Databricks 아키텍처

시작하기 전에 Databricks 배포 아키텍처를 여기에서 간단히 살펴보겠습니다.

Databricks는 안전한 교차 기능 팀 협업을 지원하도록 구성되어 있으며, 백엔드 서비스의 상당 부분을 Databricks가 관리하므로 데이터 과학, 데이터 분석 및 데이터 엔지니어링 작업에 집중할 수 있습니다.

Databricks는 제어 평면컴퓨팅 평면에서 운영됩니다.

  • 제어 평면에는 Databricks가 자체 AWS 클라우드 계정에서 관리하는 백엔드 서비스가 포함됩니다. 노트북 명령 및 기타 여러 작업 영역 구성은 제어 평면에 저장되며 저장 시 암호화됩니다.
  • 데이터가 처리되는 컴퓨팅 평면은 사용 중인 특정 컴퓨팅에 따라 다른 유형이 있습니다. 이러한 컴퓨팅 유형에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
    • 서버리스 컴퓨팅의 경우 서버리스 컴퓨팅 리소스는 Databricks 계정의 서버리스 컴퓨팅 평면에서 실행됩니다.
    • 클래식 Databricks 컴퓨팅의 경우 컴퓨팅 리소스는 AWS 클라우드 계정에 있습니다.

고수준 아키텍처

네트워크 통신 경로

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

Databricks 작업 영역 배포에는 보안을 강화할 수 있는 다음과 같은 네트워크 경로가 포함됩니다.

  1. 사용자 또는 애플리케이션에서 Databricks 웹 애플리케이션(작업 영역) 또는 Databricks REST API로의 연결.
  2. Databricks 클래식 컴퓨팅 플레인 VPC 네트워크에서 Databricks 제어 플레인 서비스로의 연결. 여기에는 보안 클러스터 연결 릴레이 및 REST API 엔드포인트에 대한 작업 영역 연결이 포함됩니다.
  3. 클래식 컴퓨팅 플레인에서 스토리지 서비스(예: S3, Kinesis 등)로의 연결.
  4. 서버리스 컴퓨팅 플레인에서 스토리지 서비스(예: S3, Kinesis 등)로의 연결.
  5. 네트워크 정책(아웃바운드 방화벽)을 통해 서버리스 컴퓨팅 플레인에서 외부 데이터 소스(예: pypi 또는 maven과 같은 패키지 리포지토리)로 안전하게 나가는 연결.
  6. 아웃바운드 방화벽을 통해 클래식 컴퓨팅 플레인에서 외부 데이터 소스(예: pypi 또는 maven과 같은 패키지 리포지토리)로 안전하게 나가는 연결.

최종 사용자 관점에서 1번은 인바운드 제어가 필요하고 2, 3, 4, 5, 6번은 아웃바운드 제어가 필요합니다.

이 글에서는 Databricks 워크로드에서 나가는 트래픽을 보호하는 데 중점을 두고 제안된 배포 아키텍처에 대한 지침을 제공하며, 동시에 Databricks로 들어오는(사용자/클라이언트) 트래픽을 보호하기 위한 모범 사례도 공유하겠습니다.

제안된 배포 아키텍처 - AWS 보안 참조 아키텍처

AWS에서 Databricks를 안전하게 배포하는 것은 복잡할 수 있습니다. VPC, IAM 역할, 프라이빗 네트워킹, Unity Catalog 및 엔터프라이즈 보안과 일치하는 가드레일이 필요합니다. AWS용 Databricks 보안 참조 아키텍처(SRA)는 이러한 모범 사례를 즉시 사용 가능한 Terraform 템플릿으로 패키징하여 팀에게 프로덕션 배포를 위한 강화된 시작점을 제공합니다.

기능

  • AWS에서 안전한 Databricks를 위한 의견 기반 Terraform 모듈.
  • 기본적으로 네트워킹, IAM, Unity Catalog, 정책을 다룹니다.
  • 채택을 가속화하는 보안 우선 청사진 역할을 합니다.

중요성

  • 속도: 몇 분 안에 인프라 + 작업 영역 설정을 자동화합니다.
  • 보안: 사전 구축된 VPC, 프라이빗 네트워킹, 감사 로깅.
  • 확장성: 계정/작업 영역 전반에 걸쳐 재사용 가능한 패턴.

개략적인 리포지토리 구조

  • aws/ → AWS 인프라 + 작업 영역 생성.
  • /modules/databricks_account/unity_catalog_metastore_creation/ → 메타스토어 생성
  • aws/tf/modules/sra/credential.tf → 외부 ID를 사용하는 교차 계정 역할
  • template.tfvars.example → 변수 채우기

제공되는 기능

  • AWS VPC, 서브넷, IAM 역할.
  • Unity Catalog에 연결된 Databricks 작업 영역.
  • 강화된 옵션: 제한된 아웃바운드, 로깅, 모니터링.

사용 방법

  1. 리포지토리를 복제합니다.
  2. template.tfvars.example에서 변수를 채웁니다.
  3. 필요에 따라 VPC, 서브넷 및 이름 매개변수를 수정합니다.
  4. 반복 가능한 엔터프라이즈 배포를 위해 CI/CD로 확장합니다.

주의 사항

  • 시점 스냅샷이므로 업그레이드 전에 검토하십시오.
  • “관리형”이 아님 → 팀이 테스트 및 적응을 소유합니다.
  • Terraform + AWS + Databricks 공급자 지식이 필요합니다.

pypi 또는 maven에 대한 인터넷 액세스가 필요한 경우 VPC에서 나가는 모든 트래픽을 검사할 수 있도록 다음 아키텍처를 사용하는 것이 좋습니다. 여러 AWS 서비스를 사용하여 VPC로 나가는 트래픽을 검사할 수 있습니다. 예를 들어 AWS Network Firewall 또는 Gateway Load Balancer를 사용할 수 있습니다. AWS Network Firewall 설정 시작을 위해 AWS 설명서(예: 여기)를 따르는 것이 좋습니다.

Databricks 데이터 유출 방지 제어

아웃바운드 트래픽 모니터링 외에도 Databricks 환경을 데이터 유출로부터 보호하기 위해 다음 제어를 구현하십시오. 일부 기능(예: 프라이빗 링크)은 Databricks Enterprise 티어에서만 지원된다는 점을 명심하십시오.

SCIM 프로비저닝

IdP에서 Databricks로 사용자 및 그룹 수명 주기 관리를 자동화합니다.
SCIM 프로비저닝 가이드

Single Sign-On (SSO)

ID 공급자(SAML 또는 OIDC)를 통한 중앙 집중식 인증을 요구합니다.
SSO 구성

다단계 인증(MFA)

로그인 보안을 강화하기 위해 IdP 수준에서 MFA를 적용합니다.
다단계 인증

계정 콘솔 IP 액세스 제어 목록(ACL)

허용된 IP 범위 정의를 통해 Databricks 계정 콘솔 액세스를 제한합니다.
IP 액세스 목록

네트워크 연결 구성의 프라이빗 엔드포인트

작업 영역 트래픽이 프라이빗 엔드포인트를 통해서만 흐르도록 합니다(퍼블릭 인터넷 없음).
네트워크 연결 구성

서버리스 아웃바운드 제어

Databricks 서버리스 컴퓨팅에서 외부 대상으로의 연결을 제한하는 규칙을 적용합니다.
서버리스 컴퓨팅 보안

DBFS에 프로덕션 데이터 저장 방지

민감한 데이터 세트를 DBFS에 영구 저장하지 마십시오. 안전한 스토리지(예: S3, ADLS)를 사용하십시오.
DBFS 개요

Delta Sharing 수신자 토큰 수명

유출 시 노출을 줄이기 위해 Delta Sharing의 토큰 유효 기간을 단축합니다.
Delta Sharing 보안

민감한 워크로드를 다른 네트워크로 격리

별도의 VPC/서브넷을 사용하여 워크로드를 논리적으로 및 물리적으로 격리합니다.

민감한 워크로드를 다른 작업 영역으로 격리

환경 분리를 적용하기 위해 여러 작업 영역(프로덕션, 개발, 테스트)을 배포합니다.
다중 작업 영역 전략

CI/CD용 OIDC 토큰 페더레이션

CI/CD 파이프라인이 Databricks와 상호 작용할 때 OIDC 페더레이션을 사용하여 짧은 수명 주기 토큰을 안전하게 교환합니다.
OIDC 토큰 페더레이션

이러한 제어를 함께 적용하면 계층화된 심층 방어를 제공하여 의도적이거나 악의적인 데이터 유출 위험을 최소화합니다.

향상된 보안 규정 준수 및 모니터링 추가 기능:
조직에 HIPAA, PCI 또는 이와 유사하게 엄격한 표준 지원과 같은 강화된 보안 요구 사항이 있는 경우 Databricks 워크로드에 대해 향상된 보안 모니터링을 활성화하는 것을 고려하십시오.

이 고급 기능은 Databricks의 핵심 보안 기능을 기반으로 하며, 클래식 및 서버리스 컴퓨팅 환경 모두에 대해 더 깊은 가시성, 사전 위협 탐지 및 추가 강화를 제공합니다. 향상된 보안 모니터링은 CIS Level 1 강화 기능이 적용된 Canonical Ubuntu, 지속적인 동작 기반 악성코드 및 파일 무결성 모니터링, 포괄적인 악성코드 및 바이러스 백신 검사, 호스트 운영 체제에 대한 상세한 취약점 보고서와 같은 이점을 제공합니다.

이 기능이 활성화되면(규정 준수 보안 프로필을 통해), 권한 상승, 의심스러운 대화형 셸, 승인되지 않은 아웃바운드 연결, 예기치 않은 시스템 파일 변경 또는 잠재적인 데이터 유출 시도에 대한 경고를 포함한 보안 이벤트 로그가 자동으로 기록됩니다. 이러한 로그는 표준 Databricks 감사 로그와 함께 제공되어 조직의 SIEM 또는 Databricks 자체 내에서 풍부하고 맥락적인 정보를 제공합니다. 이를 통해 보안 분석가는 광범위한 조사 없이도 이상하거나 위험한 동작을 신속하게 추적하고 대응하여 즉각적인 탐지 및 신속한 사고 대응을 지원할 수 있습니다.

결론 및 다음 단계

AWS의 Databricks에 대한 강력한 데이터 유출 방어는 일회성 설정이 아니라 지속적인 개선이 필요합니다. 아키텍처 제어를 배포하는 것 외에도 지속적인 모니터링, 엄격한 감사 및 사전 변경 관리를 보안 관행의 중심으로 삼으십시오. 감사 로그를 정기적으로 검토하고, 액세스 및 네트워크 정책을 업데이트하며, 보안 및 규정 준수 팀과 협력하면 새로운 위협에 대응하기 위해 보호 기능이 발전하도록 보장하는 데 도움이 됩니다. 전략을 심화하려면 클라우드 모니터링 모범 사례감사 로깅에 대한 신뢰할 수 있는 자료를 검토하십시오. 이러한 자료는 데이터 환경과 위험이 증가함에 따라 경계와 복원력을 유지하는 데 도움이 될 것입니다.

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

게시물을 놓치지 마세요

관심 있는 카테고리를 구독하고 최신 게시물을 받은편지함으로 받아보세요