프로 최소
모든 production 데이터 엔지니어가 결국 PII (개인 식별 정보) 다룸. 최소 기준: 본인 테이블에서 뭐가 PII 인지 알기, 누가 읽을 수 있는지 통제, 누가 읽나 로깅, 삭제 요청 들어오면 처리. 정확한 규제는 지역마다 다름 (EU 의 GDPR, California 의 CCPA, 한국 개인정보보호법) 지만 근저의 엔지니어링 모양은 비슷.
4가지 엔지니어링 통제
- Tagging. 모든 column 이 메타데이터 카탈로그 또는 dbt
schema.yml에 PII / sensitive / public 으로 태그. - Masking. 비-특권 사용자가 hashed 또는 redacted 값 봄; 특권 사용자는 진짜 값 보고 access 가 로깅.
- Row-level security. 같은 테이블이 다른 role 에 다르게 filter (각 region 분석가가 자기 region 만).
- Right-to-be-forgotten 전파. 사용자가 삭제 요청하면 삭제가 모든 derived 테이블 통해 흘러야 함. 어디 그들 데이터 있는지 모르면 삭제됐다고 솔직히 말 못 함.
모든 분석가가 못 해야 하는 것
PII 포함 테이블을 개인 노트북에 bulk-export. Production warehouse (Snowflake, BigQuery, row-level security 있는 Postgres) 가 다 이걸 막는 정책 지원. 새 분석가 계정 default 는: aggregated mart 에 read-only, PII 없음, 명시적 승인 워크플로우 없는 export-to-CSV 없음. 나중에 권한 죄는 게 default 로 죄는 것보다 천 배 어려워.