Izolarea tenanturilor în Cloudflare AI Search contează din momentul în care aplicația servește organizații cu documente private. Regăsirea poate divulga informații înaintea generării, iar o citare poate expune documentul chiar dacă răspunsul vizibil pare inofensiv. Limita permisiunilor trebuie să acopere întregul parcurs.
Derivă domeniul tenantului din identitatea autentificată, apoi selectează instanța permisă sau aplică filtre obligatorii controlate de server. Păstrează ingestia, regăsirea, citările și cache în același proiect de acces. Dovedește izolarea prin teste negative, inclusiv schimbarea tenantului, sesiuni vechi și încercări directe de deschidere a surselor altuia.
Imaginează-ți un SaaS care permite distribuitorilor încărcarea acordurilor furnizorilor. Fiecare vrea un asistent care explică propriile condiții de livrare și reducere. Produsul poate avea și manual public comun. Combinarea surselor ajută numai dacă materialul privat nu traversează limita prevăzută.
Acesta este un proiect și un mod de acceptanță propus. Nu afirmă că un namespace sau un filtru singur satisface toate cerințele securității.
Izolarea tenanturilor în Cloudflare AI Search începe înainte de regăsire
Ghidul multitenancy Cloudflare documentează căutarea cu instanțe separate și comune. Alegerea cere întâi un model al identității aplicative. Decide ce reprezintă tenantul și ce utilizatori pot acționa în el.
Obține tenantul din sesiune verificată sau context echivalent de încredere. Parametrul poate indica selecția dorită, dar serverul stabilește dacă este permisă. Nu lăsa modelul să stabilească domeniul tenantului care determină accesul.
Pentru colegul membru al mai multor distribuitori, arată organizația activă. Schimbarea trebuie să modifice sursele permise și contextul conversației. Pasajul privat recuperat înainte nu trebuie să rămână neobservat în răspunsul următor.
| Limită | Intrare de încredere | Înlocuitor nefiabil de refuzat |
|---|---|---|
| Selecția tenantului | Apartenență autentificată și domeniu activ | Identificator arbitrar din browser |
| Rutarea instanței | Mapare controlată de server | Nume inventat de model |
| Domeniul documentului | Proprietate și permisiuni verificate | Fișier care își declară singur tenantul |
| Citări | Autorizare actuală la deschiderea documentului | Numai posesia URL-ului rezultatului |
Compară instanțele și filtrarea obligatorie
Instanțele separate pot face limita datelor mai ușor de inspectat, dar adaugă muncă de administrare a ciclului de viață și de provisionare. O instanță comună poate reduce acel efort, însă fiecare traseu relevant trebuie să impună domeniul corect fără ocolire opțională.
Documentația namespace Cloudflare explică gruparea și accesarea instanțelor prin bindings. Verifică atent domeniul legăturii. Gruparea logică nu dovedește rutarea corectă a fiecărui apelant.
| Alegere | Beneficiu operațional de evaluat | Responsabilitate rămasă |
|---|---|---|
| Instanțe separate | Separarea mai clară a surselor și ciclului | Rutare și apartenență corecte |
| Instanță comună cu filtre | Ingestie și indice administrate împreună | Domeniu obligatoriu pe fiecare rută |
| Colecție publică separată | Material comun explicit | Prevenirea ingestiei private aici |
| Subseturi restricționate | Acces mai fin în tenant | Permisiuni actuale pe document |
Alege din modelul permisiunilor și cerințele operării, nu doar numărul tenanturilor. Un tenant cu echipe interne restricționate poate cere mai mult decât limita organizației indiferent de instanțe.
Aplică domeniul la ingestie și interogare
Stabilește proprietatea documentului la intrarea în sistem. Asociază fiecare sursă tenantului și vizibilității dorite cu metadate de încredere. Nu accepta proprietatea declarată de fișier fără verificarea autorității apelantului.
Păstrează identificatorii stabili între actualizări. Înlocuirea acordului actualizează materialul tenantului dorit, iar eliminarea vizează sursa și derivatele corecte. Coliziunea identificatorilor poate strica izolarea înainte să ruleze căutarea.
Separă deciziile publice de cele private. Manualul comun poate fi deliberat public; acordul nu intră acolo fiindcă extensia sau dosarul seamănă cu un manual.
Înregistrează ce identitate folosită pentru ingestie are permisiunea de a citi fiecare locație sursă. Aplicația poate filtra corect în timp ce un conector prea larg importă material pe care nu trebuia să îl proceseze. Revizuirea domeniului include ambele părți.
Fă filtrele o politică obligatorie a aplicației
Cloudflare documentează filtrarea regăsirii . Tradu permisiunile actuale în contractul filtrului ales și testează cererea efectiv generată de server.
Nu expune un obiect generic de filtre înlocuibil de clientul obișnuit. Nu adăuga nici reluare comodă fără filtre dacă interogarea delimitată nu găsește nimic. Lipsa rezultatului este validă și necesară pentru informație absentă sau interzisă.
Separă domeniul aplicației de preferințele tipului sau limbii documentului. Utilizatorul poate restrânge căutarea, nu elimina condiția de acces obligatorie prin schimbarea unei opțiuni.
Testează fiecare rută: rezultate, răspunsuri generate, exporturi, instrumente de agent și previzualizări administrative. Pagina sigură nu compensează un endpoint de instrument fără filtre pentru aceeași colecție.
Protejează citările, cache și istoricul conversației
Un răspuns generat poate omite pasajul privat, dar poate totuși returna un titlu de citare sau un URL care divulgă informațiile altui tenant. Verifică toate câmpurile, nu doar răspunsul.
Deschide citările sub autorizarea actuală a documentului. Dacă sursa trece prin aplicație, verifică apelantul înainte. Dacă folosește alt sistem, stabilește că legătura îi păstrează regulile de acces.
Include tenantul și contextul relevant al permisiunilor în orice cache aplicativ. Răspunsul potrivit unei organizații nu devine comun doar fiindcă textul întrebării coincide.
Istoricul poate păstra pasaje după schimbarea organizației sau pierderea accesului. Decide ce istoric se redeschide și ce context ajunge la model. Revocarea trebuie să aibă efect definit asupra derivatelor, nu doar asupra interogării actuale.
Construiește teste negative care dezvăluie divulgări reale
Folosește documente sintetice cu marcatori distincți, imposibil de confundat. Pune aceeași întrebare ca utilizatori din organizații diferite și verifică absența markerului celeilalte în pasaje, răspunsuri, metadate și citări.
| Test | Rezultat așteptat |
|---|---|
| Alterează identificatorul solicitat | Serverul refuză sau păstrează domeniul permis |
| Caută frază cunoscută a altui tenant | Niciun pasaj, răspuns sau citare privată |
| Deschide documentul altui tenant | Acces refuzat |
| Schimbă organizația activă | Regăsirea și contextul urmează noul domeniu |
| Elimină apartenența în sesiune | Accesul ulterior urmează autorizația actuală |
| Repetă întrebarea din cache între tenanturi | Nicio refolosire a răspunsului între tenanturi |
Include administratorul multitenant autorizat separat de utilizatorii obișnuiți. Diagnosticarea administrativă cere autoritate și dovezi proprii. Nu normaliza rezultatele lui largi în acceptanța utilizatorului obișnuit.
Repetă testele izolării după schimbări în rutare, ingestie, filtre și cache. Relevanța singură nu detectează regresia accesului: rezultatul foarte relevant poate fi exact documentul interzis.
Bugetează ciclul permisiunilor
Efortul depinde de apartenențe, permisiuni documentare, surse și numărul rutelor. Demonstrația simplă a filtrului exclude mult din ciclul cerut de un SaaS real.
Cere propunere în GBP care include provisionare, schimbări ale tenanturilor, eliminare, revocare și acceptanță. Spune dacă izolarea se oprește la organizație sau include echipe și documente individuale.
| Arie | Dovezi cerute |
|---|---|
| Identitate | Apartenență și reguli de schimbare |
| Ingestie | Proprietate verificată și maparea accesului |
| Regăsire | Domeniu controlat de server pe fiecare rută |
| Derivate | Politici de cache, citări și istoric |
| Operare | Proceduri de provisionare, ștergere și incidente |
Un pilot delimitat de integrare IA testează organizații sintetice și documente reprezentative înaintea datelor private. Cere o propunere de căutare multitenant cu modelul apartenenței și permisiunile surselor. Izolarea devine contract testabil, nu o etichetă liniștitoare pe diagramă.
Întrebări frecvente
Fiecare tenant cere instanță AI Search separată? Nu neapărat. Cloudflare documentează instanțe separate și comune. Compară permisiunile, provisionarea și fiabilitatea filtrării obligatorii înainte să alegi. Niciuna nu elimină autorizarea aplicației.
Browserul poate trimite identificatorul tenantului? Poate solicita o selecție, dar serverul o verifică față de apartenența autentificată. Parametrul arbitrar sau valoarea modelului nu sunt sursa autorității accesului.
Namespace este un sistem de autorizare? Organizează accesul la instanțe prin modelul documentat de binding. Aplicația autentifică și rutează corect în continuare. Verifică domeniul legăturii și dovedește limita prin teste negative ale utilizatorului obișnuit.
Căutarea filtrată goală ar trebui reluată fără filtru? Nu. Eliminarea domeniului obligatoriu poate expune materialul altuia. Oferă rezultat util fără potriviri sau investighează indexarea și permisiunile fără extinderea accesului.
Citările pot divulga informații? Da. Titlurile, URL-urile, fragmentele și descărcările de documente pot dezvălui informații private chiar dacă răspunsul generat le omite. Testează răspunsul complet și cere autorizație actuală la deschiderea sursei.
Ce se întâmplă la pierderea apartenenței? Accesul ulterior urmează permisiunile actuale. Definește efectul asupra sesiunilor, cache, istoricului și derivatelor, alături de regăsirea live. Testează revocarea în sesiune activă.
Ce trebuie să dovedească pilotul de izolare? Utilizatorul obișnuit nu poate recupera, deduce prin metadatele returnate sau deschide sursele private ale altui tenant. Include alterarea domeniului, schimbarea tenantului, cache, actualizări și revocare.