# 접근 규칙 페이지 리뷰

- 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로 바꾼다”는 표현을 반드시 강화해야 한다.
