Autenticación de agentes
Autenticación de agentes
Descubre cómo proteger el acceso a tus agentes conversacionales
Descripción general
Al crear agentes conversacionales, puede que necesites restringir el acceso a determinados agentes o conversaciones. ElevenLabs ofrece varios mecanismos de autenticación para garantizar que solo usuarios autorizados puedan interactuar con tus agentes.
Métodos de autenticación
ElevenLabs ofrece dos métodos principales para proteger tus agentes conversacionales:
Uso de URL firmadas
Las URL firmadas son el enfoque recomendado para aplicaciones del lado del cliente. Este método te permite autenticar usuarios sin exponer tu clave de API.
Las siguientes guías usan el cliente de JS y el SDK de Python.
Cómo funcionan las URL firmadas
- Tu servidor solicita una URL firmada a ElevenLabs mediante tu clave de API.
- ElevenLabs genera un token temporal y devuelve una URL de WebSocket firmada.
- Tu aplicación cliente usa esta URL firmada para establecer una conexión WebSocket.
- La URL firmada caduca después de 15 minutos.
Generar una URL firmada mediante la API
Para obtener una URL firmada, realiza una solicitud al endpoint get_signed_url con el ID de tu agente:
La respuesta de curl tiene el siguiente formato:
Conectarte a tu agente mediante una URL firmada
Recupera del cliente la URL firmada generada por el servidor y úsala para conectarte al websocket.
Caducidad de las URL firmadas
Las URL firmadas son válidas durante 15 minutos. La sesión de conversación puede durar más, pero debes iniciar la conversación dentro de ese plazo de 15 minutos.
Uso de listas de permitidos
Las listas de permitidos permiten restringir el acceso a tus agentes conversacionales según el dominio de origen. Esto garantiza que solo las solicitudes procedentes de dominios aprobados puedan conectarse a tu agente.
Cómo funcionan las listas de permitidos
- Configuras una lista de nombres de host aprobados para tu agente.
- Cuando un cliente intenta conectarse, ElevenLabs comprueba si el origen de la solicitud coincide con un nombre de host permitido.
- Si el origen está en la lista de permitidos, se permite la conexión; de lo contrario, se rechaza.
Configurar listas de permitidos
Las listas de permitidos se configuran como parte de los ajustes de autenticación de tu agente. Puedes especificar hasta 10 nombres de host únicos autorizados para conectarse a tu agente.
Ejemplo: configurar una lista de permitidos
Configurar desde el panel
Configurar mediante la CLI
Configurar mediante la API
Abre tu agente en el panel y ve a la pestaña Seguridad. Añade cada nombre de host aprobado (por ejemplo, example.com, app.example.com, localhost:3000) a la lista de permitidos.
Elegir un método de autenticación
Configura un método de autenticación por agente:
- Usa URL firmadas (
enable_auth) para sesiones autenticadas del cliente. - Usa listas de permitidos (
allowlist) para controlar el acceso según el nombre de host.
No configures URL firmadas y listas de permitidos a la vez para el mismo agente. Elige el método que se ajuste a tu modelo de implementación.
Ejemplo: solo URL firmadas
Usa enable_auth sin una allowlist:
Ejemplo: solo lista de permitidos
Usa allowlist sin habilitar las URL firmadas:
Preguntas frecuentes
¿Puedo usar la misma URL firmada para varios usuarios?
Es posible, pero recomendamos generar una nueva URL firmada para cada sesión de usuario.
¿Qué ocurre si la URL firmada caduca durante una conversación?
Si la URL firmada caduca (después de 15 minutos), cualquier conexión WebSocket creada con esa URL no se cerrará, pero no podrás crear una nueva conexión con esa URL firmada.
¿Puedo restringir el acceso a usuarios específicos?
El mecanismo de URL firmadas solo verifica que la solicitud provenga de una fuente autorizada. Para restringir el acceso a usuarios específicos, implementa autenticación de usuarios en tu aplicación antes de solicitar la URL firmada.
¿Hay un límite en el número de URL firmadas que puedo generar?
No hay un límite específico en el número de URL firmadas que puedes generar.
¿Cómo gestionan las listas de permitidos los subdominios?
Las listas de permitidos realizan una coincidencia exacta de los nombres de host. Si quieres permitir tanto un dominio como sus subdominios, debes añadir cada uno por separado (por ejemplo, “example.com” y “app.example.com”).
¿Tengo que usar ambos métodos de autenticación?
No. Configura URL firmadas o una lista de permitidos para cada agente. Para aplicaciones del lado del cliente, las URL firmadas son la opción predeterminada recomendada.
¿Qué otras medidas de seguridad debo implementar?
Además de las URL firmadas y las listas de permitidos, considera implementar:
- Autenticación de usuarios antes de solicitar URL firmadas
- Limitación de velocidad en las solicitudes a la API
- Monitorización del uso para detectar patrones sospechosos
- Gestión adecuada de errores de autenticación