Secret Vault
Secret Vault
Speichern Sie Ihre AI-Provider-API-Schlüssel und Drittanbieter-Service-Tokens (z.B. SendGrid, Telegram, SMTP) in Ihrer eigenen AWS Lambda anstatt in der AiTalk-Datenbank. Wenn aktiviert, werden Schlüssel und Tokens zur Laufzeit direkt von Ihrer Lambda abgerufen — nichts wird auf unseren Servern gespeichert.
Funktionsweise
Normaler Modus:
AiTalk Server ──(API-Schlüssel aus DB)──→ OpenAI / Claude / etc.
Secret Vault Modus:
AiTalk Server ──(Schlüssel anfordern)──→ Ihre AWS Lambda ──(gibt Schlüssel zurück)──→ AiTalk verwendet ihn einmal
und verwirft ihn aus dem Speicher
Mit aktiviertem Secret Vault:
- Ihre AI-Provider-API-Schlüssel und Drittanbieter-Service-Tokens (SendGrid, Telegram, SMTP usw.) werden ausschliesslich in den Umgebungsvariablen Ihrer AWS Lambda gespeichert
- AiTalk ruft sie zur Laufzeit ab, verwendet sie für den API-Aufruf und verwirft sie danach
- Wenn Ihre Lambda nicht erreichbar ist, schlagen API-Aufrufe fehl — es gibt keinen Fallback auf die Datenbank (beabsichtigt)
- OAuth-Verbindungen (z.B. Google Drive) verwenden immer die Datenbank (automatische Token-Erneuerung erforderlich)
Voraussetzungen
- Ein AWS-Konto (kostenloses Kontingent reicht aus)
- Grundkenntnisse der AWS-Konsole
Kosten: AWS Lambda beinhaltet 1 Million kostenlose Anfragen pro Monat (dauerhaftes kostenloses Kontingent). Für die meisten Benutzer kostet Secret Vault 0 $/Monat.
Einrichtungsanleitung
Schritt 1: AWS Lambda-Funktion erstellen
- Melden Sie sich bei der AWS Lambda-Konsole an
- Klicken Sie auf Funktion erstellen
- Wählen Sie Von Grund auf neu erstellen
- Einstellungen:
- Funktionsname:
aitalk-secret-vault(oder ein beliebiger Name) - Laufzeit: Node.js 20.x
- Architektur: x86_64
- Funktionsname:
- Klicken Sie auf Funktion erstellen
Schritt 2: Template-Code bereitstellen
- Gehen Sie in AiTalk zu Einstellungen > Sicherheit
- Klicken Sie auf Lambda-Template herunterladen, um die Datei
secret-vault-lambda.jszu erhalten - Gehen Sie in der AWS Lambda-Konsole zum Tab Code
- Ersetzen Sie den Standardcode durch den Inhalt der heruntergeladenen Vorlage
- Klicken Sie auf Deploy
Schritt 3: Funktions-URL aktivieren
- Gehen Sie zum Tab Konfiguration → Funktions-URL
- Klicken Sie auf Funktions-URL erstellen
- Auth-Typ: NONE (die Authentifizierung wird über das Bearer-Token gehandhabt)
- Klicken Sie auf Speichern
Wichtig: Warnung „Fehlende Berechtigungen"
Nach dem Speichern kann folgende Warnung erscheinen: „Your function URL auth type is NONE, but is missing permissions required for public access."
So beheben Sie dies:
- Klicken Sie auf Edit auf der Funktions-URL-Seite
- Scrollen Sie nach unten zu View policy statement — überprüfen Sie, dass die Richtlinie sowohl
lambda:InvokeFunctionUrlals auchlambda:InvokeFunctionmitPrincipal: "*"enthält- Klicken Sie erneut auf Save
- Die Warnung sollte sich ändern zu: „Your function URL is public. Anyone with the URL can access your function."
Dies ist beabsichtigt — die Sicherheit wird durch das Bearer-Token im Lambda-Code gewährleistet, nicht durch AWS IAM.
- Kopieren Sie die generierte Funktions-URL (z.B.
https://xxxxxxxxxx.lambda-url.eu-west-1.on.aws/)
Schritt 4: Geheimnisse als Umgebungsvariablen hinzufügen
- Gehen Sie zum Tab Konfiguration → Umgebungsvariablen
- Klicken Sie auf Bearbeiten
- Fügen Sie Ihre Geheimnisse mit den exakten Schlüsselnamen hinzu, die in der Vault-Schlüsselreferenz in den AiTalk-Einstellungen angezeigt werden:
| Schlüsselname | Wert | Beschreibung |
|---|---|---|
AUTH_TOKEN | (wird in Schritt 5 generiert) | Authentifizierungstoken |
ai_provider_openai_api_key | sk-xxxxxxxx... | OpenAI API-Schlüssel |
ai_provider_anthropic_api_key | sk-ant-xxxxxxxx... | Claude API-Schlüssel |
ai_provider_google_api_key | AIzaxxxxxxxx... | Gemini API-Schlüssel |
wf_conn_{connectionId}_token | (Ihr Token) | Workflow-Verbindungstoken |
bot_channel_{channelId}_token | (Ihr Token) | Bot-Kanal-Token |
Die genauen Schlüsselnamen für Ihre Workflow-Verbindungen und Bot-Kanäle finden Sie unter Einstellungen > Sicherheit > Vault-Schlüsselreferenz.
- Klicken Sie auf Speichern
Schritt 5: AiTalk mit Ihrer Lambda verbinden
- Gehen Sie in AiTalk zu Einstellungen > Sicherheit
- Fügen Sie die Lambda-Funktions-URL ein
- Klicken Sie auf Neuen Token generieren — kopieren Sie den Token
- Gehen Sie zurück zu den Lambda-Umgebungsvariablen und setzen Sie
AUTH_TOKENauf diesen Token - Klicken Sie auf Verbindung testen zur Überprüfung
- Klicken Sie auf Speichern & Aktivieren
Vault-Schlüsselreferenz
Die in Ihren Lambda-Umgebungsvariablen verwendeten Schlüsselnamen müssen exakt übereinstimmen. Alle Schlüsselnamen finden Sie unter Einstellungen > Sicherheit > Vault-Schlüsselreferenz.
AI-Provider-Schlüssel
| Provider | Schlüsselname |
|---|---|
| OpenAI | ai_provider_openai_api_key |
| Anthropic (Claude) | ai_provider_anthropic_api_key |
| Google (Gemini) | ai_provider_google_api_key |
| DeepSeek | ai_provider_deepseek_api_key |
| Grok | ai_provider_grok_api_key |
Workflow-Verbindungstoken
Format: wf_conn_{connectionId}_token
Beispiele:
wf_conn_cm1abc123def_token(Telegram-Verbindung)wf_conn_cm2xyz789ghi_token(SendGrid-Verbindung)
Bot-Kanal-Token
Format: bot_channel_{channelId}_token
Für Slack-Bots werden zwei Schlüssel benötigt:
bot_channel_{channelId}_slack_bot_tokenbot_channel_{channelId}_slack_signing_secret
Secret Vault deaktivieren
- Gehen Sie zu Einstellungen > Sicherheit
- Klicken Sie auf Deaktivieren
- AiTalk verwendet wieder die verschlüsselten Schlüssel aus der Datenbank
Ihre in der Datenbank gespeicherten Schlüssel werden beim Aktivieren des Vaults nie gelöscht, sodass Sie jederzeit zurückwechseln können.
Fehlerbehebung
| Problem | Lösung |
|---|---|
| „Verbindung fehlgeschlagen" beim Test | Überprüfen Sie, ob die Lambda-Funktions-URL korrekt ist und die Funktion bereitgestellt wurde |
| „Unauthorized"-Fehler | Stellen Sie sicher, dass der AUTH_TOKEN in Ihrer Lambda mit dem Token in AiTalk übereinstimmt |
| „Schlüssel nicht gefunden"-Fehler | Prüfen Sie, ob der Schlüsselname in den Lambda-Umgebungsvariablen exakt übereinstimmt (Gross-/Kleinschreibung beachten) |
| AI-Chat funktioniert nicht nach Aktivierung | Stellen Sie sicher, dass alle erforderlichen API-Schlüssel in den Lambda-Umgebungsvariablen gesetzt sind |
| Workflow schlägt nach Aktivierung fehl | Überprüfen Sie, ob alle Workflow-Verbindungstoken in Lambda hinzugefügt wurden |
Sicherheitshinweise
- Das Bearer-Token authentifiziert Anfragen zwischen AiTalk und Ihrer Lambda
- Nur Ihr AWS-Konto kann auf die Lambda-Umgebungsvariablen zugreifen
- AiTalk speichert, protokolliert oder cached die von Ihrer Lambda abgerufenen Geheimnisse nie
- Für maximale Sicherheit schränken Sie den Lambda-Zugriff mit AWS IAM-Richtlinien ein