BigQuery Dynamic Data Masking 적용 파이프라인 정리
BigQuery에서 개인 정보가 포함된 테이블을 운영하다 보면, 단순히 권한을 나누는 수준만으로는 부족한 경우가 많습니다. 특히 ODS나 분석용 테이블이 자동 생성되거나 재생성되는 환경에서는, 민감 컬럼에 대한 정책 적용이 한 번만 누락되어도 그대로 노출 위험으로 이어질 수 있습니다.
BigQuery에서 개인 정보가 포함된 테이블을 운영하다 보면, 단순히 권한을 나누는 수준만으로는 부족한 경우가 많습니다. 특히 ODS나 분석용 테이블이 자동 생성되거나 재생성되는 환경에서는, 민감 컬럼에 대한 정책 적용이 한 번만 누락되어도 그대로 노출 위험으로 이어질 수 있습니다.
Airflow를 운영하다 보면 언젠가 한 번은 같은 고민을 하게 됩니다. Connection 이나 Variable 을 UI에 직접 넣고 관리해도 되나, 아니면 외부 비밀 저장소로 빼야 하나 같은 고민입니다.
Airflow를 운영하다 보면 숫자가 직관을 배신하는 순간이 있습니다. 설정상 worker 수는 32 인데, 모니터링 화면을 보면 동작 중인 worker가 많아야 10개 정도로만 보이는 경우가 그렇습니다.
Airflow를 운영하다 보면 생각보다 자주 드는 아쉬움이 있습니다. “이 태스크는 사실 하는 일이 거의 없는데 왜 워커를 계속 잡아먹고 있지?” 같은 종류의 아쉬움입니다.
Airflow에서 BashOperator 로 Cloud Function을 호출할 때, 저는 당연히 함수 내부에서 Exception이 발생하면 태스크도 실패할 것이라고 생각했습니다. 그런데 예상과 다르게, 함수는 터졌는데 Airflow는 아주 평온하게 SUCCESS 를 찍어주는 상황...