Cloudflare AI Search 租戶隔離,在同一應用開始為擁有私有文件的多個組織提供服務時就非常重要。生成答案之前,檢索結果就可能洩露資訊;即使可見答案看似無害,引用也可能暴露文件。權限邊界必須覆蓋整個搜尋流程。

根據已認證應用身分推導租戶範圍,再選擇允許的搜尋執行個體,或應用由伺服器控制的強制過濾器。讓匯入、檢索、引用和快取遵循同一存取設計。透過負面測試證明隔離,包括租戶切換、過時工作階段,以及直接開啟其他租戶來源的嘗試。

設想一個 SaaS 產品,讓經銷商上傳供應商協議。每家經銷商都希望助手解釋自己的交付和折扣條款,產品還可能提供所有人共享的公開手冊。只有私有材料絕不越過預期邊界,組合這些來源才有用。

本文提供建議的應用設計和驗收方法,不聲稱單靠名稱空間或過濾器就能滿足所有安全要求。

Cloudflare AI Search 租戶隔離始於檢索之前

Cloudflare 的多租戶指南 介紹了獨立執行個體和共享執行個體的租戶搜尋方案。選擇架構前,需要先建立應用身分模型,確定租戶代表什麼,以及哪些使用者可以在其中操作。

從已驗證工作階段或等價可信上下文取得租戶。請求參數可以表示使用者希望選擇什麼,但伺服器必須確認該選擇被允許。絕不能讓模型提供權威租戶範圍。

對於屬於多個經銷商的同事,應明確目前組織。切換組織時,應更改允許的來源集及相關對話上下文。切換前檢索到的私有段落,不應悄悄留在下一次回答中。

邊界可信輸入應拒絕的不可信替代項
租戶選擇已認證成員資格及目前範圍瀏覽器提供的任意租戶識別碼
執行個體路由伺服器控制的對映模型編造的執行個體名稱
文件範圍已驗證來源歸屬與權限上傳檔案自稱所屬租戶
引用存取開啟文件時的目前授權僅持有結果 URL

比較獨立執行個體與強制過濾

獨立執行個體可能讓資料邊界更易檢查,但增加生命週期管理和佈建工作。共享執行個體可以減少這些開銷,但每條相關檢索路徑都必須應用正確範圍,不得有可選繞過。

Cloudflare 的名稱空間文件 解釋了執行個體如何分組,並透過繫結存取。仔細檢查繫結範圍。邏輯分組不能證明應用已正確路由每位呼叫者。

設計選擇待評估的維運收益仍需承擔的責任
獨立租戶執行個體來源與生命週期分離更清晰正確路由及成員資格檢查
帶租戶過濾的共享執行個體共享匯入和索引管理所有檢索路徑強制應用範圍
獨立公開集合明確共享材料防止私有內容匯入該集合
受限文件子集租戶內部更精細存取目前文件級權限

根據權限模型和維運要求選擇,而不只看租戶數量。不論執行個體如何佈局,內部存在受限團隊的租戶,都可能需要組織級邊界之外的控制。

建議流程:驗證目前租戶成員資格,選擇允許的檢索範圍,僅返回已授權證據,檢查引用、快取與歷史。
建議設計:不允許跨租戶路徑。 檢視完整尺寸示意圖

匯入和查詢都應應用範圍

內容進入系統時就必須確定文件歸屬。使用可信應用後設資料,將每個來源關聯到租戶和預期可見性。未經呼叫者權限檢查,不要接受上傳檔案自稱的歸屬。

更新期間保持來源識別碼穩定。替換協議應更新目標租戶的材料,刪除應針對正確來源和衍生內容。租戶之間識別碼衝突,即使搜尋尚未執行,也可能破壞隔離。

分開公開和私有匯入決策。共享手冊可以有意設為公開,但供應商協議不應僅因副檔名或資料夾名稱像手冊,就進入公開集合。

記錄哪種匯入身分可以讀取每個來源位置。應用可能正確過濾結果,但權限過大的來源聯結器仍匯入本不該處理的材料。範圍複核必須覆蓋管道兩端。

將過濾作為不可選的應用策略

Cloudflare 提供檢索過濾文件 。將目前應用權限轉化為選定過濾契約,並測試伺服器實際生成的請求。

不要暴露可由普通用戶端替換的通用過濾物件。同樣,不要新增“範圍內查詢沒有結果就取消過濾重試”的便捷回退。對於未授權或不存在的資訊,沒有結果是有效且必要的結果。

將應用範圍與文件型別、語言等使用者偏好分開。使用者可以請求更窄的搜尋,但不能透過更改搜尋選項移除強制存取條件。

