Zum Inhalt springen

Governte Daten für Claude

Auf diesem Weg kann Claude Code Fragen zu Ihren Google-Drive- oder S3-Inhalten stellen, ohne Olivares in ein AI-Gateway zu verwandeln. Die Kontrollebene zieht die Inhalte in eine governte Knowledge Base, zeichnet die Herkunft pro Dokument auf und stellt über MCP nur die Retrieval-Tools bereit:

StandardBedeutung
Semantische KBembed_policy=model_backed; vor der Ingestion muss /status den Wert retrieval_semantic=true anzeigen.
Sichtbarer FallbackIst kein semantischer Embedder konfiguriert, verweigert die KB das Erstellen/die Ingestion, statt Local-Hash-Vektoren fälschlich als semantisch darzustellen.
ACL-bewusster GuardDer anfragende Agent muss einer gebundenen Identität mit ausreichender attr_clearance und passenden Gruppen-ACLs zugeordnet werden können.
Source-ScopeBinden Sie die KB an den Claude-Code-Agenten; Subjects außerhalb des Scopes werden fail-closed abgewiesen.
Ehrlicher Live-ModusEine Antwort eines Live-Connectors trägt source_mode=live; statische Exporte bleiben source_mode=export und werden niemals als live dargestellt.

Bewahren Sie die Zugangsdaten der Live-Quelle im Runtime-Secret-Store auf. Die Source-Konfiguration referenziert sie als store:<name>, niemals inline.

Terminal-Fenster
olivares secrets put \
--data-dir /var/lib/olivares \
--name s3/prod-runbooks-read \
--value-file /run/secrets/s3-prod-runbooks-read

Speichern Sie für Google Drive das OAuth-Bearer-/Refresh-Material, das Ihr Deployment für den read-only Drive-Zugriff verwendet, unter einem anderen Secret-Namen.

Für S3:

Terminal-Fenster
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

Verwenden Sie für Google Drive --source gdrive --drive-id <shared-drive-id> und eine Referenz auf die Drive-Zugangsdaten.

Der Befehl schreibt:

DateiZweck
sources.jsonRegistriert die Inhaltsquelle unter documents[] mit mode=live.
agent-gateway.jsonAktiviert den MCP-Ressourcenserver mit retrieval.enabled=true.
bootstrap-after-login.shErstellt die semantische KB, nimmt die Live-Quelle auf, bindet den Agenten und fügt die Source-Scope-Bindung hinzu.

Warnt der Befehl vor retrieval_semantic=false, konfigurieren Sie zuerst OLIVARES_EMBEDDINGS_*. Eine modellgestützte KB verweigert die Ingestion mit nur dem Local-Hash-Fallback absichtlich.

Terminal-Fenster
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

Schließen Sie bei einer frischen Installation die erstmalige Einrichtung in der Konsole ab. Führen Sie dann das Bootstrap-Skript mit einem Admin-Token aus:

Terminal-Fenster
OLIVARES_TOKEN=<admin-token> \
OLIVARES_TENANT=ten_... \
/var/lib/olivares/quickstart/governed-rag/bootstrap-after-login.sh

Der Retrieval-Guard liest Identitätsfakten aus dem Roster-/SCIM-Graphen. Die gebundene Identität muss vorhanden sein, bevor Claude Code eingeschränkte Inhalte abrufen kann:

IdentitätsfaktBeispiel
Subject des Agent-Tokens / agent_refclaude-code-governed
Gebundene NHI-Identitätagent:claude-code-governed
Clearance-Metadatenattr_clearance=confidential oder höher
Gruppenmitgliedschaftgroup:engineering, passend zur Dokument-ACL

Hat der Agent keine Identität, keine Clearance oder keine passende Gruppe, werden eingeschränkte Chunks nicht zurückgegeben. Ist der Agent nicht per Source-Scope an die KB gebunden, schlägt der MCP-Retrieval-Aufruf fail-closed fehl.

Konfigurieren Sie Claude Code mit der vom Quickstart ausgegebenen URL der geschützten Ressource, üblicherweise:

http://127.0.0.1:8446/mcp

Das Zugriffstoken für diesen MCP-Ressourcenserver muss Folgendes enthalten:

Claim/ControlErforderlicher Wert
issDer mit --mcp-issuer konfigurierte Aussteller.
subDie externe ID des Agenten, beispielsweise claude-code-governed.
Scopeknowledge:retrieval:read.
Audience/RessourceDie in agent-gateway.json konfigurierte MCP-Ressourcen-URL.

Führen Sie die Referenz-E2E-Demo aus:

Terminal-Fenster
task demo:governed-rag

Sie prüft den semantischen Status, die Herkunft aus der Live-Quelle, einen erlaubten Abruf innerhalb des Scopes, einen nicht erfolgten Abruf bei geringer Clearance, eine Ablehnung außerhalb des Scopes sowie source_mode=live im MCP-Ergebnis.

Prüfen Sie bei bestehenden Deployments außerdem ein echtes Dokument:

Terminal-Fenster
curl -sk "$OLIVARES_BASE_URL/v1/m/knowledge/kbs/$KB_ID/documents" \
-H "Authorization: Bearer $OLIVARES_TOKEN" \
-H "X-Olivares-Tenant: $OLIVARES_TENANT"

Jedes live aufgenommene Dokument sollte source_mode: "live" anzeigen. Steht dort export, wurde die KB aus einer Exportdatei aufgenommen und muss den Operatoren entsprechend beschrieben werden.