검증 결론

권한 결과

검증 완료

결과 설명

적용된 사용자와 권한

ACTIVE
사용자
user
직접 받은 역할
ROLE
없음
소속 그룹
GROUP
없음
그룹에서 상속된 역할
ROLE
없음
토큰에서 사용자를 찾지 못해 역할과 그룹을 계산하지 않았습니다.

VPD가 적용된 실제 결과

ADMIN.OBJECT
보이는 행0
NULL/마스킹으로 확인된 컬럼 column 없음

벡터 검색 Top-K

거리(SCORE)가 낮은 순서로 VPD를 통과한 검색 단위를 반환했습니다.

K=0

검색 정보

검색 단위 ID 자료 ID 제목 기술 태그 벡터 거리 (SCORE) 본문
28001 knowledge-001 제목 ORDS 0.01 본문
column
value

토큰 적용 후 SQL

ORDS Handler가 반환한 VPD predicate 또는 같은 토큰 컨텍스트를 재현해 조회한 predicate를 기본 조회문에 합친 형태입니다.

DBMS_RLS predicate

set_vpd_context 사용자 컨텍스트

이 컨텍스트로 권한 규칙을 계산한 뒤 아래 VPD predicate와 effective SQL을 만들었습니다.

CB_AGENT_CTX.USER_ID
103
사용자
agent_all
직접 역할
ALL_DOC_ROLE
소속 그룹
없음
상속 역할
없음

벡터 유사도 검색 기준

VECTOR_DISTANCE(d.embedding, TO_VECTOR(:embedding), COSINE) AS score
ORDER BY score ASC
ROWNUM <= :row_limit

이 부분이 검색어 벡터와 저장 벡터의 거리 계산입니다. 아래에는 실제로 등록된 역할 기반 행 접근 조건만 표시됩니다.

VPD가 추가한 WHERE 조건

1 = 1 (ALL: 추가 행 필터 없음)
(DEPT_CODE = SYS_CONTEXT('CB_AGENT_CTX', 'DEPT_CODE'))

선택한 사용자의 직접 역할·그룹 상속 역할에 연결된 permission rule에서 계산됩니다. 기본 whitelist 역할의 ALL은 추가 행 필터 없이 조회를 허용하고, 실제로 TAG·부서 조건을 등록한 역할만 그 조건이 SQL에 들어갑니다. 권한이 없으면 1 = 0입니다.

권한 적용 SQL

SELECT ... WHERE (...) AND ROWNUM <= ...

Oracle 내부 optimizer의 실행계획이나 bind 값 치환 결과가 아니라, 이 토큰 컨텍스트에서 VPD 정책 함수가 실제로 반환한 행 조건을 표시합니다. 컬럼 마스킹은 별도 Redaction 정책입니다.

이 Handler는 SQL trace 정보를 반환하지 않았고 백오피스 DB에서도 기본 VPD predicate를 조회하지 못했습니다. ORDS 핸들러에서 trace가 포함된 소스를 적용하고, CB_AGENT_DOC_VPD_FILTER 실행 권한을 확인하세요.

다음에 할 일

다음 행동

기술 상세: 오류 코드와 HTTP 요청·응답 보기
ERROR message

Request Headers

{}

Request Payload

{}

Response Headers

{}

Response Body