測試所有能到達檢索的路徑:搜尋結果、生成答案、匯出、智慧體工具和管理預覽。搜尋頁面安全,不能彌補查詢同一集合但沒有過濾的工具端點。

保護引用、快取與對話歷史

生成答案可能省略私有段落,卻返回暴露其他租戶資訊的引用標題或 URL。檢查所有返回欄位,而不只檢查答案文字。

按目前文件授權開啟引用。如果來源透過應用提供,返回前先驗證呼叫者;如果使用外部文件系統,確認連結保留該系統存取規則。

任何應用快取設計都應包含租戶與相關權限上下文。不能僅因問題文字相同,就將適合某組織的快取答案變成共享答案。

使用者更換組織或失去權限後,對話歷史仍可能保留檢索段落。決定哪些歷史可重新開啟,哪些上下文可提供給模型。撤銷應明確影響衍生副本,而不只是即時搜尋查詢。

建議決策:目前身分是否允許存取此來源?區分已授權範圍與範圍之外,保持完整流程隔離。
建議設計:不允許跨租戶路徑。 檢視完整尺寸示意圖

用負面測試發現真實洩露

使用帶有獨特、清晰標記的合成租戶文件。讓不同組織的使用者提問同一問題,並斷言另一組織的標記絕不出現在段落、答案、後設資料或引用中。

測試預期結果
修改請求的租戶識別碼伺服器拒絕或保持允許範圍
查詢另一租戶已知短語不返回私有段落、答案或引用
開啟另一租戶文件 URL拒絕存取
切換目前組織檢索和模型上下文遵循新允許範圍
工作階段期間移除成員資格後續存取遵循目前授權
跨租戶重複快取問題不跨租戶重用答案

將已授權多租戶管理員與普通使用者分開測試。管理排查需要獨立權限和證據。不要把管理員的廣泛結果當成普通使用者驗收標準。

路由、匯入、過濾和快取變化後,重複隔離測試集。單純搜尋相關性測試無法發現權限迴歸;非常相關的結果,可能恰好就是使用者絕不該看到的文件。

為權限生命週期編制預算

開發工作取決於成員資格、文件權限、來源整合與檢索路徑數量。簡單租戶過濾演示,沒有包含真實 SaaS 產品需要的大量生命週期工作。

要求 GBP 方案報價,包含佈建、租戶變化、刪除、撤銷與驗收。說明隔離是止於組織邊界,還是包括組織內的團隊和單獨文件。

工作領域應要求的證據
身分租戶成員資格與切換規則
匯入已驗證歸屬與來源存取對映
檢索每條路徑由伺服器控制範圍
衍生內容快取、引用和歷史策略
維運佈建、刪除和事故手冊

範圍明確的 AI 整合試點 可以在引入私有資料之前,測試合成組織與代表性文件。請提供成員模型和來源權限,索取租戶搜尋方案 。讓隔離成為可測試契約,而不只是架構圖上令人安心的標籤。

常見問題

每個租戶都需要獨立 AI Search 執行個體嗎? 不一定。Cloudflare 文件介紹了獨立執行個體與共享執行個體方案。選擇前應比較權限模型、佈建工作和強制過濾的可靠性。兩種方案都不能取消應用授權。

瀏覽器可以傳送租戶識別碼嗎? 可以請求某項選擇,但伺服器必須根據已認證成員資格驗證。不能將任意瀏覽器參數或模型生成值視為存取權限來源。

名稱空間是授權系統嗎? 名稱空間透過文件規定的繫結模型組織執行個體存取。應用仍需要認證呼叫者並正確路由。檢查繫結範圍,用普通使用者負面測試證明邊界。

過濾搜尋為空時應該去掉過濾器重試嗎? 不應該。為了獲得答案而移除強制範圍,會暴露另一租戶材料。應返回有用的無結果狀態,或調查索引與權限設定,而不是擴大使用者存取。

引用會洩露資訊嗎? 會。即使生成答案省略了私有資訊,標題、URL、摘錄和文件下載仍可能洩露。測試完整回應,並在開啟來源時要求目前授權。

使用者失去租戶成員資格後會怎樣? 後續存取應遵循目前權限。除即時檢索外,還應定義對開啟工作階段、快取答案、對話歷史及衍生副本的影響。在活動工作階段中測試撤銷。

隔離試點應該證明什麼? 證明普通使用者不能檢索其他租戶私有來源,不能透過返回後設資料推知私有資訊,也不能開啟來源。包含範圍篡改、租戶切換、快取重用、來源更新與撤銷。