고객 질문: “SQL 작성 시 개인정보 컬럼을 사용했는지 익명 컬럼을 사용했는지 자동으로 알 수 있는 기능이 있나요?”
짧은 답변
단일 함수로 자동 판별하는 기능은 없습니다. 하지만 Unity Catalog의 태그 + Information Schema + 컬럼 리니지를 조합하면 구현할 수 있습니다.Step 1: 컬럼에 PII 태그 부착
먼저 어떤 컬럼이 개인정보인지 태그로 분류합니다.대량 태깅 자동화
테이블이 많을 경우 Python으로 자동화합니다.Step 2: 특정 테이블의 PII 컬럼 조회
| column_name | is_pii |
|---|---|
| 가입년월 | false |
| 이름 | true |
| 전화번호 | true |
| 주민번호 | true |
| 지역코드 | false |
Step 3: SQL에서 사용된 PII 컬럼 자동 추적
고객이 요청한 시나리오를 구현합니다.방법 A: 컬럼 리니지 + 태그 조인
쿼리 실행 후system.access.column_lineage에서 사용된 소스 컬럼을 추출하고, 태그와 조인합니다.
| source_table_full_name | source_column_name | pii_status |
|---|---|---|
| catalog.schema.customers | 이름 | true |
| catalog.schema.customers | 지역코드 | false |
방법 B: 사전 검증 함수 만들기
SQL 실행 전에 PII 사용 여부를 확인하는 UC 함수를 만들 수 있습니다.| column_name | is_pii | pii_type |
|---|---|---|
| 이름 | true | name |
| 지역코드 | false | - |
| 전화번호 | true | phone |
추가 보호: Column Masking 자동 적용
PII 태그가 붙은 컬럼에 자동 마스킹을 적용하면, 권한 없는 사용자가 쿼리해도 원본 값이 노출되지 않습니다.관련 문서
- 태그와 ABAC — 태그 부착 및 ABAC 정책
- Column Masking — 동적 마스킹 패턴
- 데이터 리니지 — 컬럼 레벨 추적
- 데이터 분류 — 거버넌스 전략