Agenten-Authentifizierung
Agenten-Authentifizierung
Übersicht
Beim Erstellen von Conversational Agents müssen Sie möglicherweise den Zugriff auf bestimmte Agents oder Unterhaltungen beschränken. ElevenLabs bietet mehrere Authentifizierungsmechanismen, damit nur autorisierte Nutzer mit Ihren Agents interagieren können.
Authentifizierungsmethoden
ElevenLabs bietet zwei primäre Methoden zum Absichern Ihrer Conversational Agents:
Signierte URLs verwenden
Signierte URLs sind der empfohlene Ansatz für clientseitige Anwendungen. Mit dieser Methode können Sie Nutzer authentifizieren, ohne Ihren API-Schlüssel offenzulegen.
In den folgenden Anleitungen werden der JS-Client und das Python SDK verwendet.
So funktionieren signierte URLs
- Ihr Server fordert mit Ihrem API-Schlüssel eine signierte URL von ElevenLabs an.
- ElevenLabs generiert ein temporäres Token und gibt eine signierte WebSocket-URL zurück.
- Ihre Client-Anwendung verwendet diese signierte URL, um eine WebSocket-Verbindung herzustellen.
- Die signierte URL läuft nach 15 Minuten ab.
Eine signierte URL über die API generieren
Um eine signierte URL zu erhalten, senden Sie eine Anfrage an den get_signed_url-Endpunkt mit Ihrer Agent-ID:
Die curl-Antwort hat folgendes Format:
Mit einer signierten URL eine Verbindung zu Ihrem Agent herstellen
Rufen Sie die vom Server generierte signierte URL im Client ab und verwenden Sie sie, um eine Verbindung zum WebSocket herzustellen.
Ablauf signierter URLs
Signierte URLs sind 15 Minuten lang gültig. Die Unterhaltungssitzung kann länger dauern, aber die Unterhaltung muss innerhalb des 15-Minuten-Fensters gestartet werden.
Zulassungslisten verwenden
Zulassungslisten ermöglichen es, den Zugriff auf Ihre Conversational Agents anhand der Ursprungsdomain zu beschränken. So können sich nur Anfragen von genehmigten Domains mit Ihrem Agent verbinden.
So funktionieren Zulassungslisten
- Sie konfigurieren eine Liste genehmigter Hostnamen für Ihren Agent.
- Wenn ein Client versucht, eine Verbindung herzustellen, prüft ElevenLabs, ob der Ursprung der Anfrage mit einem zugelassenen Hostnamen übereinstimmt.
- Wenn sich der Ursprung auf der Zulassungsliste befindet, wird die Verbindung erlaubt, andernfalls abgelehnt.
Zulassungslisten konfigurieren
Zulassungslisten werden als Teil der Authentifizierungseinstellungen Ihres Agent konfiguriert. Sie können bis zu 10 eindeutige Hostnamen angeben, die sich mit Ihrem Agent verbinden dürfen.
Beispiel: Eine Zulassungsliste einrichten
Über das Dashboard konfigurieren
Über die CLI konfigurieren
Über die API konfigurieren
Öffnen Sie Ihren Agent im Dashboard und wechseln Sie zum Tab Sicherheit. Fügen Sie jeden genehmigten Hostnamen (z. B. example.com, app.example.com, localhost:3000) zur Zulassungsliste hinzu.
Eine Authentifizierungsmethode wählen
Konfigurieren Sie pro Agent eine Authentifizierungsmethode:
- Verwenden Sie signierte URLs (
enable_auth) für authentifizierte Client-Sitzungen. - Verwenden Sie Zulassungslisten (
allowlist) für die zugriffssteuerung nach Hostnamen.
Konfigurieren Sie signierte URLs und Zulassungslisten nicht gemeinsam für denselben Agent. Wählen Sie die Methode, die zu Ihrem Bereitstellungsmodell passt.
Beispiel: Nur signierte URLs
Verwenden Sie enable_auth ohne allowlist:
Beispiel: Nur Zulassungsliste
Verwenden Sie allowlist, ohne signierte URLs zu aktivieren:
FAQ
Kann ich dieselbe signierte URL für mehrere Nutzer verwenden?
Das ist möglich, wir empfehlen jedoch, für jede Nutzersitzung eine neue signierte URL zu generieren.
Was passiert, wenn die signierte URL während einer Unterhaltung abläuft?
Wenn die signierte URL abläuft (nach 15 Minuten), wird eine mit dieser signierten URL erstellte WebSocket-Verbindung nicht geschlossen. Der Versuch, mit dieser signierten URL eine neue Verbindung zu erstellen, schlägt jedoch fehl.
Kann ich den Zugriff auf bestimmte Nutzer beschränken?
Der Mechanismus für signierte URLs prüft nur, ob die Anfrage aus einer autorisierten Quelle stammt. Um den Zugriff auf bestimmte Nutzer zu beschränken, implementieren Sie die Nutzerauthentifizierung in Ihrer Anwendung, bevor Sie die signierte URL anfordern.
Gibt es ein Limit für die Anzahl signierter URLs, die ich generieren kann?
Für die Anzahl signierter URLs, die Sie generieren können, gibt es kein spezifisches Limit.
Wie behandeln Zulassungslisten Subdomains?
Zulassungslisten führen einen exakten Abgleich von Hostnamen durch. Wenn Sie sowohl eine Domain als auch ihre Subdomains zulassen möchten, müssen Sie jede einzeln hinzufügen (z. B. “example.com” und “app.example.com”).
Muss ich beide Authentifizierungsmethoden verwenden?
Nein. Konfigurieren Sie für jeden Agent entweder signierte URLs oder eine Zulassungsliste. Für clientseitige Anwendungen sind signierte URLs die empfohlene Standardeinstellung.
Welche weiteren Sicherheitsmaßnahmen sollte ich implementieren?
Erwägen Sie zusätzlich zu signierten URLs und Zulassungslisten folgende Maßnahmen:
- Nutzerauthentifizierung vor dem Anfordern signierter URLs
- Ratenbegrenzung für API-Anfragen
- Nutzungsüberwachung auf verdächtige Muster
- Korrekte Fehlerbehandlung bei Authentifizierungsfehlern