DDS · KNOWLEDGE ACCESS

지식자료를 등록하고 DDS 권한으로 검색합니다.

문서 → 청크·임베딩 → 기술 태그 → 권한 규칙 → DDS DATA GRANT → 검색 결과

이 화면의 큰 흐름 보기

문서는 검색 가능한 청크로 나뉘고 각 청크에 기술 태그가 붙습니다. 권한 관리에서 역할별로 허용할 태그를 등록하면 DDS의 DATA GRANT가 해당 태그가 붙은 청크만 검색 대상으로 남깁니다.

VPD 화면과 같은 사용자·그룹·역할·권한 규칙을 사용합니다. 아래에는 DDS END USER를 직접 선택하는 비교 경로와, 하나의 DDS 기술 사용자에 Bearer 토큰을 전달해 공통 권한을 평가하는 제품형 경로를 함께 둡니다.

벡터 저장소를 확인할 수 없습니다.
1 · CONTENT

지식자료 등록

문서 ID가 같으면 기존 청크를 교체합니다. 저장소는 VPD 트랙과 동일한 지식자료 형식을 사용합니다.

0개 검색 단위
청킹·임베딩 설정 보기
  • 문단을 우선 묶고 길이가 길면 문장·공백 기준으로 청크를 나눕니다.
  • 기본 로컬 임베딩은 외부 API 없이 흐름을 검증하는 개발용 4차원 벡터입니다.
  • 운영에서는 등록과 검색에 같은 모델·차원을 사용해야 합니다.
document 저장 완료
2 · POLICY

권한 규칙은 한 곳에서 관리합니다.

사용자·그룹·역할·TAG 규칙은 VPD와 같은 권한 관리 화면에서 작성합니다.

관리 관점

역할에 ALLOW TAG를 여러 개 등록하면 태그 중 하나라도 맞는 청크를 허용합니다. DENY TAG는 허용 후보에서 제외합니다.

DDS 실행 관점

ADMIN.CB_DDS_VECTOR_SEARCH_DOCUMENTS에 연결된 DATA GRANT가 END USER의 DATA ROLE을 통해 이 규칙을 집행합니다.

VPD와 DDS의 차이 보기

VPD는 요청마다 권한 테이블을 읽어 predicate를 계산합니다. DDS의 직접 비교 경로는 보호 VIEW에 선언한 DATA GRANT와 END USER 매핑을 사용합니다. 토큰 경로에서는 토큰이 공통 사용자 Context를 만들고, 보호 VIEW의 객체별 DATA GRANT predicate가 같은 권한 테이블을 다시 평가합니다.

3 · TOKEN CONTEXT

Bearer 토큰으로 같은 DDS Data Grant 적용

고객별 DDS 계정을 만들지 않고 하나의 기술 사용자 세션에서 토큰으로 업무 사용자를 식별합니다.

객체별 DATA GRANT
토큰 경계 설명 보기
  1. 서버가 설정한 하나의 DDS 기술 사용자로 연결합니다.
  2. Bearer 토큰을 CB_AGENT_CTX_PKG.SET_USER_BY_BEARER에 전달합니다.
  3. CB_DDS_VECTOR_SEARCH_DOCUMENTS의 객체별 DATA GRANT predicate가 CB_APP_USER, 역할·그룹, CB_PERMISSION, CB_PERMISSION_RULE을 조회합니다.
  4. ALLOW TAG는 OR로 합치고 DENY TAG는 최종 결과에서 제외합니다.

토큰은 DATA GRANT 문법의 바인드 파라미터가 아닙니다. 토큰이 만든 신뢰된 Context를 Data Grant predicate가 참조하는 구조입니다. 토큰은 저장하거나 화면에 재표시하지 않습니다.

Bearer 토큰과 질문을 입력하면 공통 권한체계를 반영한 DDS Data Grant 결과를 표시합니다.
4 · DIRECT CHECK

DDS END USER 직접 조회 비교

저수준 DDS 검증을 위해 선택한 END USER로 직접 접속해 DATA ROLE/DATA GRANT 결과를 확인합니다.

DDS view
검색 처리 방식 보기
  1. 검색어를 등록 때와 같은 방식으로 임베딩합니다.
  2. DDS END USER로 보호 VIEW에 연결합니다.
  3. DATA ROLE/DATA GRANT가 허용하지 않은 태그 청크는 객체 권한 단계에서 제외합니다.
  4. 남은 청크를 벡터 관련도 순으로 반환합니다.
END USER와 질문을 선택하면 DDS가 허용한 검색 단위만 표시됩니다.
저장 현황 보기
문서0
검색 단위0
태그 연결0