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

정책 (Policies) 개요

**정책(Policies)**은 컬렉션과 데이터셋에 대한 **세분화된 접근 제어(FGAC, Fine-Grained Access Control)**를 설정하는 기능입니다. 기본 공유·권한 기능이 컬렉션 단위의 역할 부여(Owner/Writer/Reader)에 해당한다면, 정책은 그 위에 컬럼 마스킹행 필터를 더해, 같은 자산을 보더라도 사용자·그룹별로 보여지는 데이터의 범위와 형태를 다르게 제어합니다.

어디에서 설정하나요?

정책은 데이터셋 상세 페이지의 정책 탭에서 관리합니다. 탭 안에는 해당 데이터셋에 부여된 정책 목록과 추가/편집/삭제 액션이 표시됩니다.

정책 관리 권한은 자산에 대한 delete 권한을 가진 사용자(일반적으로 Owner)에게만 부여됩니다. 권한이 없으면 "Read-only" 배너만 표시되고 편집 버튼은 감춰집니다.

백엔드 시야 정책 (ADR-0037)

정책의 적용 결과는 목록 API 단계에서 권한 필터링된 상태로 노출됩니다 — 권한 없는 자원은 목록에 아예 등장하지 않습니다. 이 동작은 컬렉션·데이터셋·코드·파이프라인·지식·대시보드·에이전트 등 모든 자원 목록에 적용됩니다. 예외적으로, 관리자에게는 "기타 컬렉션" 스코프로 권한 외 컬렉션도 보여 거버넌스를 지원합니다(공유 및 권한 참고).

이 변화는 사용자가 "왜 권한 있는 항목만 보이지?" 라고 묻는 마찰을 줄이고, 정책 위반 가능성을 사전에 차단합니다.

정책의 구성 요소

정책 하나는 **주체(Subject) × 대상(Resource) × 규칙(Rule)**의 3요소로 구성됩니다.

요소설명
주체 (subject)정책을 적용받는 사용자 또는 그룹 (user 또는 group)
대상 (resource)정책이 속한 자산 (데이터셋 ID 등)
컬럼 마스크 (column_masks)특정 컬럼을 숨기거나 변환해서 표시
행 필터 (row_filters)WHERE 조건으로 특정 행만 노출

같은 자산에 대해 사용자별로 서로 다른 정책을 여러 개 등록할 수 있으며, 목록 화면에서는 각 정책별로 컬럼 마스크 수와 행 필터 조건 수가 함께 표시됩니다.

컬럼 마스킹 (Column Masks)

지정한 컬럼의 값을 보여 주지 않거나 변형하여 노출합니다. 주로 개인정보나 민감 정보를 가려야 하는 시나리오에 사용합니다.

  • 모든 사용자에게 동일한 스키마를 유지하면서, 주체별로 다른 값이 보이도록 합니다.
  • 예: 재무 팀에게는 금액 원문을, 영업 팀에게는 마스킹된 값만 제공.

행 필터 (Row Filters)

WHERE 절과 유사한 조건 트리로, 특정 행만 보여지도록 제한합니다.

  • 조건은 AND/OR/NOT으로 중첩할 수 있으며, 정책 목록에서는 총 조건 수가 집계되어 표시됩니다.
  • 스키마 인식 Select 드롭다운을 통해 컬럼을 직접 선택하므로, 수동 입력 오류를 줄여 줍니다.

목록 화면

정책 목록 테이블에는 다음 컬럼이 표시됩니다.

컬럼설명
주체사용자/그룹 식별자와 이름·이메일
컬럼 마스크 수이 정책이 가리는 컬럼의 개수
행 필터 조건 수정책에 포함된 조건의 총 개수
Updated정책이 마지막으로 수정된 상대 시간
액션편집 / 삭제 (권한이 있는 경우)

상단 액션 바에서 + 정책 추가 버튼으로 새 정책을 만들 수 있고, 정책이 하나도 없으면 안내 텍스트와 함께 빈 상태 CTA가 표시됩니다.

관련 문서