본문으로 건너뛰기
버전: v0.3.0

세분화된 정책 편집 (FGAC)

세분화된 정책 편집 다이얼로그는 컬럼 마스킹행 필터를 구성해 대상(사용자·그룹)별로 다른 데이터 뷰를 만드는 화면입니다.

다이얼로그 구조

데이터 접근 정책 탭에서 정책 추가 또는 행의 편집을 누르면 정책 폼 모달이 열립니다. 모달은 세 영역으로 구성됩니다 — 대상 선택 → 컬럼 마스킹 → 행 필터. 하단에는 취소 / 저장 버튼이 있습니다.

FGAC 설정

대상 선택 (Subject)

  • 사용자 또는 그룹 검색 셀렉트에서 대상을 고릅니다. 한 정책에는 하나의 대상만 설정합니다.
  • 검색은 2자 이상 입력해야 시작되며, 본인 권한 범위 내의 사용자·그룹만 결과로 노출됩니다. 따라서 자산 소유자가 같은 컬렉션·그룹의 동료에게 정책을 부여하는 일반적인 작업을 별도 권한 위임 없이 처리할 수 있습니다.
  • 편집할 때는 대상이 고정됩니다. 다른 대상에 정책을 주려면 새 정책을 추가하세요(한 대상당 데이터셋별로 정책 하나).

컬럼 마스킹 (Column Masks)

컬럼 마스크 추가를 누르면 한 행이 생기고, 각 행에서 컬럼마스크 유형을 선택합니다. 컬럼은 데이터셋 스키마 기반 드롭다운에서 고르므로 오타나 없는 컬럼을 막아 줍니다. 여러 컬럼을 동시에 마스킹할 수 있고, 각 행은 개별 삭제할 수 있습니다.

마스크 유형동작추가 설정
제거 (컬럼 숨기기)컬럼 자체를 결과에서 제거없음
NULL (NULL로 대체)값을 모두 NULL로 표시없음
마스킹 (고정 텍스트)값을 고정 문자열로 치환대체 텍스트(기본 ****)
앞 N자리만 표시앞 N자리만 남기고 가림자릿수 N(기본 4)
뒤 N자리만 표시뒤 N자리만 남기고 가림자릿수 N(기본 4)
해시해시값으로 치환알고리즘(SHA-256 / MD5)

행 필터 (Row Filters)

조건 추가를 누르면 조건 그룹이 생깁니다. 각 조건은 컬럼 · 연산자 · 값 세 부분으로 이루어집니다.

  • 그룹 결합 방식: 그룹마다 AND(모든 조건이 일치해야 함) 또는 OR(하나만 일치하면 됨)를 선택합니다. 그룹 추가로 하위 그룹을 만들어 중첩할 수 있습니다(최대 3단계). 별도의 NOT 그룹은 없습니다.
  • 컬럼: 데이터셋 스키마 드롭다운에서 선택합니다.
  • 연산자: = · · > · · < · · IN · NOT IN · BETWEEN · LIKE · IS NULL · IS NOT NULL 중에서 선택합니다.
  • : 연산자에 따라 입력 방식이 달라집니다.
    • IN / NOT IN: 여러 값을 태그로 입력(쉼표로 구분)
    • BETWEEN: 시작값 ~ 끝값 두 칸
    • IS NULL / IS NOT NULL: 값 입력 없음
    • 그 외: 단일 값 입력
  • 행 필터를 추가하지 않으면 행 제한 없음(모든 행 노출)으로 처리됩니다.

저장과 검증

  • 저장: 대상이 선택되어 있어야 저장할 수 있습니다. 저장하면 정책이 생성·갱신되고 목록이 즉시 갱신됩니다(정책이 생성되었습니다 / 정책이 업데이트되었습니다).
  • 저장 실패: 서버 검증에 실패하면 정책 저장에 실패했습니다 알림과 함께 원인이 표시됩니다.

삭제

목록 행의 액션 메뉴에서 삭제를 누르면 확인 모달(이 접근 제어 정책을 삭제하시겠습니까?)이 표시됩니다. 정책을 삭제하면 해당 대상에는 다시 역할 기반 권한만 적용됩니다.

동작 원리 (요약)

정책은 데이터셋을 조회할 때 적용됩니다. 사용자가 데이터셋을 조회하면, 그 사용자와 사용자가 속한 그룹에 설정된 정책의 컬럼 마스킹과 행 필터가 함께 적용되어 결과가 제한됩니다.

제한 사항

  • 정책은 데이터셋 단위로 적용되며, 데이터 조회(SELECT) 결과에 작용합니다.
  • 정책 관리(추가·편집·삭제)는 데이터셋에 대한 삭제(delete) 권한이 있는 사용자만 가능합니다.