본문으로 건너뛰기
관리자 코스

FGAC 첫 한 줄 — 컬럼 마스킹 + 행 필터

같은 데이터셋 안에서 컬럼 마스킹 (예: salary 를 HR 만) 과 행 필터 (예: 자기 지역만) 의 첫 FGAC 정책 한 개를 작성하고 적용합니다.

9분

Role + 컬렉션 ceiling 으로 접근 자체 를 통제했습니다 (레슨 1). 본 레슨은 같은 데이터셋 안에서 보이는 범위 를 사용자별로 다르게 좁히는 FGAC (Fine-Grained Access Control) 의 첫 한 줄을 잡습니다.

FGAC 가 푸는 두 문제

  • 컬럼 마스킹 — 한 데이터셋에 민감한 컬럼 이 섞여 있을 때. 예: 인사 데이터셋의 salary, 고객 데이터셋의 phone_number. HR 그룹은 보이고 분석가 그룹은 가려진 형태로.
  • 행 필터 — 한 데이터셋의 행이 사용자 권한 범위에 따라 다르게 잘리는 경우. 예: 영업 사원이 자기 지역 row 만, 매장 관리자가 자기 매장 row 만.

두 패턴 모두 데이터셋 자체는 한 개로 유지하면서 사용자별 보이는 슬라이스 만 다르게 만듭니다. 데이터셋을 사용자 그룹별로 복제 하면 원본 갱신 시 동기화 문제 가 생기는데, FGAC 는 그 문제를 정책 한 줄로 해결합니다.

시나리오 — customer_analytics 데이터셋

본 레슨의 실습 시나리오는 ecommerce 워크숍customer_analytics 데이터셋입니다. 컬럼은 customer_id, name, email, tier, region, total_spend, segment 등.

두 가지 정책을 한 번에 잡습니다.

  1. 컬럼 마스킹: email 컬럼을 마케팅 그룹만 볼 수 있게. 분석가 그룹에는 마스킹된 @.com 형식으로 표시.
  2. 행 필터: 영업 사원 그룹의 멤버는 자기 region 만 볼 수 있게.

정책 작성 — 포털 설정에서

포털 설정 → 정책 으로 들어가 + 정책 추가 를 누릅니다. 정책 한 개는 대상 데이터셋 + 적용 조건 두 영역으로 작성됩니다.

컬럼 마스킹 정책

  • 이름customer_analytics_email_mask (snake_case)
  • 별칭고객 이메일 마스킹
  • 적용 대상 — 데이터셋 customer_analyticsemail 컬럼
  • 적용 조건 — 사용자의 그룹이 마케팅 그룹에 포함되지 않음
  • 마스킹 패턴***@***.com (정규식 또는 사전 정의 패턴 선택)

저장하면 그 정책은 즉시 활성화 — 분석가 그룹 멤버가 customer_analytics 미리 보기에 들어가면 email 컬럼이 마스킹된 형태로 잡힙니다.

행 필터 정책

  • 이름customer_analytics_region_filter
  • 별칭지역 단위 행 필터
  • 적용 대상 — 데이터셋 customer_analytics
  • 적용 조건 — 사용자의 그룹이 영업 사원 그룹에 포함됨
  • 행 필터 식region = ${user.region} — 사용자 속성 (IdP claim 또는 포털 그룹 속성) 의 region 과 일치하는 row 만

저장하면 영업 사원 그룹 멤버는 자기 region 의 row 만 보이게 됩니다.

자가 점검

  • 분석가 그룹 멤버 한 명으로 로그인 (또는 권한 시뮬레이션 기능) → customer_analyticsemail 컬럼이 마스킹됐는가
  • 영업 사원 그룹 멤버로 동일 시도 → row 가 자기 region 만 보이는가
  • 마케팅 그룹 멤버 → email 컬럼이 원본 그대로 보이는가

세 가지가 다 맞으면 본 레슨 끝입니다.

이 레슨에서 익혀야 할 것

  • FGAC 의 두 패턴 — 컬럼 마스킹 vs 행 필터
  • 정책 작성의 대상 + 조건 두 영역
  • 여러 정책이 누적 적용 된다는 운영 규칙

다음 레슨

정책을 운영에 올린 뒤의 흐름 — 변경 → 영향 검증 → 단계적 롤아웃 패턴을 잡습니다.