Autenticazione dell'agente
Panoramica
Quando crei agenti conversazionali, potresti dover limitare l’accesso a determinati agenti o conversazioni. ElevenLabs offre diversi meccanismi di autenticazione per garantire che solo gli utenti autorizzati possano interagire con i tuoi agenti.
Metodi di autenticazione
ElevenLabs offre due metodi principali per proteggere i tuoi agenti conversazionali:
Utilizzare gli URL firmati
Gli URL firmati sono l’approccio consigliato per le applicazioni client. Questo metodo ti permette di autenticare gli utenti senza esporre la tua chiave API.
Le guide seguenti usano il client JS e l’ SDK Python.
Come funzionano gli URL firmati
- Il tuo server richiede un URL firmato a ElevenLabs usando la tua chiave API.
- ElevenLabs genera un token temporaneo e restituisce un URL WebSocket firmato.
- La tua applicazione client usa questo URL firmato per stabilire una connessione WebSocket.
- L’URL firmato scade dopo 15 minuti.
Generare un URL firmato tramite l’API
Per ottenere un URL firmato, invia una richiesta all’endpoint get_signed_url con l’ID del tuo agente:
La risposta curl ha il seguente formato:
Connessione al tuo agente tramite un URL firmato
Recupera dal server l’URL firmato generato e usalo nel client per connetterti al websocket.
Scadenza dell’URL firmato
Gli URL firmati sono validi per 15 minuti. La sessione di conversazione può durare più a lungo, ma la conversazione deve essere avviata entro 15 minuti.
Utilizzare le liste di autorizzazione
Le liste di autorizzazione ti consentono di limitare l’accesso ai tuoi agenti conversazionali in base al dominio di origine. In questo modo, solo le richieste provenienti da domini approvati possono connettersi al tuo agente.
Come funzionano le liste di autorizzazione
- Configuri un elenco di hostname approvati per il tuo agente.
- Quando un client tenta di connettersi, ElevenLabs verifica se l’origine della richiesta corrisponde a un hostname consentito.
- Se l’origine è nella lista di autorizzazione, la connessione è consentita; altrimenti, viene rifiutata.
Configurare le liste di autorizzazione
Le liste di autorizzazione vengono configurate nelle impostazioni di autenticazione del tuo agente. Puoi specificare fino a 10 hostname univoci autorizzati a connettersi al tuo agente.
Esempio: configurare una lista di autorizzazione
Configura dal dashboard
Configura tramite CLI
Configura tramite API
Apri il tuo agente nel dashboard e vai alla scheda Sicurezza. Aggiungi ogni hostname approvato (ad esempio, example.com, app.example.com, localhost:3000) alla lista di autorizzazione.
Scegliere un metodo di autenticazione
Configura un metodo di autenticazione per agente:
- Usa gli URL firmati (
enable_auth) per le sessioni client autenticate. - Usa le liste di autorizzazione (
allowlist) per il controllo degli accessi basato sugli hostname.
Non configurare URL firmati e liste di autorizzazione insieme sullo stesso agente. Scegli il metodo più adatto al tuo modello di deployment.
Esempio: solo URL firmati
Usa enable_auth senza una allowlist:
Esempio: solo lista di autorizzazione
Usa allowlist senza abilitare gli URL firmati:
Domande frequenti
Posso usare lo stesso URL firmato per più utenti?
È possibile, ma ti consigliamo di generare un nuovo URL firmato per ogni sessione utente.
Cosa succede se l'URL firmato scade durante una conversazione?
Se l’URL firmato scade (dopo 15 minuti), le connessioni WebSocket create con quell’URL firmato non verranno chiuse, ma la creazione di una nuova connessione con tale URL firmato non riuscirà.
Posso limitare l'accesso a utenti specifici?
Il meccanismo degli URL firmati verifica soltanto che la richiesta provenga da una fonte autorizzata. Per limitare l’accesso a utenti specifici, implementa l’autenticazione utente nella tua applicazione prima di richiedere l’URL firmato.
Esiste un limite al numero di URL firmati che posso generare?
Non esiste un limite specifico al numero di URL firmati che puoi generare.
Come gestiscono le liste di autorizzazione i sottodomini?
Le liste di autorizzazione eseguono una corrispondenza esatta degli hostname. Se vuoi consentire sia un dominio sia i suoi sottodomini, devi aggiungerli separatamente (ad esempio, “example.com” e “app.example.com”).
Devo usare entrambi i metodi di autenticazione?
No. Configura URL firmati o una lista di autorizzazione per ciascun agente. Per le applicazioni client, gli URL firmati sono l’impostazione predefinita consigliata.
Quali altre misure di sicurezza dovrei implementare?
Oltre agli URL firmati e alle liste di autorizzazione, valuta di implementare:
- Autenticazione utente prima di richiedere URL firmati
- Rate limiting sulle richieste API
- Monitoraggio dell’utilizzo per rilevare schemi sospetti
- Gestione corretta degli errori di autenticazione