Cloudflare AI Search 테넌트 격리는 같은 앱이 비공개 문서를 가진 조직들에 서비스를 제공하는 순간 중요해집니다. 검색 결과는 답변 생성 전에도 정보를 누출할 수 있고, 보이는 답변이 무해해도 인용이 문서를 노출할 수 있습니다. 권한 경계는 전체 검색 여정을 다뤄야 합니다.

인증된 앱 신원으로 테넌트 범위를 결정한 다음 허용 검색 인스턴스를 선택하거나 서버가 제어하는 필수 필터를 적용하세요. 수집, 검색, 인용, 캐시를 같은 접근 설계 안에 유지해야 합니다. 조직 전환, 오래된 세션, 다른 테넌트 원본을 직접 열려는 시도를 포함하는 부정 시험으로 격리를 입증하세요.

유통업체가 공급업체 계약을 올리는 SaaS를 생각해 보세요. 각 유통업체는 자체 납품 및 할인 조건을 설명하는 도우미를 원합니다. 모두가 공유하는 공개 설명서도 있을 수 있습니다. 이런 원본을 결합하는 것은 비공개 자료가 의도한 경계를 넘지 않을 때만 유용합니다.

이 글은 제안하는 앱 설계와 인수 방법입니다. 네임스페이스나 필터 하나로 모든 보안 요구를 충족한다는 주장은 아닙니다.

Cloudflare AI Search 테넌트 격리는 검색 전부터 시작하기

Cloudflare의 멀티테넌시 안내 는 테넌트 검색의 별도 인스턴스와 공유 인스턴스 방식을 설명합니다. 구조를 고르기 전에 앱 신원 모델이 필요합니다. 테넌트가 무엇을 나타내며 어떤 사용자가 안에서 동작할 수 있는지 결정하세요.

검증된 세션이나 동등한 신뢰 맥락에서 테넌트를 얻으세요. 요청 인자는 사용자의 선택 의도를 나타낼 수 있지만 서버가 그 선택이 허용되는지 확립해야 합니다. 모델이 기준 테넌트 범위를 제공하게 해서는 안 됩니다.

여러 유통업체에 속한 동료에게는 활성 조직을 명확히 보여 주세요. 조직 전환은 허용 원본 집합과 관련 대화 맥락도 바꿔야 합니다. 전환 전에 찾은 비공개 구절이 다음 답변에 조용히 남아서는 안 됩니다.

경계신뢰할 입력거부할 비신뢰 대안
테넌트 선택인증된 소속과 활성 범위브라우저의 임의 테넌트 식별자
인스턴스 라우팅서버 제어 매핑모델이 만든 인스턴스 이름
문서 범위검증된 원본 소유와 권한업로드 파일의 자체 테넌트 주장
인용 접근문서 열 때의 현재 인가결과 URL 소지만으로 접근

인스턴스와 필수 필터링 비교하기

별도 인스턴스는 데이터 경계 검사를 쉽게 할 수 있지만 수명과 프로비저닝 작업을 추가합니다. 공유 인스턴스는 그 부담을 줄일 수 있지만 관련된 모든 검색 경로에 올바른 범위를 적용해야 하며 선택적 우회를 두면 안 됩니다.

Cloudflare의 네임스페이스 문서 는 인스턴스를 묶고 바인딩으로 접근하는 방법을 설명합니다. 바인딩 범위를 신중히 검토하세요. 논리적 그룹만으로 앱이 모든 호출자를 올바르게 라우팅한다고 증명되지는 않습니다.

설계 선택평가할 운영 이점남는 책임
별도 테넌트 인스턴스더 분명한 원본 및 생명주기 분리올바른 라우팅과 소속 검사
테넌트 필터가 있는 공유 인스턴스수집과 인덱스 관리 공유모든 검색 경로의 필수 범위
별도 공개 모음공유 자료를 명확히 구분비공개 자료가 들어가지 않게 방지
제한된 문서 부분 집합테넌트 내부 세부 접근현재 문서 수준 권한

테넌트 수만 보지 말고 권한 모델과 운영 요구로 선택하세요. 내부에 제한 팀이 있는 조직은 인스턴스 배치와 관계없이 조직 전체 경계 이상의 제어가 필요할 수 있습니다.

