Files
vpd-permission-poc/docs/design/621-vpd-aso-persona-page-review/pages/05-permissions.md

1.6 KiB

접근 규칙 페이지 리뷰

  • URL: /permissions
  • 현재 목적: 역할별 보호 객체 접근 규칙을 등록하고 관리한다.
  • VPD/ASO 관련성: 이 화면의 설정은 VPD 필터가 읽어 대상 테이블의 WHERE predicate로 변환한다.

페르소나 의견

  • 일반 사용자: CUST_ID = token stakeholder 같은 축약 표현은 실제 적용 방식을 이해하기 어렵다.
  • 운영 관리자: 저장한 조건이 “최종 SQL”인지 “필터가 읽는 설정값”인지 명확해야 한다.
  • 적용 담당자: 업무 조건을 고르는 방식이어야 한다. 예: 본인 계약, 내 채널 계약, 전체 허용, 정적 SQL 조건.
  • DB 관리자: STATIC_SQL 같은 고급 조건은 검증·차단 규칙과 함께 보여야 한다.

가벼운 개선

  1. 기본 입력은 업무 조건 선택형으로 둔다.
    • 전체 행 허용
    • 본인 계약
    • 내 채널 계약
    • 담당 고객
    • 내 채널 고객
  2. 각 조건 옆에 “필터 변환 예시”를 접힌 형태로 보여준다.
    • 예: 본인 계약 → FC_ID = SYS_CONTEXT('CB_AGENT_CTX', 'STAKEHOLDER_USER_ID')
  3. 목록에는 저장된 rule_type보다 업무 문장을 먼저 보여준다.
  4. STATIC_SQL은 Advanced 영역으로 이동하고, “검증된 컬럼 조건만 허용”을 명시한다.

Advanced로 둘 내용

  • rule_type, rule_column, rule_value 원본
  • 생성되는 VPD predicate 예시
  • safe_static_predicate 방어 규칙
  • ALLOW/DENY 결합 방식

우선순위

P0. 사용자가 가장 많이 오해하는 화면이다. “설정값을 필터가 WHERE로 바꾼다”는 표현을 반드시 강화해야 한다.