Aller au contenu

Données gouvernées pour Claude

Cette procédure permet à Claude Code d’interroger vos contenus Google Drive ou S3 sans transformer Olivares en passerelle d’IA. Le plan de contrôle importe les contenus dans une base de connaissances gouvernée, enregistre la provenance de chaque document et n’expose via MCP que les outils de récupération :

Comportement par défaut Signification
Base de connaissances sémantique embed_policy=model_backed ; avant l’ingestion, /status doit afficher retrieval_semantic=true.
Repli explicite Si aucun modèle d’embedding sémantique n’est configuré, la création ou l’ingestion de la base de connaissances est refusée au lieu de prétendre que les vecteurs de hachage locaux sont sémantiques.
Garde tenant compte des ACL L’agent demandeur doit être associé à une identité liée possédant un attr_clearance suffisant et des ACL de groupe correspondantes.
Périmètre de la source Liez la base de connaissances à l’agent Claude Code ; pour les sujets hors périmètre, la vérification échoue en mode fermé.
Mode live fidèle La réponse d’un connecteur live contient source_mode=live ; les exports statiques restent marqués source_mode=export et ne sont jamais présentés comme live.

Conservez le credential de la source live dans le magasin de secrets du runtime. La configuration de la source y fera référence sous la forme store:<name>, jamais en ligne.

Fenêtre de terminal
olivares secrets put \
--data-dir /var/lib/olivares \
--name s3/prod-runbooks-read \
--value-file /run/secrets/s3-prod-runbooks-read \
--actor platform-operator \
--reason governed-rag-source-credential

Pour Google Drive, stockez les éléments OAuth bearer/refresh qu’utilise votre déploiement pour accéder à Drive en lecture seule, sous un autre nom de secret.

Pour S3 :

Fenêtre de terminal
olivares quickstart governed-rag \
--data-dir /var/lib/olivares \
--tenant-id ten_... \
--source s3 \
--source-name prod-runbooks-live \
--bucket prod-runbooks \
--prefix claude/ \
--credential-ref store:s3/prod-runbooks-read \
--mcp-issuer https://idp.example.com/ \
--mcp-jwks-url https://idp.example.com/.well-known/jwks.json

Pour Google Drive, utilisez --source gdrive --drive-id <shared-drive-id> et une référence de credential Drive.

La commande crée :

Fichier Rôle
sources.json Enregistre la source de contenu sous documents[] avec mode=live.
agent-gateway.json Active le serveur de ressources MCP avec retrieval.enabled=true.
bootstrap-after-login.sh Crée la base de connaissances sémantique, ingère la source live, lie l’agent et ajoute la liaison au périmètre de la source.

Si la commande avertit que retrieval_semantic=false, configurez d’abord OLIVARES_EMBEDDINGS_*. Une base de connaissances adossée à un modèle refuse intentionnellement l’ingestion si seul le repli par hachage local est disponible.

Fenêtre de terminal
OLIVARES_SOURCES_CONFIG=/var/lib/olivares/quickstart/governed-rag/sources.json \
OLIVARES_AGENT_GATEWAY_CONFIG=/var/lib/olivares/quickstart/governed-rag/agent-gateway.json \
olivares quickstart --data-dir /var/lib/olivares

S’il s’agit d’une nouvelle installation, terminez la configuration initiale dans la console.

Sur une nouvelle installation, knowledge et sourcescope sont désactivés. En tant qu’administrateur, activez knowledge et sourcescope dans Settings > Edition & modules, en conservant les autres modules sélectionnés. Pour la CLI, connectez-vous d’abord à ce moteur en tant qu’administrateur avec olivares login, puis exécutez olivares modules on knowledge et olivares modules on sourcescope. Attendez chaque redémarrage du moteur avant de continuer ; les sessions en cours s’arrêtent et peuvent être reprises. Sinon, ces appels API renvoient 404 module_not_enabled.

Exécutez ensuite le script de bootstrap avec un token d’administration :

Fenêtre de terminal
OLIVARES_TOKEN=<admin-token> \
OLIVARES_TENANT=ten_... \
/var/lib/olivares/quickstart/governed-rag/bootstrap-after-login.sh

La garde de récupération lit les attributs d’identité dans le graphe roster/SCIM. L’identité liée doit exister avant que Claude Code puisse récupérer du contenu restreint :

Attribut d’identité Exemple
Sujet du token de l’agent / agent_ref claude-code-governed
Identité NHI liée agent:claude-code-governed
Métadonnée de niveau d’habilitation attr_clearance=confidential ou supérieur
Appartenance à un groupe group:engineering correspondant à l’ACL du document

Si l’agent n’a pas d’identité, pas de niveau d’habilitation ou pas de groupe correspondant, les fragments restreints ne sont pas renvoyés. Si l’agent n’est pas lié à la base de connaissances par le périmètre de la source, l’appel de récupération MCP échoue en mode fermé.

Configurez Claude Code avec l’URL de la ressource protégée affichée par le quickstart, généralement :

http://127.0.0.1:8446/mcp

Le token d’accès présenté à ce serveur de ressources MCP doit comporter :

Claim/contrôle Valeur requise
iss L’émetteur configuré par --mcp-issuer.
sub L’identifiant externe de l’agent, par exemple claude-code-governed.
Scope knowledge:retrieval:read.
Audience/ressource L’URL de la ressource MCP configurée dans agent-gateway.json.

Exécutez la démo E2E de référence :

Fenêtre de terminal
task demo:governed-rag

Elle vérifie le statut sémantique, la provenance de la source live, une récupération autorisée et conforme au périmètre, la non-récupération avec un faible niveau d’habilitation, un refus hors périmètre et la présence de source_mode=live dans le résultat MCP.

Pour un déploiement existant, vérifiez aussi un document réel :

Fenêtre de terminal
curl -sk "$OLIVARES_BASE_URL/v1/m/knowledge/kbs/$KB_ID/documents" \
-H "Authorization: Bearer $OLIVARES_TOKEN" \
-H "X-Olivares-Tenant: $OLIVARES_TENANT"

Chaque document ingéré depuis une source live doit afficher source_mode: "live". S’il affiche export, la base de connaissances a été alimentée depuis un fichier d’export et doit être présentée comme telle aux opérateurs.