제안 흐름: 활성 테넌트 소속을 확인하고 허용 검색 범위를 선택하며 인가된 증거만 반환한 뒤 인용, 캐시, 이력을 확인합니다.
제안 설계. 테넌트를 넘는 경로를 허용하지 않습니다. 전체 크기 다이어그램 보기

질의뿐 아니라 수집에도 범위 적용하기

내용이 시스템에 들어올 때 문서 소유를 확립해야 합니다. 신뢰하는 앱 메타데이터로 각 원본을 테넌트와 의도한 공개 범위에 연결하세요. 호출자 권한을 확인하지 않고 업로드의 소유 주장을 받아들이면 안 됩니다.

업데이트 전체에서 원본 식별자를 안정적으로 유지하세요. 교체 계약은 의도한 테넌트 자료를 바꾸고 삭제는 올바른 원본과 파생 내용을 대상으로 해야 합니다. 테넌트 사이 식별자 충돌은 검색 전부터 격리를 손상할 수 있습니다.

공개와 비공개 수집 결정을 분리하세요. 공용 설명서는 의도적으로 공개할 수 있지만, 계약이 확장자나 폴더 이름이 비슷하다는 이유로 그 모음에 들어가면 안 됩니다.

어떤 수집 신원이 각 원본 위치를 읽을 수 있는지 기록하세요. 앱이 결과를 올바르게 필터링해도 지나치게 넓은 원본 연결기가 애초 처리하면 안 되는 자료를 가져올 수 있습니다. 범위 검토는 파이프라인 양쪽을 포함해야 합니다.

필터를 선택 사항이 아닌 앱 정책으로 만들기

Cloudflare는 검색 필터링 을 문서화합니다. 현재 앱 권한을 선택 필터 계약으로 옮기고 서버가 실제로 생성한 요청을 시험하세요.

일반 클라이언트가 교체할 수 있는 범용 필터 객체를 노출하지 마세요. 범위가 있는 질의가 비었다고 필터 없이 반복하는 편의 대체 경로도 만들면 안 됩니다. 미인가 또는 없는 정보에는 결과 없음이 유효하고 필요한 응답입니다.

문서 종류나 언어 같은 사용자 선호와 앱 범위를 분리하세요. 사용자는 검색을 더 좁힐 수 있지만 검색 옵션을 바꿔 필수 접근 조건을 없앨 수 있어서는 안 됩니다.

검색 결과, 생성 답변, 내보내기, 에이전트 도구, 관리자 미리보기 등 검색으로 가는 모든 경로를 시험하세요. 같은 자료 모음을 조회하는 무필터 도구 엔드포인트를 안전한 검색 화면이 보완해 주지는 않습니다.

인용, 캐시, 대화 이력 보호하기

생성 답변에서 비공개 구절을 빼도 인용 제목이나 URL로 다른 테넌트 정보를 노출할 수 있습니다. 답변 본문만이 아니라 모든 반환 필드를 확인하세요.

현재 문서 인가 아래 인용을 여세요. 앱이 원본을 제공한다면 반환 전에 호출자를 검증해야 합니다. 외부 문서 시스템이라면 링크가 그 시스템의 접근 규칙을 유지하는지 확립하세요.

모든 앱 캐시 설계에 테넌트와 관련 권한 맥락을 포함하세요. 질문 텍스트가 같다는 이유만으로 한 조직에 적절한 캐시 답변을 공유 답변으로 만들면 안 됩니다.

사용자가 조직을 바꾸거나 권한을 잃어도 대화 이력에 검색 구절이 남을 수 있습니다. 어떤 이력을 다시 열 수 있고 어떤 맥락을 모델에 줄 수 있는지 결정하세요. 철회는 실시간 검색뿐 아니라 파생 사본에도 정의된 효과가 있어야 합니다.

제안 판단: 현재 신원이 이 원본을 허용하나요? 인가 범위와 범위 밖을 구분하고 전체 여정을 격리합니다.
제안 설계. 테넌트를 넘는 경로를 허용하지 않습니다. 전체 크기 다이어그램 보기

실제 누출을 드러내는 부정 시험 만들기

테넌트별로 구별이 확실한 고유 표식의 합성 문서를 사용하세요. 서로 다른 조직 사용자가 같은 질문을 하게 하고, 다른 조직 표식이 구절, 답변, 메타데이터, 인용 어디에도 나오지 않는지 검사해야 합니다.

