Skip to main content

2. 접근 제어 설계

2.1 그룹 기반 권한 관리

핵심 원칙: 개별 사용자에게 직접 권한을 부여하지 않습니다. 반드시 그룹 을 통해 관리합니다.
💡 중요: USE CATALOGUSE SCHEMA는 해당 객체를 탐색 할 수 있는 권한일 뿐, 데이터를 읽을 수 있는 SELECT 권한을 포함하지 않습니다. 반드시 별도로 부여해야 합니다.

2.3 Row Filter / Column Mask 적용 전략

민감한 데이터를 행 수준, 열 수준에서 제어합니다.

2.4 Service Principal 관리 체계

⚠️ 핵심 원칙: 프로덕션 워크로드는 반드시 Service Principal 으로 실행합니다. 개인 계정으로 실행하면 퇴사/이동 시 파이프라인이 중단될 수 있습니다.

3. Row Filter / Column Mask 실전 패턴

3.1 다중 조건 Row Filter

실무에서는 단순 그룹 멤버십 외에 복잡한 조건이 필요한 경우가 많습니다.

3.2 동적 Column Mask

참고 해시 기반 마스킹의 장점: SHA2 해시를 사용하면 원본 데이터를 볼 수 없으면서도, 동일한 고객의 거래를 GROUP BY나 JOIN으로 분석할 수 있습니다. 분석 가능성과 프라이버시를 동시에 확보하는 패턴입니다.

4. ABAC 태그 기반 정책

4.1 태그 체계 설계

Unity Catalog의 태그(Tags)를 활용하여 속성 기반 접근 제어(ABAC)를 구현합니다.

4.2 태그 기반 자동 마스킹 정책

주의 Security Policy는 Preview 기능입니다: 태그 기반 자동 마스킹 Security Policy는 현재 Public Preview입니다. 프로덕션에 적용하기 전에 테스트 환경에서 충분히 검증하세요. 현재는 개별 테이블에 Row Filter/Column Mask를 수동 설정하는 것이 안정적입니다.

5. 크로스 Workspace 권한 동기화

5.1 Account 수준 그룹 관리


6. 외부 사용자 접근 제어 (Delta Sharing)

6.1 Delta Sharing 권한 모델

참고 Delta Sharing 거버넌스: Delta Sharing으로 공유된 데이터는 수신자가 복사할 수 있습니다. 민감한 데이터는 Column Mask가 적용된 View를 공유하거나, 집계된 Gold 테이블만 공유하세요.

7. Audit Log 활용한 권한 감사

7.1 시스템 테이블을 활용한 감사

7.2 정기 감사 체크리스트

주의 감사 로그 보존: 시스템 테이블의 감사 로그는 기본 365일 보존됩니다. 규제 요건에 따라 장기 보존이 필요하면, 감사 로그를 별도 스토리지(S3/ADLS)로 Export하는 파이프라인을 구축하세요.

참고 링크