RAG가 검색해도 보여주면 안 되는 문서가 있다
RAG가 문서를 잘 찾는 것과 사용자가 그 문서를 볼 수 있는 것은 다른 문제입니다. 검색 인덱스에 인사자료나 고객별 계약서가 섞여 있다면, 좋은 검색 결과가 곧 정보 유출이 될 수 있습니다.
검색 전 권한을 필터링한다
문서를 청크로 나눌 때 원본 문서의 소유 조직, 테넌트, 접근 등급을 함께 보관합니다. 검색 쿼리에 현재 사용자의 권한 조건을 적용해 허용된 청크만 후보에 넣어야 합니다. 답변 생성 뒤에 금칙어를 지우는 방식만으로는 충분하지 않습니다.
청크가 원본의 권한을 잃지 않게 한다
원본 문서를 여러 조각으로 만들면서 ACL 메타데이터가 빠지면 일부 문단이 공개될 수 있습니다. 인덱싱 과정에서 문서 ID와 권한 버전을 이어 붙이고, 권한 변경이나 문서 삭제 때 모든 청크를 갱신해야 합니다.
공유 권한 변경의 지연을 관리한다
사용자가 프로젝트에서 빠졌는데 검색 인덱스는 옛 권한을 유지할 수 있습니다. 원본 시스템과 인덱스의 동기화 지연을 측정하고, 민감 문서는 짧은 갱신 주기나 조회 시 재검증을 선택해야 합니다.
인용 링크도 같은 권한으로 보호한다
답변에 출처 URL을 표시하면서 링크가 접근 제어를 우회하면 본문을 가려도 소용없습니다. 검색 결과, 생성된 요약, 원문 링크, 첨부 파일을 같은 사용자 권한으로 검사해야 합니다.
권한 경계 테스트를 자동화한다
같은 질문을 일반 직원, 관리자, 다른 고객 테넌트로 실행해 검색 결과와 답변을 비교합니다. 허용 자료가 없을 때는 그 사실을 알려야지 비슷한 다른 고객 자료로 답을 채우면 안 됩니다.
현장에 적용할 때의 순서
- 원본 문서의 접근권한을 청크 메타데이터로 전파
- 사용자 권한으로 검색 후보를 사전 필터링
- 답변과 원문 링크까지 동일 권한 재검증
주의할 실패: 검색 결과를 만든 뒤 문장만 삭제해도 안전하다고 생각
관찰할 지표: 권한 위반 0건·인덱스 권한 동기화 지연
적용 전 체크리스트
- 청크마다 원본 문서 ID·테넌트·ACL 버전을 남긴다
- 권한 변경 뒤 인덱스 반영 시간을 측정한다
- 교차 테넌트 질문으로 검색·답변·링크를 시험한다
참고 자료
Microsoft Learn — Document-Level Access Control in Azure AI Search. 검색 문서 단위 접근 통제의 구조는 Microsoft 공식 자료를 참고했습니다. 청크별 권한 전파와 테스트 절차는 일반적인 적용 제안입니다.
이미지와 도식은 이해를 돕기 위한 개념 시각화입니다. 특정 고객의 실제 설비·데이터·화면을 재현한 것이 아닙니다.
#RAG #문서권한 #ACL #접근제어 #검색보안 #AI보안 #테넌트격리 #지식베이스 #문서인덱싱 #정보유출방지
이 주제를 실제 시스템으로 옮기려면 AI 알고리즘 개발 살펴보기