Secret Vault
Secret Vault
Stockez vos clés API de fournisseurs AI et vos tokens de services tiers (ex. SendGrid, Telegram, SMTP) dans votre propre AWS Lambda au lieu de la base de données d'AiTalk. Lorsqu'il est activé, les clés et tokens sont récupérés directement depuis votre Lambda au moment de l'exécution — rien n'est stocké sur nos serveurs.
Fonctionnement
Mode normal :
Serveur AiTalk ──(clé API depuis la BDD)──→ OpenAI / Claude / etc.
Mode Secret Vault :
Serveur AiTalk ──(demande la clé)──→ Votre AWS Lambda ──(renvoie la clé)──→ AiTalk l'utilise une fois
puis la supprime de la mémoire
Avec Secret Vault activé :
- Vos clés API de fournisseurs AI et tokens de services tiers (SendGrid, Telegram, SMTP, etc.) sont stockés uniquement dans les variables d'environnement de votre AWS Lambda
- AiTalk les récupère au moment de l'exécution, les utilise pour l'appel API, puis les supprime
- Si votre Lambda est inaccessible, les appels API échoueront — il n'y a aucun repli sur la base de données (par conception)
- Les connexions OAuth (ex. Google Drive) utilisent toujours la base de données (le renouvellement automatique des tokens est nécessaire)
Prérequis
- Un compte AWS (l'offre gratuite suffit)
- Connaissance de base de la console AWS
Coût : AWS Lambda inclut 1 million de requêtes gratuites par mois (offre gratuite permanente). Pour la plupart des utilisateurs, Secret Vault coûte 0 $/mois.
Guide d'installation
Étape 1 : Créer une fonction AWS Lambda
- Connectez-vous à la console AWS Lambda
- Cliquez sur Créer une fonction
- Choisissez Créer à partir de zéro
- Paramètres :
- Nom de la fonction :
aitalk-secret-vault(ou tout autre nom de votre choix) - Runtime : Node.js 20.x
- Architecture : x86_64
- Nom de la fonction :
- Cliquez sur Créer une fonction
Étape 2 : Déployer le code template
- Dans AiTalk, allez dans Paramètres > Sécurité
- Cliquez sur Télécharger le template Lambda pour obtenir le fichier
secret-vault-lambda.js - Dans la console AWS Lambda, allez dans l'onglet Code
- Remplacez le code par défaut par le contenu du template téléchargé
- Cliquez sur Deploy
Étape 3 : Activer l'URL de fonction
- Allez dans l'onglet Configuration → URL de fonction
- Cliquez sur Créer une URL de fonction
- Type d'authentification : NONE (l'authentification est gérée par le token Bearer)
- Cliquez sur Enregistrer
Important : Avertissement « Permissions manquantes »
Après l'enregistrement, vous pouvez voir un avertissement : « Your function URL auth type is NONE, but is missing permissions required for public access. »
Pour résoudre ce problème :
- Cliquez sur Edit sur la page URL de fonction
- Faites défiler jusqu'à View policy statement — vérifiez que la politique inclut à la fois
lambda:InvokeFunctionUrletlambda:InvokeFunctionavecPrincipal: "*"- Cliquez à nouveau sur Save
- L'avertissement devrait changer en : « Your function URL is public. Anyone with the URL can access your function. »
C'est normal — la sécurité est gérée par le token Bearer dans le code Lambda, pas par AWS IAM.
- Copiez l'URL de fonction générée (ex.
https://xxxxxxxxxx.lambda-url.eu-west-1.on.aws/)
Étape 4 : Ajouter vos secrets comme variables d'environnement
- Allez dans l'onglet Configuration → Variables d'environnement
- Cliquez sur Modifier
- Ajoutez vos secrets en utilisant les noms de clés exacts indiqués dans le tableau Référence des clés Vault dans les paramètres AiTalk :
| Nom de la clé | Valeur | Description |
|---|---|---|
AUTH_TOKEN | (généré à l'étape 5) | Token d'authentification |
ai_provider_openai_api_key | sk-xxxxxxxx... | Clé API OpenAI |
ai_provider_anthropic_api_key | sk-ant-xxxxxxxx... | Clé API Claude |
ai_provider_google_api_key | AIzaxxxxxxxx... | Clé API Gemini |
wf_conn_{connectionId}_token | (votre token) | Tokens de connexion Workflow |
bot_channel_{channelId}_token | (votre token) | Tokens de canal Bot |
Les noms de clés exacts pour vos connexions workflow et canaux bot sont listés dans Paramètres > Sécurité > Référence des clés Vault.
- Cliquez sur Enregistrer
Étape 5 : Connecter AiTalk à votre Lambda
- Dans AiTalk, allez dans Paramètres > Sécurité
- Collez l'URL de fonction Lambda
- Cliquez sur Générer un nouveau token — copiez le token
- Retournez dans les variables d'environnement Lambda et définissez
AUTH_TOKENavec ce token - Cliquez sur Tester la connexion pour vérifier
- Cliquez sur Enregistrer et activer
Référence des clés Vault
Les noms de clés utilisés dans les variables d'environnement de votre Lambda doivent correspondre exactement. Vous pouvez trouver tous les noms de clés dans Paramètres > Sécurité > Référence des clés Vault.
Clés des fournisseurs AI
| Fournisseur | Nom de la clé |
|---|---|
| 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 |
Tokens de connexion Workflow
Format : wf_conn_{connectionId}_token
Exemples :
wf_conn_cm1abc123def_token(connexion Telegram)wf_conn_cm2xyz789ghi_token(connexion SendGrid)
Tokens de canal Bot
Format : bot_channel_{channelId}_token
Pour les bots Slack, deux clés sont nécessaires :
bot_channel_{channelId}_slack_bot_tokenbot_channel_{channelId}_slack_signing_secret
Désactiver Secret Vault
- Allez dans Paramètres > Sécurité
- Cliquez sur Désactiver
- AiTalk utilisera à nouveau les clés chiffrées stockées dans la base de données
Vos clés stockées dans la base de données ne sont jamais supprimées lorsque le Vault est activé, vous pouvez donc revenir en arrière à tout moment.
Dépannage
| Problème | Solution |
|---|---|
| « Échec de connexion » lors du test | Vérifiez que l'URL de fonction Lambda est correcte et que la fonction est déployée |
| Erreur « Unauthorized » | Vérifiez que le AUTH_TOKEN dans votre Lambda correspond au token dans AiTalk |
| Erreur « Clé non trouvée » | Vérifiez que le nom de la clé dans les variables d'environnement Lambda correspond exactement (sensible à la casse) |
| Le chat AI ne fonctionne pas après activation | Assurez-vous que toutes les variables d'environnement des clés API requises sont définies dans Lambda |
| Le workflow échoue après activation | Vérifiez que tous les tokens de connexion workflow ont été ajoutés à Lambda |
Notes de sécurité
- Le token Bearer authentifie les requêtes entre AiTalk et votre Lambda
- Seul votre compte AWS peut accéder aux variables d'environnement Lambda
- AiTalk ne stocke, n'enregistre ni ne met en cache les secrets récupérés depuis votre Lambda
- Pour une sécurité maximale, restreignez l'accès Lambda avec les politiques AWS IAM