시험기대 결과
요청 테넌트 식별자 변경서버가 거부하거나 허용 범위 유지
다른 테넌트의 알려진 문구 조회비공개 구절, 답변, 인용 없음
다른 테넌트 문서 URL 열기접근 거부
활성 조직 전환검색과 모델 맥락이 새 허용 범위를 따름
세션 중 소속 제거추가 접근에 현재 인가 적용
같은 캐시 질문을 테넌트 간 반복테넌트 간 답변 재사용 없음

여러 테넌트 관리 권한이 있는 사용자는 일반 사용자와 따로 시험하세요. 관리자 문제 해결에는 별도 권한과 증거가 필요합니다. 관리자의 넓은 결과를 일반 사용자 인수 조건으로 받아들이면 안 됩니다.

라우팅, 수집, 필터링, 캐시를 바꾼 뒤 격리 집합을 반복하세요. 관련성 시험만으로 권한 회귀는 발견되지 않습니다. 매우 관련 높은 결과가 바로 그 사용자가 보면 안 되는 문서일 수 있습니다.

권한 생명주기의 예산 잡기

개발량은 소속, 문서 권한, 원본 통합, 검색 경로 수에 따라 달라집니다. 단순 테넌트 필터 시연은 실제 SaaS에 필요한 생명주기 작업의 상당 부분을 제외합니다.

프로비저닝, 테넌트 변경, 삭제, 철회, 인수를 포함한 GBP 제안을 요청하세요. 격리가 조직 경계에서 끝나는지 내부 팀과 개별 문서도 포함하는지 명시해야 합니다.

작업 영역요청할 증거
신원테넌트 소속과 전환 규칙
수집검증된 소유와 원본 접근 매핑
검색모든 경로의 서버 제어 범위
파생 내용캐시, 인용, 이력 정책
운영프로비저닝, 삭제, 사고 절차서

범위가 정해진 AI 통합 파일럿 으로 비공개 데이터를 넣기 전에 합성 조직과 대표 문서를 시험할 수 있습니다. 소속 모델과 원본 권한을 포함해 테넌트 검색 제안 요청 을 보내 주세요. 격리를 구조도의 안심되는 라벨이 아니라 검증 가능한 계약으로 만들 수 있습니다.

자주 묻는 질문

각 테넌트에 별도 AI Search 인스턴스가 필요한가요? 반드시 그렇지는 않습니다. Cloudflare는 별도와 공유 인스턴스 방식을 문서화합니다. 권한 모델, 프로비저닝, 필수 필터의 신뢰성을 비교해 선택하세요. 어느 방식도 앱 인가를 없애지 않습니다.

브라우저가 테넌트 식별자를 보내도 되나요? 선택을 요청할 수는 있지만 서버가 인증된 소속과 대조해야 합니다. 임의 브라우저 인자나 모델 생성 값을 접근 권한의 근거로 취급하면 안 됩니다.

네임스페이스가 인가 시스템인가요? 문서화된 바인딩 모델로 인스턴스 접근을 정리합니다. 앱은 여전히 호출자를 인증하고 올바르게 라우팅해야 합니다. 바인딩 범위를 검토하고 일반 사용자 부정 시험으로 경계를 입증하세요.

빈 필터 검색은 필터 없이 재시도해야 하나요? 아닙니다. 답변을 얻으려고 필수 범위를 없애면 다른 테넌트 자료를 노출할 수 있습니다. 접근을 넓히지 말고 유용한 결과 없음 상태를 반환하거나 인덱싱과 권한 설정을 조사하세요.

인용이 정보를 누출할 수 있나요? 그렇습니다. 답변에서 생략해도 제목, URL, 발췌, 다운로드가 비공개 정보를 드러낼 수 있습니다. 전체 응답을 시험하고 원본을 열 때 현재 인가를 요구하세요.

사용자가 테넌트 소속을 잃으면 어떻게 되나요? 추가 접근은 현재 권한을 따라야 합니다. 실시간 검색과 함께 열린 세션, 캐시 답변, 대화 이력, 파생 사본의 효과를 정의하세요. 활성 세션 중 철회를 시험해야 합니다.

격리 파일럿은 무엇을 입증해야 하나요? 일반 사용자가 다른 테넌트의 비공개 원본을 검색하거나 반환 메타데이터로 추론하거나 열 수 없음을 입증해야 합니다. 범위 변조, 전환, 캐시 재사용, 원본 업데이트, 철회를 포함하세요.