Qu’est-ce que la RAG?
La génération augmentée par récupération (RAG, pour Retrieval-Augmented Generation) fournit aux grands modèles de langage (LLM) des renseignements pertinents et à jour tirés de sources de données externes, comme la base de connaissances interne ou le référentiel de documents d’une entreprise. Sans contrôles d’accès adéquats, un pipeline RAG pourrait récupérer des documents contenant des renseignements sensibles (p. ex., rapports financiers, documents RH, plans stratégiques) et s’en servir pour générer une réponse destinée à un utilisateur qui ne devrait pas avoir accès à ces données. Il pourrait en résulter de graves violations de données et des manquements à la conformité. Un simple filtrage fondé sur les rôles des utilisateurs suffit rarement à gérer les autorisations complexes, basées sur les relations, qu’on retrouve dans les applications concrètes.Qu’est-ce que l’autorisation pour la RAG?
Auth0 Fine-Grained Authorization (FGA) met en œuvre le contrôle d’accès basé sur les relations (ReBAC) dans vos pipelines RAG en dissociant votre logique d’autorisation du code de votre application. Plutôt que d’intégrer des règles d’autorisation complexes directement dans votre application, vous définissez un modèle d’autorisation et stockez les données relationnelles dans Auth0 FGA. Votre application peut ensuite interroger Auth0 FGA lors de l’exécution pour prendre des décisions d’accès en temps réel.Fonctionnement
L’intégration d’Auth0 FGA dans votre pipeline RAG garantit que chaque document est vérifié en fonction des autorisations de l’utilisateur avant d’être transmis au LLM.

Autorisation pour RAG
1
Modèle d’autorisation
Vous commencez par définir votre modèle d’autorisation dans Auth0 FGA. Ce modèle
précise les types d’objets (p. ex.,
document), les relations possibles
entre les utilisateurs et les objets (p. ex., owner, editor, viewer)
ainsi que les règles qui régissent l’accès.2
Stocker les relations
Vous stockez les autorisations sous forme de « tuples » dans Auth0 FGA. Le tuple est l’élément
de données fondamental : il représente une relation précise au format
(user, relation, object). Par exemple, user:anne est un viewer de
document:2024-financials.3
Récupérer et filtrer
Lorsqu’un utilisateur soumet une requête à votre agent d’IA, votre système côté serveur récupère d’abord
les documents pertinents dans une base de données vectorielle, puis appelle Auth0 FGA pour vérifier
les autorisations. Cet appel pose la question : « Cet utilisateur a-t-il le droit de consulter ces
documents? » Nos SDK pour cadres d’applications d’IA s’occupent de cette étape pour vous : il suffit
d’ajouter un filtre à votre outil de récupération.
4
Récupération sécurisée
Auth0 FGA détermine si l’utilisateur est autorisé à accéder aux documents. Le
système côté serveur de votre application utilise ces données pour filtrer les résultats de la base de données
vectorielle et n’envoie au LLM que les documents autorisés.