Agentauthenticatie
Overzicht
Bij het bouwen van conversationele agents wil je mogelijk de toegang tot bepaalde agents of gesprekken beperken. ElevenLabs biedt meerdere authenticatiemechanismen om ervoor te zorgen dat alleen geautoriseerde gebruikers met je agents kunnen communiceren.
Authenticatiemethoden
ElevenLabs biedt twee primaire methoden om je conversationele agents te beveiligen:
Ondertekende URL’s gebruiken
Ondertekende URL’s zijn de aanbevolen aanpak voor client-sideapplicaties. Met deze methode kun je gebruikers authenticeren zonder je API-sleutel bloot te geven.
In de onderstaande handleidingen worden de JS-client en Python SDK gebruikt.
Hoe ondertekende URL’s werken
- Je server vraagt met je API-sleutel een ondertekende URL aan bij ElevenLabs.
- ElevenLabs genereert een tijdelijk token en retourneert een ondertekende WebSocket-URL.
- Je clientapplicatie gebruikt deze ondertekende URL om een WebSocket-verbinding tot stand te brengen.
- De ondertekende URL verloopt na 15 minuten.
Een ondertekende URL genereren via de API
Vraag een ondertekende URL aan via het get_signed_url-endpoint met je agent-ID:
De curl-response heeft de volgende indeling:
Verbinding maken met je agent via een ondertekende URL
Haal de door de server gegenereerde ondertekende URL op in de client en gebruik die om verbinding te maken met de websocket.
Verloop van ondertekende URL’s
Ondertekende URL’s zijn 15 minuten geldig. De gesprekssessie kan langer duren, maar het gesprek moet binnen het venster van 15 minuten worden gestart.
Allowlists gebruiken
Allowlists bieden een manier om de toegang tot je conversationele agents te beperken op basis van het brondomein. Zo kunnen alleen requests van goedgekeurde domeinen verbinding maken met je agent.
Hoe allowlists werken
- Je configureert een lijst met goedgekeurde hostnames voor je agent.
- Wanneer een client verbinding probeert te maken, controleert ElevenLabs of de oorsprong van de request overeenkomt met een toegestane hostname.
- Als de oorsprong in de allowlist staat, wordt de verbinding toegestaan; anders wordt deze geweigerd.
Allowlists configureren
Allowlists worden geconfigureerd als onderdeel van de authenticatie-instellingen van je agent. Je kunt maximaal 10 unieke hostnames opgeven die verbinding mogen maken met je agent.
Voorbeeld: een allowlist instellen
Configureren via het dashboard
Configureren via de CLI
Configureren via de API
Open je agent in het dashboard en ga naar het tabblad Beveiliging. Voeg elke goedgekeurde hostname (bijvoorbeeld example.com, app.example.com, localhost:3000) toe aan de allowlist.
Een authenticatiemethode kiezen
Configureer één authenticatiemethode per agent:
- Gebruik ondertekende URL’s (
enable_auth) voor geauthenticeerde clientsessies. - Gebruik allowlists (
allowlist) voor toegangsbeheer op basis van hostnames.
Configureer niet zowel ondertekende URL’s als allowlists voor dezelfde agent. Kies de methode die bij je implementatiemodel past.
Voorbeeld: alleen ondertekende URL’s
Gebruik enable_auth zonder een allowlist:
Voorbeeld: alleen allowlist
Gebruik allowlist zonder ondertekende URL’s in te schakelen:
Veelgestelde vragen
Kan ik dezelfde ondertekende URL voor meerdere gebruikers gebruiken?
Dit is mogelijk, maar we raden aan om voor elke gebruikerssessie een nieuwe ondertekende URL te genereren.
Wat gebeurt er als de ondertekende URL tijdens een gesprek verloopt?
Als de ondertekende URL verloopt (na 15 minuten), wordt een WebSocket-verbinding die met die ondertekende URL is gemaakt niet gesloten, maar het maken van een nieuwe verbinding met die ondertekende URL mislukt.
Kan ik toegang beperken tot specifieke gebruikers?
Het mechanisme voor ondertekende URL’s controleert alleen of de request van een geautoriseerde bron afkomstig is. Om toegang tot specifieke gebruikers te beperken, implementeer je gebruikersauthenticatie in je applicatie voordat je de ondertekende URL aanvraagt.
Is er een limiet aan het aantal ondertekende URL's dat ik kan genereren?
Er is geen specifieke limiet voor het aantal ondertekende URL’s dat je kunt genereren.
Hoe gaan allowlists om met subdomeinen?
Allowlists voeren exacte matching uit op hostnames. Als je zowel een domein als de bijbehorende subdomeinen wilt toestaan, moet je elk domein afzonderlijk toevoegen (bijvoorbeeld “example.com” en “app.example.com”).
Moet ik beide authenticatiemethoden gebruiken?
Nee. Configureer voor elke agent óf ondertekende URL’s óf een allowlist. Voor client-side- applicaties zijn ondertekende URL’s de aanbevolen standaardoptie.
Welke andere beveiligingsmaatregelen moet ik implementeren?
Overweeg naast ondertekende URL’s en allowlists ook het volgende te implementeren:
- Gebruikersauthenticatie voordat je ondertekende URL’s aanvraagt
- Rate limiting voor API-requests
- Gebruiksmonitoring voor verdachte patronen
- Goede foutafhandeling voor authenticatiefouten