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:

Standard Bedeutung
Semantische KB embed_policy=model_backed; vor der Ingestion muss /status den Wert retrieval_semantic=true anzeigen.
Sichtbarer Fallback Ist kein semantischer Embedder konfiguriert, verweigert die KB das Erstellen/die Ingestion, statt Local-Hash-Vektoren fälschlich als semantisch darzustellen.
ACL-bewusster Guard Der anfragende Agent muss einer gebundenen Identität mit ausreichender attr_clearance und passenden Gruppen-ACLs zugeordnet werden können.
Source-Scope Binden Sie die KB an den Claude-Code-Agenten; Subjects außerhalb des Scopes werden fail-closed abgewiesen.
Ehrlicher Live-Modus Eine 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 \
--actor platform-operator \
--reason governed-rag-source-credential

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:

Datei Zweck
sources.json Registriert die Inhaltsquelle unter documents[] mit mode=live.
agent-gateway.json Aktiviert den MCP-Ressourcenserver mit retrieval.enabled=true.
bootstrap-after-login.sh Erstellt 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.

Bei einer frischen Installation sind knowledge und sourcescope deaktiviert. Aktivieren Sie knowledge und sourcescope als Administrator unter Settings > Edition & modules und lassen Sie die anderen ausgewählten Module an. Für die CLI melden Sie sich zuerst mit olivares login als Administrator bei dieser Engine an und führen dann olivares modules on knowledge und olivares modules on sourcescope aus. Warten Sie vor dem Fortfahren auf jeden Neustart der Engine; laufende Sessions werden gestoppt und können fortgesetzt werden. Andernfalls geben diese API-Aufrufe 404 module_not_enabled zurück.

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ätsfakt Beispiel
Subject des Agent-Tokens / agent_ref claude-code-governed
Gebundene NHI-Identität agent:claude-code-governed
Clearance-Metadaten attr_clearance=confidential oder höher
Gruppenmitgliedschaft group: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/Control Erforderlicher Wert
iss Der mit --mcp-issuer konfigurierte Aussteller.
sub Die externe ID des Agenten, beispielsweise claude-code-governed.
Scope knowledge:retrieval:read.
Audience/Ressource Die 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.