결과 설명
ADMIN.OBJECT
거리(SCORE)가 낮은 순서로 VPD를 통과한 검색 단위를 반환했습니다.
검색 정보
| 검색 단위 ID | 자료 ID | 제목 | 기술 태그 | 벡터 거리 (SCORE) | 본문 |
|---|---|---|---|---|---|
| 28001 | knowledge-001 | 제목 | ORDS |
0.01 | 본문 |
| column |
|---|
| value |
최근 2분 내 같은 보호 대상에 실행된 ORDS SQL을 SQL_ID로 확인한 결과입니다.
V$SQL의 원문입니다. Oracle VPD가 WHERE 조건을 내부적으로 주입하기 전 SQL 형태로 저장됩니다.
SELECT ...
이 cursor의 실행계획에 기록된 Access/Filter predicate입니다. VPD 적용 근거는 여기서 확인합니다.
Predicate Information
ORDS Handler가 반환한 VPD predicate 또는 같은 토큰 컨텍스트를 재현해 조회한 predicate를 기본 조회문에 합친 형태입니다.
이 컨텍스트로 권한 규칙을 계산한 뒤 아래 VPD predicate와 effective SQL을 만들었습니다.
VECTOR_DISTANCE(d.embedding, TO_VECTOR(:embedding), COSINE) AS score ORDER BY score ASC ROWNUM <= :row_limit
이 부분이 검색어 벡터와 저장 벡터의 거리 계산입니다. 아래에는 실제로 등록된 역할 기반 행 접근 조건만 표시됩니다.
1 = 1 (ALL: 추가 행 필터 없음)
(DEPT_CODE = SYS_CONTEXT('CB_AGENT_CTX', 'DEPT_CODE'))
선택한 사용자의 직접 역할·그룹 상속 역할에 연결된 permission rule에서 계산됩니다. 기본 whitelist 역할의 ALL은 추가 행 필터 없이 조회를 허용하고, 실제로 TAG·부서 조건을 등록한 역할만 그 조건이 SQL에 들어갑니다. 권한이 없으면 1 = 0입니다.
SELECT ... WHERE (...) AND ROWNUM <= ...
위 SQL은 권한 조건을 읽기 쉽게 재현한 표현입니다. 실제 실행 증적은 SQL_ID와 DBMS_XPLAN 영역에서 확인합니다. 컬럼 마스킹은 별도 Redaction 정책입니다.
CB_AGENT_DOC_VPD_FILTER 실행 권한을 확인하세요.
{}{}{}