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. |
1. Zugangsdaten der Quelle speichern
Abschnitt betitelt „1. Zugangsdaten der Quelle speichern“Bewahren Sie die Zugangsdaten der Live-Quelle im Runtime-Secret-Store auf. Die
Source-Konfiguration referenziert sie als store:<name>, niemals inline.
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-credentialSpeichern 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.
2. Governte RAG-Konfiguration generieren
Abschnitt betitelt „2. Governte RAG-Konfiguration generieren“Für S3:
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.jsonVerwenden 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.
3. Mit der generierten Konfiguration starten
Abschnitt betitelt „3. Mit der generierten Konfiguration starten“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/olivaresSchließ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:
OLIVARES_TOKEN=<admin-token> \OLIVARES_TENANT=ten_... \/var/lib/olivares/quickstart/governed-rag/bootstrap-after-login.sh4. Identitätsvoraussetzung
Abschnitt betitelt „4. Identitätsvoraussetzung“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.
5. Claude Code auf MCP verweisen
Abschnitt betitelt „5. Claude Code auf MCP verweisen“Konfigurieren Sie Claude Code mit der vom Quickstart ausgegebenen URL der geschützten Ressource, üblicherweise:
http://127.0.0.1:8446/mcpDas 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. |
6. Verifizieren
Abschnitt betitelt „6. Verifizieren“Führen Sie die Referenz-E2E-Demo aus:
task demo:governed-ragSie 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:
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.