> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Autorisation pour la RAG

> Appliquez un contrôle d'accès granulaire au niveau des documents dans vos pipelines RAG avec Auth0 FGA, afin que les agents d’IA ne récupèrent que les données que l’utilisateur actuel est autorisé à consulter.

[Autorisation pour la RAG avec Auth0 FGA](https://play.vidyard.com/TCAzaPdj4SEp9yXTbgPP1W.html)

## 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)](https://auth0.com/fine-grained-authorization) 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](https://mintlify.s3.us-west-1.amazonaws.com/auth0/docs/images/ai/how_it_works_with_rag_diagram_light.png)

Le flux Auth0 FGA comporte les étapes suivantes :

**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.

## Premiers pas

Pour commencer à utiliser Auth0 FGA dans vos agents d’IA, consultez les ressources suivantes :

### Guides de démarrage rapide

> **[Autorisation pour la RAG](/ai/docs/fr-ca/get-started/authorization-for-rag)**

> **[Premiers pas avec Auth0 FGA](https://docs.fga.dev/getting-started)**

### Exemples d'applications

> **[Assistant0 : Next.js + Vercel AI SDK](https://github.com/auth0-samples/auth0-assistant0/tree/main/ts-vercel-ai)**

> **[Assistant0 : Next.js + LangGraph](https://github.com/auth0-samples/auth0-assistant0/tree/main/ts-langchain)**

> **[Assistant0 : FastAPI + LangGraph](https://github.com/auth0-samples/auth0-assistant0/tree/main/py-langchain)**

> **[Assistant0 : Next.js + LlamaIndex](https://github.com/auth0-samples/auth0-assistant0/tree/main/ts-llamaindex)**

> **[Assistant0 : FastAPI + LlamaIndex](https://github.com/auth0-samples/auth0-assistant0/tree/main/py-llamaindex)**

> **[SmartHR Assistant : Next.js + LangChain](https://github.com/auth0-samples/auth0-ai-smart-hr-assistant)**

> **[Exemples d'IA : plusieurs cadres d'applications](https://github.com/auth0-samples/auth0-ai-samples/tree/main/authorization-for-rag)**

> **[Exemples TypeScript du SDK Auth0 AI](https://github.com/auth0/auth0-ai-js/tree/main/examples/authorization-for-rag)**

> **[Exemples Python du SDK Auth0 AI](https://github.com/auth0/auth0-ai-python/tree/main/examples/authorization-for-rag)**

### Apprendre davantage

> **[Documentation d'Auth0 FGA](https://docs.fga.dev/)**

> **[Documentation d'OpenFGA](https://openfga.dev/)**
