ONE QUESTION AT A TIME.

천천히 생각하고, 분명하게.

TODAY’S QUESTION60 / 1500
AI 에이전트난이도 중하5분 답변 목표 · 보강본

사내 문서를 검색하는 에이전트가 다른 팀의 비공개 내용을 답에 섞었습니다. RAG와 메모리 검색의 권한은 어디에서 검사하나요?

잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?

답변과 점검 포인트 펼치기답변 접기
01

구두 답변

정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.

문서 권한은 모델이 결과를 보고 지킬 규칙이 아니라 검색·조회 계층에서 강제할 조건입니다. 인증된 사용자와 조직 범위를 신뢰할 수 있는 실행 문맥에서 얻고, 허용 문서만 검색 후보가 되게 하며 원문 조회 때도 현재 권한을 검사하겠습니다. 프롬프트에 다른 팀 자료를 말하지 말라고 적어도 이미 모델 입력에 들어갔다면 정보 노출 경계는 넘어간 것입니다.

검색 전 필터와 원문 재검사

벡터 인덱스의 각 문서와 청크에 테넌트·문서 ID·권한 정책 참조를 연결하고, 검색 요청의 사용자 범위는 모델이 임의로 지정하지 못하게 합니다. 필터를 지원하는 검색 엔진이면 인가 조건 안에서 유사도 검색을 수행합니다. 검색 후 검사도 필요하지만 우선 상위 K개를 전역에서 뽑고 권한 없는 것만 빼면 결과 부족과 정보 노출 위험이 생길 수 있습니다. 검색 결과의 제목·요약·개수 자체도 비공개 정보일 수 있음을 고려합니다.

색인 당시 권한과 조회 시점 권한이 다를 수 있습니다. 문서 공유가 해제됐는데 오래된 ACL 복사본으로 검색되면 안 되므로 정책 버전과 갱신 지연을 관리하고 원문 접근에서 다시 확인합니다. 권한 서비스가 실패했을 때 민감 문서를 일단 반환하는 방식은 선택하지 않습니다. 인가된 검색도 질문과 무관한 개인정보를 과도하게 모델에 보내지 않도록 최소 범위를 조회합니다.

파생 데이터에도 같은 경계를 유지합니다

문서를 요약해 메모리나 캐시에 넣으면 원본이 아니라는 이유로 공개해도 되는 것이 아닙니다. 요약·임베딩·인용 스니펫과 결과 캐시에 원본 권한 범위와 삭제·정정 관계를 유지합니다. 캐시 키에는 필요한 사용자·정책·문서 버전을 포함하고, 공유 캐시에 사용자 전용 결과가 섞이지 않게 합니다. 모델 제공자나 다른 원격 에이전트로 전달할 때는 그 외부 전송이 허용되는지도 별도로 판단합니다.

검증은 정상 사용자와 권한 없는 사용자, 공유 해제 직후, 조직 이동, 인덱스 지연, 캐시 적중 경로를 교차합니다. 실제 원문뿐 아니라 답변·로그·오류·인용에 다른 영역의 내용이 나타나는지 검사해야 합니다. 유사도 점수가 높다는 것은 관련성이고 접근권한이 아닙니다. 에이전트가 여러 검색 도구를 순회해도 이 구분이 모든 도구와 저장소에서 유지되어야 합니다.

실행 사례로 확인합니다

권한 없는 문서를 먼저 가져와 모델 요약에서 삭제하는 방식은 모델 제공자와 trace 저장소에 이미 내용을 보냈을 수 있습니다. 따라서 필터 위치는 사용자 화면 직전만이 아니라 각 데이터 이동 경계에서 판단해야 합니다. 문서 청크를 재조합할 때도 원본 ACL이 다른 청크를 하나의 공개 결과로 합치지 않습니다. 서비스 계정이 전체 인덱스를 읽을 수 있다면 사용자 대신 실행하는 계층에서 추가 제한을 강제하고 그 검사를 생략한 관리 도구가 없는지 확인합니다. 인가 실패 응답은 비공개 문서가 존재한다는 정보까지 드러낼 수 있으므로 오류 메시지의 세부 수준도 정책에 맞춥니다. 관련성을 높이는 재랭킹 단계에도 같은 데이터 접근 범위가 적용됩니다.

02

득점 포인트

이해가 드러나는 지점을 확인해 보세요.

  • 사용자 범위를 모델 인자와 분리해 검색 계층에서 강제한다.
  • 색인 ACL과 현재 원문 권한·철회 지연을 함께 확인한다.
  • 요약·메모리·캐시에도 원본의 접근 경계를 유지한다.
03

감점 포인트

놓치기 쉬운 조건과 오해를 짚어 보세요.

  • 권한 없는 문서를 모델에 넣고 말하지 않으라고만 한다.
  • 유사도 점수를 인가 조건으로 사용한다.
  • 요약과 임베딩은 원문 권한에서 자유롭다고 본다.
04

더 파고들 거리

하나 더 질문하며 이해의 범위를 넓혀 보세요.

  • 공유 해제된 문서에서 만든 장기 기억은 어떻게 삭제하거나 재검증하나요?
  • 인가된 자료라도 외부 모델이나 다른 에이전트에게 전달할 수 있는지는 어떻게 판단하나요?
  • 사용자별 검색 결과를 캐시할 때 공통 접두부와 비공개 데이터를 어떻게 나누나요?

득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.

원리부터 공부하고 싶다면

답변을 보충하는 개념·예제·슈도코드를 읽어 보세요.

← 전체 질문 보기