Uwierzytelnianie agenta
Dowiedz się, jak zabezpieczyć dostęp do agentów konwersacyjnych
Omówienie
Podczas tworzenia agentów konwersacyjnych możesz chcieć ograniczyć dostęp do niektórych agentów lub rozmów. ElevenLabs oferuje kilka mechanizmów uwierzytelniania, które zapewniają, że z twoimi agentami wchodzą w interakcję tylko uprawnieni użytkownicy.
Metody uwierzytelniania
ElevenLabs oferuje dwie główne metody zabezpieczania agentów konwersacyjnych:
Korzystanie z podpisanych adresów URL
Podpisane adresy URL to zalecane rozwiązanie dla aplikacji po stronie klienta. Ta metoda pozwala uwierzytelniać użytkowników bez ujawniania klucza API.
Poniższe przewodniki korzystają z klienta JS i Python SDK.
Jak działają podpisane adresy URL
- Twój serwer żąda podpisanego adresu URL od ElevenLabs, używając klucza API.
- ElevenLabs generuje tymczasowy token i zwraca podpisany adres WebSocket URL.
- Twoja aplikacja kliencka używa tego podpisanego adresu URL, aby nawiązać połączenie WebSocket.
- Podpisany adres URL wygasa po 15 minutach.
Generowanie podpisanego adresu URL przez API
Aby uzyskać podpisany adres URL, wyślij żądanie do endpointu get_signed_url z identyfikatorem agenta:
Odpowiedź curl ma następujący format:
Łączenie z agentem za pomocą podpisanego adresu URL
Pobierz z serwera wygenerowany podpisany adres URL w kliencie i użyj go, aby połączyć się z WebSocketem.
Wygasanie podpisanego adresu URL
Podpisane adresy URL są ważne przez 15 minut. Sesja rozmowy może trwać dłużej, ale musi zostać rozpoczęta w ciągu tych 15 minut.
Korzystanie z list dozwolonych
Listy dozwolonych pozwalają ograniczyć dostęp do agentów konwersacyjnych na podstawie domeny źródłowej. Dzięki temu z agentem mogą łączyć się tylko żądania z zatwierdzonych domen.
Jak działają listy dozwolonych
- Konfigurujesz listę zatwierdzonych nazw hostów dla swojego agenta.
- Gdy klient próbuje się połączyć, ElevenLabs sprawdza, czy źródło żądania odpowiada dozwolonej nazwie hosta.
- Jeśli źródło jest na liście dozwolonych, połączenie jest dozwolone; w przeciwnym razie zostaje odrzucone.
Konfigurowanie list dozwolonych
Listy dozwolonych konfigurujesz w ustawieniach uwierzytelniania agenta. Możesz podać maksymalnie 10 unikalnych nazw hostów, które mogą łączyć się z agentem.
Przykład: konfiguracja listy dozwolonych
Konfiguracja w panelu
Konfiguracja przez CLI
Konfiguracja przez API
Otwórz agenta w panelu i przejdź do karty Zabezpieczenia. Dodaj każdą zatwierdzoną nazwę hosta (np. example.com, app.example.com, localhost:3000) do listy dozwolonych.
Wybór metody uwierzytelniania
Skonfiguruj jedną metodę uwierzytelniania na agenta:
- Użyj podpisanych adresów URL (
enable_auth) dla uwierzytelnionych sesji klienta. - Użyj list dozwolonych (
allowlist) do kontroli dostępu na podstawie nazwy hosta.
Nie konfiguruj jednocześnie podpisanych adresów URL i list dozwolonych dla tego samego agenta. Wybierz metodę pasującą do twojego modelu wdrożenia.
Przykład: tylko podpisane adresy URL
Użyj enable_auth bez allowlist:
Przykład: tylko lista dozwolonych
Użyj allowlist bez włączania podpisanych adresów URL:
FAQ
Czy mogę użyć tego samego podpisanego adresu URL dla wielu użytkowników?
Jest to możliwe, ale zalecamy wygenerowanie nowego podpisanego adresu URL dla każdej sesji użytkownika.
Co się stanie, jeśli podpisany adres URL wygaśnie w trakcie rozmowy?
Jeśli podpisany adres URL wygaśnie (po 15 minutach), żadne połączenie WebSocket utworzone za pomocą tego podpisanego adresu URL nie zostanie zamknięte, ale próba utworzenia nowego połączenia z tym adresem URL się nie powiedzie.
Czy mogę ograniczyć dostęp do konkretnych użytkowników?
Mechanizm podpisanego adresu URL sprawdza tylko, czy żądanie pochodzi z autoryzowanego źródła. Aby ograniczyć dostęp do konkretnych użytkowników, zaimplementuj uwierzytelnianie użytkowników w aplikacji przed zażądaniem podpisanego adresu URL.
Czy istnieje limit generowanych podpisanych adresów URL?
Nie ma konkretnego limitu liczby podpisanych adresów URL, które możesz wygenerować.
Jak listy dozwolonych obsługują subdomeny?
Listy dozwolonych dokładnie dopasowują nazwy hostów. Jeśli chcesz zezwolić zarówno na domenę, jak i jej subdomeny, musisz dodać każdą z nich osobno (np. „example.com” i „app.example.com”).
Czy muszę używać obu metod uwierzytelniania?
Nie. Dla każdego agenta skonfiguruj podpisane adresy URL albo listę dozwolonych. W przypadku aplikacji po stronie klienta podpisane adresy URL są zalecanym ustawieniem domyślnym.
Jakie inne środki bezpieczeństwa warto wdrożyć?
Oprócz podpisanych adresów URL i list dozwolonych rozważ wdrożenie:
- Uwierzytelniania użytkowników przed zażądaniem podpisanych adresów URL
- Ograniczania liczby żądań API
- Monitorowania użycia pod kątem podejrzanych wzorców
- Właściwej obsługi błędów uwierzytelniania