본문으로 건너뛰기

접근 정책

테이블과 컬럼 수준에서 세밀한 접근 제어를 설정하는 기능입니다. 행 필터(row_filter)와 컬럼 마스크(column_mask)를 조합하여 사용자 역할에 따라 데이터 접근 범위를 제한하며, RBAC/ABAC 기반의 정책 엔진으로 동작합니다.

데이터 격리 3계층 모델

접근 정책

주요 기능

  • 행 필터(Row Filter): 특정 조건에 맞는 행만 조회할 수 있도록 SQL WHERE 절 기반 필터를 설정합니다.
  • 컬럼 마스크(Column Mask): 민감한 컬럼 값을 마스킹 함수로 대체하여 표시합니다.
  • 역할 기반 접근 제어(RBAC): 사용자 역할에 따라 정책을 적용합니다.
  • 속성 기반 접근 제어(ABAC): 사용자 속성, 리소스 속성, 환경 조건을 조합하여 정책을 평가합니다.
  • 정책 시뮬레이션: 정책 적용 전 특정 사용자에게 어떤 결과가 보이는지 미리 확인할 수 있습니다.
  • 리소스 그룹: 여러 테이블을 그룹으로 묶어 정책을 일괄 적용할 수 있습니다.

사용 방법

정책 생성

  1. 관리자 > 접근 정책 메뉴로 이동합니다.
  2. 정책 추가 버튼을 클릭합니다.
  3. 정책 유형을 선택합니다:
    • Row Filter: 행 수준 필터링
    • Column Mask: 컬럼 수준 마스킹
  4. 대상 테이블(카탈로그/스키마/테이블)을 지정합니다.
  5. 적용 규칙을 설정합니다:
    • Row Filter: SQL WHERE 절 조건 (예: region = 'KOREA')
    • Column Mask: 마스킹 표현식 (예: '***', CONCAT(LEFT(email, 3), '***'))
  6. 적용 대상 역할 또는 사용자를 선택합니다.
  7. 저장을 클릭합니다.

정책 시뮬레이션

  1. 정책 목록에서 시뮬레이션 버튼을 클릭합니다.
  2. 시뮬레이션 대상 사용자를 선택합니다.
  3. 해당 사용자 관점에서 쿼리 결과가 어떻게 필터링/마스킹되는지 확인합니다.

정책 삭제

  1. 정책 목록에서 삭제하려는 정책의 삭제 아이콘을 클릭합니다.
  2. 확인 대화 상자에서 삭제를 선택합니다.

정책 유형 비교

유형적용 대상예시
Row Filterdepartment = 'SALES' -- 해당 부서 데이터만 조회
Column Mask컬럼'***' -- 컬럼 값을 마스킹 처리

관련 API

메서드경로설명
POST/api/v1/access/policies정책 생성
GET/api/v1/access/policies정책 목록 조회
DELETE/api/v1/access/policies/{policy_id}정책 삭제
POST/api/v1/access/policies/simulate정책 시뮬레이션
GET/api/v1/access/rules접근 규칙 조회
GET/api/v1/access/resource-groups리소스 그룹 조회
정보

접근 정책은 Trino의 System Access Control과 연동됩니다. 정책 변경 후 다음 쿼리 실행부터 적용됩니다. 자세한 RBAC/ABAC 설정은 RBAC/ABAC 가이드를 참조하세요.