← 학습 카테고리

Learn

Databricks

14개 모듈 · 현재 7번째

Databricks 모듈 7/14 databricks-learn-07

시크릿 관리와 PII 데이터 보호

60 Databricks Interview Questions Senior DEs Actually Ask (2026) — 미상 (DataVidhya 블로그, 2026) Core Architecture & Fundamentals, Q9 (pp.4-5) 및 Operations, Security & Scenarios, Q46, Q48 (pp.14-16)

이 모듈을 다 읽으면

  • Secret Scope를 사용해야 하는 이유와 코드에 자격 증명을 하드코딩하면 안 되는 이유를 설명할 수 있다
  • Unity Catalog의 GRANT 문과 동적 데이터 마스킹이 접근 제어에서 어떤 역할을 하는지 설명할 수 있다
  • PII 데이터를 다룰 때 접근 제어·컬럼 레벨 보안·암호화·물리적 격리를 함께 고려해야 하는 이유를 판단할 수 있다

Databricks는 API 키 같은 민감한 자격 증명을 노트북에 직접 적지 않도록 Secret Scope를 제공하며, `dbutils.secrets.get()`으로 런타임에만 값을 주입한다. 테이블 단위 접근 제어는 Unity Catalog의 표준 SQL DCL(GRANT/REVOKE)로 관리하고, 컬럼 단위 민감 정보는 동적 데이터 마스킹으로 보호한다. PII 데이터는 접근 제어, 컬럼 레벨 마스킹, 저장 시 암호화(CMK), 물리적 스토리지 격리를 함께 적용해 다룬다.

Secret Scope로 자격 증명 관리하기

보안 모범 사례는 자격 증명을 노트북에 절대 하드코딩하지 말라는 것이다. Databricks는 이를 위해 Secret Scope를 제공한다. Databricks 자체가 백엔드인 시크릿 스코프를 만들 수도 있고, Azure Key Vault가 백엔드인 스코프를 만들 수도 있다. 한 번 저장하면 `dbutils.secrets.get(scope="my_scope", key="my_key")` 형태로 코드에서 접근한다. 이렇게 하면 노트북이 공유되더라도 민감한 자격 증명 자체는 숨겨진 채로 남고, 실행 시점에만 값이 주입된다.

핵심 포인트

  • 자격 증명을 노트북 코드에 직접 적지 않고 Secret Scope에 저장한 뒤 참조하는 것이 원칙이다
  • 시크릿 스코프는 Databricks 자체를 백엔드로 하거나, Azure에서는 Azure Key Vault를 백엔드로 만들 수 있다
  • `dbutils.secrets.get(scope=..., key=...)`로 코드에서 값을 참조하면 노트북이 공유돼도 실제 값은 노출되지 않는다

테이블 접근 제어와 PII 데이터 처리

Unity Catalog가 활성화된 워크스페이스에서는 표준 SQL DCL(Data Control Language)로 특정 사용자나 그룹에 권한을 부여한다. 예: `GRANT SELECT, MODIFY ON TABLE catalog.schema.table_name TO 'data_scientists_group'`. Unity Catalog는 동적 데이터 마스킹도 지원해, 사용자의 그룹 소속에 따라 이메일 같은 특정 컬럼을 리댁션(redact)하는 함수를 정의할 수 있다.

PII(개인식별정보)를 다룰 때는 네 가지를 함께 고려한다. 접근 제어(Unity Catalog로 PII를 담은 Silver/Gold 테이블 접근을 제한), 컬럼 레벨 보안(민감 컬럼을 마스킹해 권한 없는 사용자에게는 `**REDACTED**`처럼 보이게 함), 암호화(고객 관리 키(CMK)로 저장 데이터를 암호화), 격리(PII 데이터를 더 엄격한 네트워크·IAM 정책을 가진 별도 스토리지 버킷/계정에 보관)다.

핵심 포인트

  • Unity Catalog에서는 표준 SQL의 GRANT/REVOKE로 테이블 단위 접근 권한을 관리한다
  • 동적 데이터 마스킹으로 컬럼 단위 민감 정보를 사용자 그룹에 따라 다르게 보여줄 수 있다
  • PII 처리는 접근 제어·컬럼 마스킹·저장 시 암호화·물리적 스토리지 격리를 함께 적용하는 다층 방어가 원칙이다