Autenticação de agente
Autenticação de agente
Visão geral
Ao criar agentes conversacionais, talvez você precise restringir o acesso a determinados agentes ou conversas. A ElevenLabs oferece vários mecanismos de autenticação para garantir que apenas usuários autorizados possam interagir com seus agentes.
Métodos de autenticação
A ElevenLabs oferece dois métodos principais para proteger seus agentes conversacionais:
Como usar URLs assinadas
URLs assinadas são a abordagem recomendada para aplicações do lado do cliente. Esse método permite autenticar usuários sem expor sua chave de API.
Os guias abaixo usam o cliente JS e o SDK Python.
Como as URLs assinadas funcionam
- Seu servidor solicita uma URL assinada à ElevenLabs usando sua chave de API.
- A ElevenLabs gera um token temporário e retorna uma URL WebSocket assinada.
- Sua aplicação cliente usa essa URL assinada para estabelecer uma conexão WebSocket.
- A URL assinada expira após 15 minutos.
Gerar uma URL assinada pela API
Para obter uma URL assinada, faça uma solicitação ao endpoint get_signed_url com o ID do seu agente:
A resposta do curl tem o seguinte formato:
Como se conectar ao seu agente usando uma URL assinada
Recupere do cliente a URL assinada gerada pelo servidor e use-a para se conectar ao WebSocket.
Expiração da URL assinada
As URLs assinadas são válidas por 15 minutos. A sessão de conversa pode durar mais, mas a conversa precisa ser iniciada dentro desse período de 15 minutos.
Como usar listas de permissão
As listas de permissão permitem restringir o acesso aos seus agentes conversacionais com base no domínio de origem. Isso garante que apenas solicitações de domínios aprovados possam se conectar ao seu agente.
Como as listas de permissão funcionam
- Você configura uma lista de nomes de host aprovados para seu agente.
- Quando um cliente tenta se conectar, a ElevenLabs verifica se a origem da solicitação corresponde a um nome de host permitido.
- Se a origem estiver na lista de permissão, a conexão será permitida; caso contrário, será recusada.
Como configurar listas de permissão
As listas de permissão são configuradas como parte das configurações de autenticação do seu agente. Você pode especificar até 10 nomes de host únicos autorizados a se conectar ao seu agente.
Exemplo: configurar uma lista de permissão
Configurar pelo dashboard
Configurar pela CLI
Configurar pela API
Abra seu agente no dashboard e vá até a aba Segurança. Adicione cada nome de host aprovado (por exemplo, example.com, app.example.com, localhost:3000) à lista de permissão.
Como escolher um método de autenticação
Configure um método de autenticação por agente:
- Use URLs assinadas (
enable_auth) para sessões autenticadas do cliente. - Use listas de permissão (
allowlist) para controle de acesso baseado em nome de host.
Não configure URLs assinadas e listas de permissão juntas no mesmo agente. Escolha o método que corresponde ao seu modelo de implantação.
Exemplo: somente URLs assinadas
Use enable_auth sem uma allowlist:
Exemplo: somente lista de permissão
Use allowlist sem habilitar URLs assinadas:
Perguntas frequentes
Posso usar a mesma URL assinada para vários usuários?
Isso é possível, mas recomendamos gerar uma nova URL assinada para cada sessão de usuário.
O que acontece se a URL assinada expirar durante uma conversa?
Se a URL assinada expirar (após 15 minutos), qualquer conexão WebSocket criada com essa URL não será fechada, mas tentar criar uma nova conexão com essa URL assinada falhará.
Posso restringir o acesso a usuários específicos?
O mecanismo de URL assinada verifica apenas se a solicitação veio de uma fonte autorizada. Para restringir o acesso a usuários específicos, implemente a autenticação de usuários na sua aplicação antes de solicitar a URL assinada.
Há um limite de URLs assinadas que posso gerar?
Não há um limite específico para o número de URLs assinadas que você pode gerar.
Como as listas de permissão lidam com subdomínios?
As listas de permissão fazem correspondência exata dos nomes de host. Se você quiser permitir um domínio e seus subdomínios, precisará adicionar cada um separadamente (por exemplo, “example.com” e “app.example.com”).
Preciso usar os dois métodos de autenticação?
Não. Configure URLs assinadas ou uma lista de permissão para cada agente. Para aplicações do lado do cliente, URLs assinadas são a opção padrão recomendada.
Que outras medidas de segurança devo implementar?
Além de URLs assinadas e listas de permissão, considere implementar:
- Autenticação de usuários antes de solicitar URLs assinadas
- Limitação de taxa em solicitações de API
- Monitoramento de uso para identificar padrões suspeitos
- Tratamento adequado de erros de autenticação