Secret Vault

Secret Vault

Almacene sus claves API de proveedores AI y tokens de servicios de terceros (ej. SendGrid, Telegram, SMTP) en su propia AWS Lambda en lugar de la base de datos de AiTalk. Cuando está activado, las claves y tokens se obtienen directamente de su Lambda en tiempo de ejecución — nada se almacena en nuestros servidores.


Cómo funciona

Modo normal:
  Servidor AiTalk ──(clave API desde BD)──→ OpenAI / Claude / etc.

Modo Secret Vault:
  Servidor AiTalk ──(solicita clave)──→ Su AWS Lambda ──(devuelve clave)──→ AiTalk la usa una vez
                                                                            y la descarta de la memoria

Con Secret Vault activado:

  • Sus claves API de proveedores AI y tokens de servicios de terceros (SendGrid, Telegram, SMTP, etc.) se almacenan exclusivamente en las variables de entorno de su AWS Lambda

  • AiTalk las obtiene en tiempo de ejecución, las usa para la llamada API y luego las descarta

  • Si su Lambda no está accesible, las llamadas API fallarán — no hay respaldo en la base de datos (por diseño)

  • Las conexiones OAuth (ej. Google Drive) siempre usan la base de datos (se requiere renovación automática de tokens)


Requisitos previos

  • Una cuenta de AWS (el nivel gratuito es suficiente)

  • Familiaridad básica con la consola de AWS

Costo: AWS Lambda incluye 1 millón de solicitudes gratuitas por mes (nivel gratuito permanente). Para la mayoría de usuarios, Secret Vault cuesta $0/mes.


Guía de configuración

Paso 1: Crear una función AWS Lambda

  1. Haga clic en Crear función

  2. Elija Crear desde cero

  3. Configuración:

    • Nombre de la función: aitalk-secret-vault (o cualquier nombre que prefiera)

    • Runtime: Node.js 20.x

    • Arquitectura: x86_64

  4. Haga clic en Crear función

Paso 2: Desplegar el código de plantilla

  1. En AiTalk, vaya a Configuración > Seguridad

  2. Haga clic en Descargar plantilla Lambda para obtener el archivo secret-vault-lambda.js

  3. En la consola de AWS Lambda, vaya a la pestaña Código

  4. Reemplace el código predeterminado con el contenido de la plantilla descargada

  5. Haga clic en Deploy

Paso 3: Habilitar la URL de función

  1. Vaya a la pestaña Configuración → URL de función

  2. Haga clic en Crear URL de función

  3. Tipo de autenticación: NONE (la autenticación se maneja mediante el token Bearer)

  4. Haga clic en Guardar

Importante: Advertencia de "Permisos faltantes"

Después de guardar, puede ver una advertencia: "Your function URL auth type is NONE, but is missing permissions required for public access."

Para solucionarlo:

  1. Haga clic en Edit en la página de URL de función

  2. Desplácese hacia abajo hasta View policy statement — verifique que la política incluya tanto lambda:InvokeFunctionUrl como lambda:InvokeFunction con Principal: "*"

  3. Haga clic en Save nuevamente

  4. La advertencia debería cambiar a: "Your function URL is public. Anyone with the URL can access your function."

Esto es esperado — la seguridad se maneja mediante el token Bearer en el código Lambda, no por AWS IAM.

  1. Copie la URL de función generada (ej. https://xxxxxxxxxx.lambda-url.eu-west-1.on.aws/)

Paso 4: Agregar sus secretos como variables de entorno

  1. Vaya a la pestaña Configuración → Variables de entorno

  2. Haga clic en Editar

  3. Agregue sus secretos usando los nombres de clave exactos que se muestran en la tabla Referencia de claves Vault en la configuración de AiTalk:

Nombre de clave
Valor
Descripción

AUTH_TOKEN

(generado en el Paso 5)

Token de autenticación

ai_provider_openai_api_key

sk-xxxxxxxx...

Clave API de OpenAI

ai_provider_anthropic_api_key

sk-ant-xxxxxxxx...

Clave API de Claude

ai_provider_google_api_key

AIzaxxxxxxxx...

Clave API de Gemini

wf_conn_{connectionId}_token

(su token)

Tokens de conexión de Workflow

bot_channel_{channelId}_token

(su token)

Tokens de canal de Bot

Los nombres exactos de las claves para sus conexiones de workflow y canales de bot se encuentran en Configuración > Seguridad > Referencia de claves Vault.

  1. Haga clic en Guardar

Paso 5: Conectar AiTalk a su Lambda

  1. En AiTalk, vaya a Configuración > Seguridad

  2. Pegue la URL de función Lambda

  3. Haga clic en Generar nuevo token — copie el token

  4. Regrese a las variables de entorno de Lambda y establezca AUTH_TOKEN con este token

  5. Haga clic en Probar conexión para verificar

  6. Haga clic en Guardar y activar


Referencia de claves Vault

Los nombres de clave usados en las variables de entorno de su Lambda deben coincidir exactamente. Puede encontrar todos los nombres de clave en Configuración > Seguridad > Referencia de claves Vault.

Claves de proveedores AI

Proveedor
Nombre de clave

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 conexión de Workflow

Formato: wf_conn_{connectionId}_token

Ejemplos:

  • wf_conn_cm1abc123def_token (conexión Telegram)

  • wf_conn_cm2xyz789ghi_token (conexión SendGrid)

Tokens de canal de Bot

Formato: bot_channel_{channelId}_token

Para bots de Slack, se necesitan dos claves:

  • bot_channel_{channelId}_slack_bot_token

  • bot_channel_{channelId}_slack_signing_secret


Desactivar Secret Vault

  1. Vaya a Configuración > Seguridad

  2. Haga clic en Desactivar

  3. AiTalk volverá a usar las claves cifradas almacenadas en la base de datos

Sus claves almacenadas en la base de datos nunca se eliminan cuando el Vault está activado, por lo que puede volver atrás en cualquier momento.


Solución de problemas

Problema
Solución

"Conexión fallida" en la prueba

Verifique que la URL de función Lambda sea correcta y la función esté desplegada

Error "Unauthorized"

Verifique que el AUTH_TOKEN en su Lambda coincida con el token en AiTalk

Error "Clave no encontrada"

Verifique que el nombre de la clave en las variables de entorno Lambda coincida exactamente (distingue mayúsculas y minúsculas)

El chat AI no funciona después de activar

Asegúrese de que todas las variables de entorno de claves API requeridas estén configuradas en Lambda

El workflow falla después de activar

Verifique que todos los tokens de conexión de workflow estén agregados en Lambda


Notas de seguridad

  • El token Bearer autentica las solicitudes entre AiTalk y su Lambda

  • Solo su cuenta de AWS puede acceder a las variables de entorno de Lambda

  • AiTalk nunca almacena, registra ni almacena en caché los secretos obtenidos de su Lambda

  • Para máxima seguridad, restrinja el acceso a Lambda usando políticas de AWS IAM

Last updated