Créer des workflows RAG sécurisés avec un partitionnement des données au niveau des segments
Les bases de données vectorielles sont devenues un pilier pour alimenter les applications pilotées par l’IA, en particulier le RAG (génération augmentée par récupération), permettant des recherches de similarité rapides et efficaces dans d’immenses jeux de données à haute dimension. Un partitionnement efficace devient crucial à mesure que ces bases de données évoluent pour accueillir des milliards de vecteurs. En organisant les données en segments logiques, le partitionnement améliore les performances des requêtes, prend en charge l’évolutivité et garantit une gestion sécurisée des données grâce à l’isolation par locataire dans les environnements multi-utilisateurs.
Les bases de données vectorielles modernes, telles que Milvus et Zilliz Cloud (le Milvus géré), ont introduit des fonctionnalités de partitionnement avancées pour répondre aux exigences des applications d’entreprise. Cependant, à mesure que le nombre de partitions augmente, la complexité de leur gestion efficace augmente également. Les entreprises recherchent désormais des solutions axées sur la confidentialité, capables de faire évoluer le partitionnement tout en s’intégrant de manière transparente aux workflows d’IA.
Lors d’un récent South Bay Unstructured Data Meetup organisé par Zilliz, Rob Quiros, PDG et cofondateur de Caber Systems, a présenté une approche innovante du partitionnement des bases de données vectorielles à l’aide de politiques d’accès par utilisateur et par fragment. Il a expliqué comment l’intégration des permissions et de l’autorisation dans les partitions peut sécuriser les données au niveau du fragment, répondant ainsi aux préoccupations en matière de confidentialité. Ce blog récapitulera ses enseignements et explorera comment Caber Systems exploite la base de données vectorielle Milvus pour parvenir à une gestion des données robuste et centrée sur la confidentialité. Pour plus de détails, regardez la rediffusion complète de son intervention sur YouTube.
Défis du contrôle d’accès pour les bases de données vectorielles
Les bases de données vectorielles modernes, comme Milvus, prennent efficacement en charge la multi-tenance, permettant un stockage et une gestion séparés pour des jeux de données clients distincts. Cette capacité garantit que les données d’un locataire sont isolées et inaccessibles aux autres, constituant une base solide pour une gestion des données sécurisée et organisée. Toutefois, si cette séparation répond bien à l’isolation globale des données, la mise en œuvre de contrôles d’accès granulaires spécifiques aux utilisateurs au sein de ces jeux de données est plus difficile. Cela est dû à la diversité des modes de contrôle d’accès dont les entreprises ont besoin.
En voici quelques-uns :
Contrôle d’accès basé sur les rôles (RBAC) - Attribue des permissions en fonction de rôles prédéfinis, mais peine à répondre aux exigences complexes et dynamiques.
Contrôle d’accès basé sur les attributs (ABAC) - Utilise des attributs tels que les rôles des utilisateurs, la sensibilité des données ou la localisation géographique, mais nécessite un système robuste de gestion des politiques.
Contrôle d’accès basé sur les relations (ReBAC) - Fournit l’accès en fonction des relations entre départements ou équipes, ajoutant de la complexité aux mécanismes d’application.
De plus, la fourniture et la gestion de tels contrôles d’accès peuvent devenir un cauchemar administratif. De l’attribution des permissions à la gestion des demandes d’accès ou des litiges, la charge opérationnelle peut également submerger les équipes de support. La figure ci-dessous, issue de Permit.io, présente un exemple de contrôle ReBAC. Elle illustre un processus complexe pour accéder à un fragment spécifique de données, valide uniquement pendant la session en cours.
Figure : Un exemple de contrôle ReBAC
Figure : Un exemple de contrôle ReBAC
Le rôle des agents dans l’accès aux données
Dans les systèmes RAG, les agents agissant pour le compte des utilisateurs interrogent les bases de données vectorielles et récupèrent des informations. Bien qu’ils améliorent l’efficacité en automatisant la tâche, ils posent un défi de sécurité important. Les agents fonctionnent comme des mandataires pour les actions des utilisateurs, ce qui signifie qu’ils héritent des autorisations des utilisateurs lors de l’accès aux données. Ce mécanisme est toutefois vulnérable aux attaques :
Usurpation d’agent : Des acteurs malveillants peuvent se faire passer pour des agents, en exploitant les identifiants des utilisateurs pour accéder à des données sensibles.
Fuite de données : Si la session d’un agent est compromise, elle pourrait accorder un accès non autorisé à de vastes quantités de données.
Figure : Problèmes de sécurité avec Agentic RAG
Figure : Problèmes de sécurité avec Agentic RAG
Pour atténuer ces risques, les organisations doivent adopter des mesures strictes :
Authentification : Authentification forte des agents pour vérifier les identités et empêcher l’usurpation.
Gestion des sessions : Restreindre les sessions des agents à des durées prédéfinies, comme Reback l’a démontré.
Journalisation et surveillance : Pistes d’audit complètes pour suivre l’activité des agents et détecter les anomalies.
Bien que la prise de ces mesures puisse aider à contrer les attaques, leur mise en œuvre dans son ensemble devient très fastidieuse.
Duplication des données - Un défi majeur pour les entreprises
La duplication des données est un problème persistant dans les environnements d’entreprise. Les documents subissent souvent plusieurs itérations via le copier-coller, le partage de fichiers ou le versionnement, ce qui entraîne des segments redondants stockés dans les bases de données vectorielles. Cette duplication augmente la surcharge de stockage et détériore la généralisabilité des LLM. Rob mentionne son expérience antérieure de déduplication des données chez Riverbed, où ils ont constaté que 90 à 95 % des données étaient des doublons, qu’il fallait éliminer.
Figure : La duplication des données est un grand défi dans la définition des autorisations
Figure : La duplication des données est un grand défi dans la définition des autorisations
Une complication majeure survient lorsque les métadonnées, y compris les autorisations, sont copiées directement des documents vers les segments dans les bases de données vectorielles. Si des segments dupliqués existent dans différents documents avec des autorisations variables, les métadonnées peuvent être écrasées, provoquant des conflits ou des contrôles d’accès inappropriés. Par conséquent, résoudre les autorisations au niveau du segment est crucial pour garantir la sécurité des données et la conformité.
Ci-dessous se trouve un exemple de déclaration 10-Q d’Apple, dans laquelle on peut voir que le texte standard des deux documents est commun et que les différences entre les versions sont minimes. Par conséquent, ici, l’objectif est d’identifier et de suivre les origines des segments de données et leurs autorisations associées afin que les règles d’accès correctes puissent être appliquées de manière cohérente.
Figure : Exemple de documents similaires issus des dépôts 10Q d’Apple
Sécuriser les données au niveau du segment
Pour résoudre ces problèmes, Caber a proposé une solution visant à sécuriser les données au niveau du segment. Elle le fait en examinant les documents ingérés dans la base de données vectorielle et en construisant un index à côté pour cartographier les relations entre les segments et leurs sources. Ce graphe de lignage offre une visibilité sur l’origine de chaque segment et ses autorisations associées, permettant une attribution déterministe des autorisations.
Figure- L’approche de Caber pour sécuriser les données au niveau du segment
Figure : L’approche de Caber pour sécuriser les données au niveau du segment (Source)
Exemple de graphe de traçabilité avec les dépôts 10-Q d’Apple
En poursuivant avec l’exemple d’Apple, le graphe ci-dessous contient des fragments de données provenant de plusieurs versions des dépôts 10-Q d’Apple. Les nœuds rouges du graphe représentent les fragments de données communs à tous les documents. À l’aide d’une politique, les permissions pour chacun de ces fragments sont déterminées. Ces permissions sont ensuite consultées pendant que les données sont récupérées depuis la base de données vectorielle afin de s’assurer que les utilisateurs disposent de l’autorisation appropriée pour accéder à ces fragments.
Figure : Cartographie dynamique de la traçabilité de chaque fragment pour les permissions avec Caber
Exemple de démonstration RAG avec les dépôts 10-Q d’Apple
Initialement, les données sont stockées dans la base de données vectorielle comme Milvus sans métadonnées de permissions. Lorsque les données sortent du RAG, l’intégration de Caber dans le flux de travail via un SDK permet le filtrage et la rédaction de ces données à un niveau granulaire avant qu’elles puissent être transmises au LLM. Par exemple, la figure illustre l’autorisation d’accès pour deux utilisateurs différents : Amy, CFO de l’entreprise, est autorisée à accéder à tous les fragments de données des déclarations 10-Q de 2023 et 2024. En revanche, Bob, un autre utilisateur, s’est vu restreindre ce même accès et reçoit une réponse générique.
Figure : Exemple RAG démontrant un accès variable pour deux utilisateurs
Intégration de Caber avec les flux de travail LLM et ses capacités
Figure : Caber s’intègre aux flux de travail LLM
Caber peut être intégré aux flux de travail LLM à l’aide d’un SDK, permettant une gestion transparente du contrôle d’accès. Grâce aux connecteurs d’identité, le système récupère les informations d’authentification des utilisateurs, tandis que d’autres connecteurs aident à créer un index des fragments de données avec leurs permissions associées. Par exemple, lorsqu’un utilisateur interagit avec le système, l’agent transmet le prompt à la base de données vectorielle. La réponse RAG est ensuite envoyée aux LLM, qui fournissent la réponse finale. Au cours de ce processus, les données sont tracées en fonction de leur flux et toutes les connexions seront attribuées à l’utilisateur concerné.
Ici, l’utilisation de Milvus comme base de données vectorielle contribue à prendre en charge le partitionnement dynamique et la multilocation, ce qui la rend idéale pour les applications axées sur la confidentialité nécessitant un contrôle d’accès par fragment. Avec des fonctionnalités telles que l’indexation HNSW, elle garantit des requêtes à haute vitesse sur des milliards de vecteurs.
Responsabilité et auditabilité
La traçabilité fournie par Caber offre des capacités essentielles de responsabilité et d’audit. En particulier dans les scénarios complexes impliquant l’IA agentique, où les LLM agissent de manière autonome au nom des utilisateurs, comme les actions sont assez imprévisibles, il existe un risque élevé que quelque chose tourne mal (par ex. : fuite de données sensibles). Ici, la connaissance de la manière dont les données ont circulé à travers divers appels d’API et d’objets est essentielle pour déterminer à quelle étape exacte le système a échoué.
Figure : Responsabilité et auditabilité
Observabilité détaillée du flux d’application
Caber permet également l’analyse et le débogage des outils applicatifs grâce à une observabilité détaillée du flux d’application. La capacité à suivre quand et par quels services les données de l’utilisateur ont été consultées permet aux organisations de mieux identifier les goulots d’étranglement, les inefficacités et les risques de sécurité au sein des pipelines de données de l’application.
Figure : Observabilité du flux d’application
Exigences de conformité des données à la politique
Les enseignements obtenus ci-dessus peuvent être réinjectés dans les LLM afin d’améliorer les politiques de sécurité et de combler les lacunes de manière proactive. Le framework prend en charge le contrôle d’accès, l’auditabilité, la remédiation et l’analyse, garantissant la conformité et renforçant la résilience du système.
Data Compliance Requirements to Policy.png
Exigences de conformité des données vers politique (Source)
Conclusion
À mesure que les cas d’utilisation des applications LLM se multiplient, davantage d’entreprises s’appuient sur le RAG pour effectuer leurs tâches. Par conséquent, sécuriser et gérer l’accès aux données à un niveau granulaire devient très important. Des solutions comme Caber, combinées aux capacités avancées de partitionnement et de recherche de Milvus, fournissent le framework idéal pour relever des défis tels que la duplication des données et la définition du contrôle d’accès pour une utilisation sécurisée des données.
Ressources pertinentes
Continuer à lire

Context Engineering Strategies for AI Agents: A Developer’s Guide
Learn practical context engineering strategies for AI agents. Explore frameworks, tools, and techniques to improve reliability, efficiency, and cost.
Milvus/Zilliz + Surveillance: How Vector Databases Transform Multi-Camera Tracking
See how Milvus vector database enhances multi-camera tracking with similarity-based matching for better surveillance in retail, warehouses and transport hubs.

AI Integration in Video Surveillance Tools: Transforming the Industry with Vector Databases
Discover how AI and vector databases are revolutionizing video surveillance with real-time analysis, faster threat detection, and intelligent search capabilities for enhanced security.


