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 ausschließlich 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

  1. Melden Sie sich bei der AWS Lambda-Konsolearrow-up-right an

  2. Klicken Sie auf Funktion erstellen

  3. Wählen Sie Von Grund auf neu erstellen

  4. Einstellungen:

    • Funktionsname: aitalk-secret-vault (oder ein beliebiger Name)

    • Laufzeit: Node.js 20.x

    • Architektur: x86_64

  5. Klicken Sie auf Funktion erstellen

Schritt 2: Template-Code bereitstellen

  1. Gehen Sie in AiTalk zu Einstellungen > Sicherheit

  2. Klicken Sie auf Lambda-Template herunterladen, um die Datei secret-vault-lambda.js zu erhalten

  3. Gehen Sie in der AWS Lambda-Konsole zum Tab Code

  4. Ersetzen Sie den Standardcode durch den Inhalt der heruntergeladenen Vorlage

  5. Klicken Sie auf Deploy

Schritt 3: Funktions-URL aktivieren

  1. Gehen Sie zum Tab Konfiguration → Funktions-URL

  2. Klicken Sie auf Funktions-URL erstellen

  3. Auth-Typ: NONE (die Authentifizierung wird über das Bearer-Token gehandhabt)

  4. 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:

  1. Klicken Sie auf Edit auf der Funktions-URL-Seite

  2. Scrollen Sie nach unten zu View policy statement — überprüfen Sie, dass die Richtlinie sowohl lambda:InvokeFunctionUrl als auch lambda:InvokeFunction mit Principal: "*" enthält

  3. Klicken Sie erneut auf Save

  4. 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.

  1. Kopieren Sie die generierte Funktions-URL (z.B. https://xxxxxxxxxx.lambda-url.eu-west-1.on.aws/)

Schritt 4: Geheimnisse als Umgebungsvariablen hinzufügen

  1. Gehen Sie zum Tab Konfiguration → Umgebungsvariablen

  2. Klicken Sie auf Bearbeiten

  3. 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.

  1. Klicken Sie auf Speichern

Schritt 5: AiTalk mit Ihrer Lambda verbinden

  1. Gehen Sie in AiTalk zu Einstellungen > Sicherheit

  2. Fügen Sie die Lambda-Funktions-URL ein

  3. Klicken Sie auf Neuen Token generieren — kopieren Sie den Token

  4. Gehen Sie zurück zu den Lambda-Umgebungsvariablen und setzen Sie AUTH_TOKEN auf diesen Token

  5. Klicken Sie auf Verbindung testen zur Überprüfung

  6. 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_token

  • bot_channel_{channelId}_slack_signing_secret


Secret Vault deaktivieren

  1. Gehen Sie zu Einstellungen > Sicherheit

  2. Klicken Sie auf Deaktivieren

  3. 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 (Groß-/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

Last updated