이 페이지는 Azure 네트워크 수준 데이터 반출 보호를 위한 기능별 참조 아키텍처입니다. 각 섹션에서는 ID, Unity 카탈로그 거버넌스, 작업 영역 제한, 모니터링 및 클라우드별 네트워크 격리와 같은 하나의 컨트롤과 해당 구현 가이드에 대한 링크를 설명합니다. 이러한 컨트롤 뒤에 있는 개념 및 보안 계층 우선 순위는 데이터 반출 보호를 참조하세요.
- 전체 컨트롤 집합을 단일 번들로 배포하려면 Azure Databricks 보안 참조 아키텍처 Terraform 모듈을 사용합니다. 이 모듈은 이산된 환경 아키텍처를 엔드투엔드 구현합니다. Azure 보안 참조 아키텍처 Terraform 모듈 참조하세요.
- 컨트롤을 개별적으로 구성하려면 아래 가이드를 사용합니다.
ID 및 액세스 제어
ID 기반 컨트롤은 데이터 반출에 대한 첫 번째 방어선입니다. 강력한 인증 및 신뢰할 수 있는 액세스가 없으면 약한 ID는 네트워크 수준 제어를 저해합니다.
SSO를 사용하여 통합 로그인
통합 로그인을 사용하여 Azure Databricks 계정의 모든 작업 영역에 SSO(Single Sign-On)를 적용합니다. 이렇게 하면 사용자가 개인 계정 또는 비 SSO 메서드를 사용하는 대신 회사 ID 공급자를 통해 인증할 수 있습니다.
추가 인증 계층을 위해 ID 공급자 내에서 MFA(다단계 인증)를 사용하도록 설정합니다.
인증 및 액세스 제어를 참조하세요.
자동화된 ID 관리
SCIM 프로비저닝을 구현하여 사용자 수명 주기 관리를 자동화합니다. 이렇게 하면 이전 직원이 자동으로 프로비저닝을 해제하고 출발 후 작업 영역에 액세스할 수 없습니다.
네트워크 접근 제어
신뢰할 수 있는 네트워크에 대한 작업 영역 및 계정 콘솔 액세스를 제한합니다.
- 계정 수준 IP 액세스 목록: 계정 콘솔에 대한 액세스를 제어합니다. 계정 콘솔에 대한 IP 액세스 목록 구성을 참조 하세요.
- 작업 영역 수준 IP 액세스 목록: 개별 작업 영역에 대한 액세스를 제어합니다. 작업 영역에 대한 IP 액세스 목록 구성을 참조하세요.
- 프라이빗 연결: 인바운드 Private Link를 사용하여 작업 영역에 대한 공용 액세스를 완전히 제거합니다. 인바운드 프라이빗 링크 구성을 참조하세요.
데이터 거버넌스 컨트롤
네트워크 제어는 무단 송신 경로를 방지하지만 데이터 거버넌스 제어를 통해 권한 있는 컴퓨팅 리소스도 승인된 데이터 대상에만 액세스할 수 있습니다. 배포하는 네트워크 보안 아키텍처 에 관계없이 이러한 컨트롤을 적용합니다.
표준 액세스 제어
Unity 카탈로그 권한을 사용하여 각 카탈로그, 스키마, 테이블 및 볼륨을 읽거나 쓰거나 수정할 수 있는 사용자를 제한합니다. 각 역할 및 그룹에 필요한 최소 권한을 부여합니다.
권한 흐름 계층적으로: 카탈로그에 대한 권한 부여는 카탈로그 내의 모든 스키마 및 테이블에 적용됩니다. 이를 사용하여 광범위한 기본값을 적용한 다음, 중요한 데이터에 대해 낮은 수준에서 액세스를 좁힐 수 있습니다.
Unity 카탈로그에서 권한 관리을 참조하세요.
ABAC(특성 기반 액세스 제어)
ABAC는 개체 ID뿐만 아니라 데이터 개체에 연결된 태그를 기반으로 데이터 액세스를 제어합니다. ABAC를 사용하여 "사용자는 태그가 지정된 pii=false테이블만 쿼리할 수 있습니다." 또는 "EU 그룹의 사용자는 태그가 지정된 region=US테이블을 읽을 수 없습니다."와 같은 정책을 적용합니다.
ABAC는 태그 지정 규칙이 이미 있는 대규모 환경에서 개체별 GRANT보다 크기가 더 낫습니다. 또한 행 필터 및 열 마스크(아래)와 함께 사용하기 좋습니다.
행 필터 및 열 마스크
테이블 내에서 사용자에게 표시되는 내용을 제한합니다.
- 행 필터: 사용자가 쿼리할 수 있는 행을 결정하는 SQL 함수를 적용합니다. 예를 들어 각 지역 관리자가 해당 지역의 행만 볼 수 있도록 판매 테이블을 제한합니다.
-
열 마스크: 열 값이 사용자에게 반환되기 전에 변환하는 SQL 함수를 적용합니다. 예를 들어, 비금융 사용자의 경우 신용카드 번호를
XXXX-XXXX-XXXX-1234로 마스킹합니다.
행 필터 및 열 마스크는 쿼리 시 평가되므로 사용자가 해당 필터를 바이패스 SELECT *할 수 없습니다.
Unity 카탈로그 관리 제한 사항
데이터 액세스 보안 개체 만들기를 관리자에게만 제한합니다.
- 스토리지 자격 증명: 관리자만 스토리지 자격 증명을 만들 수 있습니다. 각 자격 증명에 대해 최소 권한 클라우드 액세스 정책(IAM 역할, 관리 ID)을 적용합니다. 스토리지 자격 증명 관리를 참조하세요.
- 외부 위치: 관리자만 클라우드 스토리지 경로에 매핑되는 외부 위치를 만들 수 있습니다. 외부 위치 관리를 참조하세요.
- 데이터베이스 연결: 관리자만 Lakehouse Federation을 통해 외부 데이터베이스에 대한 연결을 만들 수 있습니다. Lakehouse 페더레이션에 대한 연결 관리를 참조하세요.
- 서비스 자격 증명: 관리자만 외부 클라우드 서비스에 대한 서비스 자격 증명을 만들 수 있습니다. 서비스 자격 증명 만들기를 참조하세요.
사용자에게 새 보안 개체를 만드는 대신 승인된 보안 개체를 사용할 수 있는 권한을 부여합니다. 이렇게 하면 사용자가 신뢰할 수 없는 스토리지 또는 엔드포인트에서 컴퓨팅을 가리키지 않습니다.
카탈로그에 대한 작업 영역 바인딩
환경 간 데이터 액세스를 방지하기 위해 Unity 카탈로그 카탈로그를 특정 작업 영역에 바인딩합니다. 예를 들어 개발 작업 영역에서 프로덕션 데이터를 읽지 못하게 합니다.
작업 영역 카탈로그 바인딩을 참조하세요.
스토리지 계정 정책
승인된 원본 대상의 트래픽만 허용하도록 스토리지 계정에 방화벽 또는 버킷 정책을 구현합니다.
- 승인된 VNet, 프라이빗 엔드포인트 또는 서비스 엔드포인트에서만 액세스할 수 있도록 Azure Storage 방화벽을 구성합니다.
- 최소 권한 역할 할당과 함께 관리 ID를 사용합니다.
작업 영역 제한
작업 영역 관리자 설정은 Azure Databricks UI를 통해 데이터 다운로드 및 내보내기 경로를 제어합니다. 사용자가 작업 영역 인터페이스를 통해 데이터를 추출하지 못하도록 하려면 이러한 설정을 사용하지 않도록 설정합니다.
| Setting | 위험 완화 |
|---|---|
| 노트북 결과 다운로드 비활성화 | 로컬 컴퓨터에 쿼리 결과를 다운로드하는 사용자 |
| 볼륨 파일 다운로드 사용 안 함 | 로컬 컴퓨터에 볼륨 파일을 다운로드하는 사용자 |
| Notebook 및 파일 내보내기 사용 안 함 | 작업 영역에서 Notebook 또는 파일을 내보내는 사용자 |
| SQL 결과 다운로드 사용 안 함 | SQL 쿼리 결과를 다운로드하는 사용자 |
| MLflow 실행 아티팩트 다운로드 비활성화 | MLflow 실험 아티팩트 다운로드하는 사용자 |
| 결과 테이블 클립보드 사용 안 함 | 테이블 형식 데이터를 클립보드로 복사하는 사용자 |
보안 설정 아래의 작업 영역 관리 콘솔에서 이러한 설정을 구성합니다. 작업 영역 관리를 참조하세요.
모니터링 및 탐지
예방 제어는 데이터 반출 위험을 줄이지만 모니터링은 컨트롤이 실패하거나 공격자가 이를 우회하는 시기를 감지합니다.
감사 모니터링용 시스템 테이블
Azure Databricks 시스템 테이블을 사용한 비용 모니터링을 사용하여 데이터 액세스 패턴을 모니터링합니다. 감사 로그 시스템 테이블 참조는 다음을 포함한 작업 영역 이벤트를 캡처합니다.
- 사용자 인증 및 액세스 시도.
- 데이터 읽기 및 쓰기 작업.
- 관리 구성이 변경됩니다.
- 자격 증명 사용 및 외부 위치 액세스.
비정상적인 데이터 볼륨, 예기치 않은 위치에서의 액세스 또는 권한 없는 리소스 액세스 시도와 같은 의심스러운 활동에 대한 경고를 설정합니다.
클라우드 네이티브 로그 통합
클라우드별 로그를 수집하여 Azure Databricks 시스템 테이블을 보완합니다.
- 스토리지 액세스 이벤트, 관리 ID 사용량 및 네트워크 흐름 로그를 캡처하도록 Azure Monitor 및 활동 로그를 구성합니다.
클라우드 네이티브 로그를 Azure Databricks 감사 로그와 상호 연결하여 환경 전반의 데이터 이동에 대한 완전한 가시성을 제공합니다.
Azure 아키텍처
Azure 아키텍처는 VNet 삽입, Private Link 및 Azure Firewall 사용하여 Azure Databricks 워크로드를 중심으로 보안 네트워크 경계를 만듭니다.
사전 요구 사항
| Component | 세부 정보 |
|---|---|
| 가상 네트워크 | Azure 가상 네트워크에 Azure Databricks 배포(VNet 삽입)를 사용한 Azure Databricks 데이터 평면 배포용 고객 관리형 VNet. |
| Subnets | 호스트(퍼블릭), 컨테이너(프라이빗) 및 프라이빗 엔드포인트 서브넷의 세 가지 서브넷. |
| 방화벽 또는 NVA | 아웃바운드 검사 및 정책 시행을 위한 네트워크 가상 어플라이언스(Azure Firewall 또는 타사) |
| 프라이빗 DNS 영역 | 가상 네트워크 내의 프라이빗 엔드포인트에 대한 DNS 확인입니다. |
| Azure Key Vault (애저 키 볼트) | DBFS, 관리 디스크 및 관리되는 서비스 암호화를 위한 고객 관리형 키를 저장합니다. |
| 방화벽 허용 목록 | 필요한 Azure Databricks 엔드포인트입니다. 도메인 이름 방화벽 규칙 구성을 참조하세요. |
아키텍처 구성 요소
아키텍처에는 네트워크 격리, 프라이빗 연결, 송신 제어 및 서버리스 보안의 네 가지 주요 영역이 있습니다.
네트워크 격리
Azure 가상 네트워크에 Azure Databricks 배포(VNet 삽입)를 사용하여 가상 네트워크에서 보안 클러스터 연결(SCC) 사용이 설정된 Azure Databricks를 배포합니다. 중앙 방화벽이 있는 허브 및 스포크 토폴로지 또는 허브 없이 격리된(섬) 네트워크 토폴로지로 배포할 수 있습니다. 이 구성은 다음과 같습니다.
- 클러스터 노드에서 공용 IP 주소를 제거합니다.
- 작업 영역당 전용 서브넷 쌍이 필요합니다(하나의 프라이빗, 하나의 공용).
- 프라이빗 엔드포인트를 통해 제어 평면 트래픽을 라우팅합니다.
팁 (조언)
DBFS 루트 스토리지에 애플리케이션 데이터를 저장하지 마세요. 기존 Azure Databricks 작업 영역에서 DBFS 루트 및 탑재 지점에 대한 액세스를 비활성화하고 대신 Unity 카탈로그 볼륨이란?을 사용하세요.
프라이빗 연결
전용 서브넷에서 고객 관리형 Azure 스토리지 계정에 대한 Private Link 엔드포인트를 설정합니다.
- 모든 데이터 액세스는 Azure 네트워크 백본을 통해 발생합니다.
- 프라이빗 엔드포인트는 Azure Databricks VNet 또는 피어된 VNet에 배포할 수 있습니다.
- 고객 관리형 스토리지 계정의 대안으로 Azure 클래식 컴퓨팅 스토리지 액세스에 대한 가상 네트워크 서비스 엔드포인트 정책 구성(추가 비용 없음)을 사용합니다.
메모
프라이빗 엔드포인트 및 서비스 엔드포인트 정책은 고객 관리형 Azure 스토리지 계정에만 적용됩니다. Azure Databricks 관리되는 리소스(아티팩트 스토리지, 로그 스토리지 및 Event Hubs)는 프라이빗 엔드포인트 뒤에 배치할 수 없습니다.
사용자 액세스 및 브라우저 인증(SSO)을 위해 Inbound Private Link 구성을 설정합니다.
송신 제어
허브 가상 네트워크에 Azure Firewall(또는 타사 네트워크 가상 어플라이언스)를 배포합니다.
- 적용 규칙: 방화벽을 통해 액세스할 수 있는 FQDN 정의(클래식 컴퓨팅 평면 Private Link 구성되지 않은 경우 제어 평면, 웹앱 및 SCC 릴레이).
- 네트워크 규칙: FQDN을 사용할 수 없는 엔드포인트에 대한 IP 주소, 포트 및 프로토콜을 정의합니다.
-
UDR(사용자 정의 경로) : 기본 경로(
0.0.0.0/0)를 사용하여 Azure Databricks 서브넷에서 방화벽을 통해 로컬이 아닌 트래픽을 라우팅합니다.
메모
서비스 엔드포인트 정책을 사용하는 경우 Azure Databricks 서비스 스토리지 계정(아티팩트, 로깅, 시스템 테이블)에 대한 방화벽 네트워크 규칙이 필요하지 않습니다.
서비스 엔드포인트는 Azure Databricks 시스템 스토리지에 대한 방화벽을 우회하여 데이터 전송 비용을 줄이고 제한을 방지합니다. 아티팩트 스토리지만 클러스터 노드당 다운로드된 최대 11GB를 차지할 수 있습니다.
서버리스 보안
송신 트래픽을 제어하도록 서버리스 송신 제어란?을 구성합니다. Serverless 컴퓨팅 평면 네트워킹을 사용하여 서버리스 컴퓨팅과 ADLS Gen2(Azure 스토리지 계정) 간에 프라이빗 연결을 설정합니다.
최적화 전략:
- 보안 요구 사항이 허용하는 Private Link 대신 서비스 엔드포인트를 사용합니다.
- Azure Databricks 시스템 스토리지에 대한 방화벽을 무시하도록 서비스 엔드포인트 정책을 구성합니다(데이터 전송 비용을 줄이고 제한을 방지).
- 실제 요구 사항에 따라 적절한 크기의 Azure Firewall 또는 NVA 처리량입니다.
- 방화벽 어플라이언스를 통해 데이터 전송 비용을 모니터링합니다.
자세한 지침 은 Databricks 네트워킹 비용 이해 를 참조하세요.
참고하십시오
| Resource | Description |
|---|---|
| 네트워크 참조 아키텍처 | 네트워크 보안 아키텍처(관리, 강화, 격리). |
| 보안 및 규정 준수 | 네트워킹 이외의 보안 및 규정 준수 제어 |