SQL_ID
최근 실행
SELECT ...
결과 설명
ADMIN.OBJECT
거리(SCORE)가 낮은 순서로 VPD를 통과한 검색 단위를 반환했습니다.
검색 정보
| 검색 단위 ID | 자료 ID | 제목 | 기술 태그 | 벡터 거리 (SCORE) | 본문 |
|---|---|---|---|---|---|
| 28001 | knowledge-001 | 제목 | ORDS |
0.01 | 본문 |
| column |
|---|
| value |
DB가 보관한 최신 cursor 10건에서 같은 보호 대상을 찾아 SQL_ID로 확인한 결과입니다.
V$SQL의 원문입니다. Oracle VPD가 WHERE 조건을 내부적으로 주입하기 전 SQL 형태로 저장됩니다.
SELECT ...
이 cursor의 실행계획에 기록된 Access/Filter predicate입니다. VPD 적용 근거는 여기서 확인합니다.
Predicate Information
백오피스 DB 연결이 읽은 최신 cursor입니다. 보호 대상과 일치한 SQL은 초록 배지로 표시합니다.
최근 실행
SELECT ...
현재 사용자 컨텍스트에서 계산한 VPD 조건을 ORDS 조회문에 결합한 읽기용 SQL입니다.
이 컨텍스트로 권한 규칙을 계산한 뒤 아래 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은 현재 요청의 권한 조건을 읽기 쉽게 재현한 표현입니다. 실제 DB cursor 원문과 적용 predicate는 SQL_ID·DBMS_XPLAN 증적에서 확인합니다. 컬럼 마스킹은 별도 Redaction 정책입니다.
CB_AGENT_DOC_VPD_FILTER 실행 권한을 확인하세요.
{}{}{}