사내 RAG가 비밀 문서를 검색한 뒤 마지막 답변에서 문장만 지우면 안전할까요? 아닙니다. 검색 결과가 모델 입력에 들어간 순간 이미 노출 경로가 생깁니다. 문서 권한은 답변 후처리가 아니라 검색 단계에서부터 적용해야 합니다.
문서에 접근 규칙을 함께 인덱싱한다
문서 ID, 소유 부서, 공개 범위, 허용 사용자나 그룹을 검색 인덱스의 메타데이터로 관리합니다. 청크로 나눈 문서는 각 청크가 원문의 권한을 상속해야 합니다. 제목은 공개이고 본문은 비공개인 자료라면 구간별 정책을 더 세밀하게 설계해야 합니다.
질의할 때 요청자의 신원을 전달한다
검색 서비스 계정이 모든 문서를 읽을 수 있어도 최종 사용자에게 모든 문서를 보여 줘서는 안 됩니다. 요청자의 신원과 그룹을 확인하고 검색 필터 또는 문서 수준 ACL을 적용합니다. 필터 조건을 사용자가 마음대로 바꾸지 못하도록 서버가 구성합니다.
권한 변경을 인덱스에 반영한다
인사 이동이나 계약 종료 뒤 원본 문서의 권한이 바뀌면 검색 인덱스도 갱신돼야 합니다. 동기화가 늦는 동안 민감 자료가 계속 보일 수 있으므로 갱신 지연을 측정합니다. 고위험 자료는 검색 직전 원본 권한을 다시 확인하는 방식도 고려합니다.
인용 미리보기도 같은 규칙을 따른다
답변 문장만 가려도 출처 제목, 스니펫, 미리보기 이미지가 정보를 드러낼 수 있습니다. 검색 결과, 프롬프트, 로그, 인용 화면에 같은 접근 규칙을 적용합니다. 권한 없는 문서는 존재 여부조차 드러내지 않는 편이 적절할 수 있습니다.
거부 테스트를 운영 품질에 넣는다
권한 있는 사용자 테스트만으로는 부족합니다. 권한 없는 계정과 그룹 변경 직후 계정으로 검색해 자료가 빠지는지 확인합니다. 정확한 답변을 만드는 능력과 볼 수 없는 문서를 보지 않는 능력을 별도 지표로 다룹니다.
현장에 적용할 때의 순서
- 원본 문서의 ACL을 청크 메타데이터에 반영한다
- 질의 시 요청자 신원으로 검색 결과를 제한한다
- 권한 변경과 인용 미리보기를 거부 테스트한다
주의할 실패: 답변 후처리로만 가리면 비밀 문서가 이미 모델 입력과 로그에 들어갈 수 있다.
관찰할 지표: 권한 변경 반영 지연, 비인가 검색 결과 수, 거부 테스트 실패율을 본다.
적용 전 체크리스트
- 검색 전 문서·청크 단위 권한을 검사하는가
- 인용·미리보기·로그에도 같은 규칙이 적용되는가
- 권한 변경 후 인덱스 지연을 측정하는가
참고 자료
Azure AI Search document-level access control. 공식 문서는 인덱싱과 질의 단계의 문서 수준 접근통제를 설명합니다. 일부 네이티브 ACL 기능은 미리보기 상태이므로 도입 전 지원 범위를 확인해야 합니다.
이미지와 도식은 이해를 돕기 위한 개념 시각화입니다. 특정 고객의 실제 설비·데이터·화면을 재현한 것이 아닙니다.
#RAG #문서권한 #ACL #기업검색 #보안필터 #검색증강생성 #인용보안 #권한동기화 #데이터유출방지 #기업AI