행 접근 필터 구조
도움말
HMM 기본 동적 필터 HMM_LEAVE_VPD_FILTER의 연결 상태와 현재 DB에 배포된 함수를 읽기 전용으로 보여줍니다. 행 접근 변경은 행 접근 규칙에서 수행합니다.
행 필터(VPD) 적용 흐름
Oracle VPD 정책 함수는 Bearer Token을 직접 해석하지 않습니다. 앞 단계의 hmm_access_ctx_pkg.set_user_by_bearer가 만든 HMM_ACCESS_CTX를 읽어, 현재 SELECT에 붙일 WHERE predicate를 생성합니다.
rule_type별 WHERE 조각은 권한 내부에서 AND, ALLOW 권한끼리는 OR, DENY 권한은 최종적으로 AND NOT (...)으로 결합됩니다. 행 접근 필터는 EMPLOYEE_ID와 직원의 직접 보고 관계로 보이는 행을 정합니다.
실행 흐름
1. 신뢰 컨텍스트 설정
애플리케이션이 Bearer Token을 검증하고 HMM_ACCESS_CTX에 직원·팀 정보를 설정합니다.
2. 권한과 규칙 계산
직접 역할과 활성 그룹 역할의 SELECT 권한을 읽습니다. 한 권한의 규칙은 AND, 여러 ALLOW 권한은 OR로 결합합니다.
3. DB WHERE 절 적용
Oracle VPD 정책이 반환 predicate를 원래 SELECT에 자동 적용합니다. 권한이 없으면 1 = 0으로 행 접근을 막는 것이 기준입니다.
행 접근은 이 행 필터(VPD)가 담당합니다. 컬럼 마스킹과 원문 표시 허용 사용자는 컬럼 마스킹의 ASO/Data Redaction에서만 제어합니다.
현재 연결된 행 접근 정책(VPD)
기본 Filter를 실제로 호출하는 보호 객체 정책입니다.
| Object | Policy | Statement | 상태 | Filter |
|---|---|---|---|---|
OWNER.OBJECT_NAME |
ROW_ACCESS_POLICY |
SELECT | 적용됨 | ADMIN.CB_AGENT_DOC_VPD_FILTER |
| 기본 행 접근 Filter가 연결된 보호 객체를 찾지 못했습니다. | ||||
운영 점검 기준
배포된 함수 소스
현재 DB의 ALL_SOURCE에서 읽은 소스입니다. 형상 기준 SQL과 다르면 배포 이력을 확인하세요.
ADMIN.CB_AGENT_DOC_VPD_FILTER / FUNCTION
ALL_SOURCE에서 조회 가능한 소스가 없습니다. DB 연결 계정의 source 조회 권한을 확인하세요.