Eigene Zertifikate (CA)
DataVault für interne Unternehmenszertifikate konfigurieren
Diese Anleitung hilft Dir, DataVault in Umgebungen mit SSL-Inspektion oder internen Zertifikaten einzurichten.
Wann Du das brauchst
Viele Unternehmen nutzen interne Zertifizierungsstellen (CA) für:
- SSL-Inspektion: Firewalls entschlüsseln und verschlüsseln HTTPS-Verkehr neu
- Interne Dienste: Selbst gehostete SharePoint-, Confluence- oder andere Dienste verwenden interne Zertifikate
Ohne richtige CA-Konfiguration können SSL-Fehler auftreten bei:
- Download von Embedding-Modellen von Hugging Face
- Dateisynchronisation mit rclone
- Verbindung zu app.meingpt.com
- Zugriff auf interne Datenquellen
Schnelle Einrichtung
Schritt 1: CA-Zertifikat besorgen
Frag Dein IT-Team nach dem CA-Zertifikat Deines Unternehmens. Es sollte im PEM- oder CRT-Format vorliegen:
-----BEGIN CERTIFICATE-----
MIIFuTCCA6GgAwIBAgIU...
-----END CERTIFICATE-----Speicher es als company-ca.pem in Deinem Projektordner.
Schritt 2: Zertifikat einbinden
Füge die Zertifikatsdatei zu Deiner docker-compose.yaml hinzu:
services:
vault:
image: meingpt/vault:latest
volumes:
- ./company-ca.pem:/certs/company-ca.pem:roSchritt 3: Umgebungsvariable setzen
Teil DataVault mit, dass es Dein Zertifikat nutzen soll:
services:
vault:
environment:
- VAULT_CUSTOM_CA_FILE=/certs/company-ca.pemVollständiges Beispiel
services:
vault:
image: meingpt/vault:latest
volumes:
- ./config/app_config.yaml:/app/vault_config.yaml:ro
- ./company-ca.pem:/certs/company-ca.pem:ro
environment:
- VAULT_CONFIG_FILE_PATH=/app/vault_config.yaml
- VAULT_CUSTOM_CA_FILE=/certs/company-ca.pemWende die gleichen Einstellungen auf alle DataVault-Dienste an: vault-search und vault-ingestion.
Wie es funktioniert
Wenn Du VAULT_CUSTOM_CA_FILE setzt, führt der Container automatisch folgendes aus:
- Liest Deine CA-Zertifikatsdatei
- Setzt
SSL_CERT_FILEfür Python SSL und rclone - Setzt
REQUESTS_CA_BUNDLEfür HTTP-Bibliotheken
Dadurch vertrauen alle Netzwerkverbindungen den Zertifikaten Deines Unternehmens.
Überprüfen
Prüf die Container-Logs nach dem Start:
docker logs vault-search | head -n 10Du solltest sehen:
[entrypoint] SSL_CERT_FILE=/certs/company-ca.pem
[entrypoint] REQUESTS_CA_BUNDLE=/certs/company-ca.pemProblembehandlung
"File not found" Warnung
[entrypoint] WARN: VAULT_CUSTOM_CA_FILE is set but file not foundLösung: Überprüfe:
- Die Datei existiert auf Deinem Host
- Der Volume-Mount-Pfad ist korrekt
- Die Datei ist lesbar (kein Verzeichnis)
Weiterhin SSL-Fehler
Deine CA-Datei könnte unvollständig sein. Frag Dein IT-Team nach der vollständigen Zertifikatskette:
- Root-CA-Zertifikat
- Intermediate-CA-Zertifikate (falls vorhanden)
Wenn Du mehrere Zertifikate hast, kannst Du sie zu einer Bundle-Datei zusammenfügen:
cat root-ca.pem intermediate-ca.pem > company-ca.pemZertifikatsverzeichnis verwenden
Wenn Du mehrere CA-Dateien in einem Verzeichnis hast:
environment:
- VAULT_CUSTOM_CA_DIR=/certs/ca-dir
volumes:
- ./ca-certificates:/certs/ca-dir:roErweitert: Manuelle Konfiguration
Für direkte Kontrolle kannst Du diese Variablen selbst setzen:
| Variable | Verwendet von |
|---|---|
SSL_CERT_FILE | Python SSL, rclone, aiohttp |
REQUESTS_CA_BUNDLE | requests |
SSL_CERT_DIR | Go x509 (Verzeichnis mit CA-Dateien) |
Wenn Du diese Variablen manuell setzt, überschreibt VAULT_CUSTOM_CA_FILE sie nicht.