Uwierzytelnianie
Dwa poświadczenia — klucz API dla maszyn, sesja dla konsoli — oraz zasady, które je rozdzielają.
Dwa rodzaje poświadczeń
API przyjmuje klucz API. Konsola przyjmuje plik cookie sesji. Nie są wymienne, a API tego pilnuje, zamiast decydować przy każdym żądaniu, czy plik cookie miał się tam znaleźć.
Żądanie uwierzytelnione plikiem cookie sesji otrzymuje 403 api_key_required z komunikatem wskazującym stronę kluczy w konsoli. Jest to celowe: skoro nie ma ścieżki do API uwierzytelnianej plikiem cookie, żądanie cross-site nie ma czego podrobić.
Nagłówek
Wyślij klucz jako token bearer. Klucz to prefiks, kropka i sekret; prefiks identyfikuje wiersz, więc unieważnienie jest natychmiastowe i kosztuje jedno wyszukanie.
curl https://api.llmeu.com/v1/chat/completions \
-H "Authorization: Bearer llmeu_live_xxxxxxxx.your-secret" \
-H "Content-Type: application/json" \
-d '{"model":"llmeu-auto","messages":[{"role":"user","content":"Hello"}]}'
Zakresy
Klucz zawiera jeden lub więcej zakresów. Żądanie, którego klucz nie ma zakresu wymaganego przez punkt końcowy, zostaje odrzucone z 403 insufficient_scope, zanim treść zostanie przeanalizowana.
| Zakres | Odblokowuje |
|---|---|
| inference | Uzupełnianie czatu, osadzenia oraz punkty końcowe listy i szczegółów modeli. |
| platform_read | Odczyt Twojej organizacji: profil, klucze, użycie, ślady i polityki. |
| platform_write | Tworzenie i unieważnianie kluczy oraz tworzenie lub edycja polityk. To zakres, który zmienia, kto może co robić, więc nadawaj go rozważnie. |
Zakresy są sprawdzane dla każdego punktu końcowego, a nie dla klucza. Klucz z platform_read nie może wydawać środków przez playground.
Tworzenie klucza
W konsoli lub przez API platformy za pomocą klucza, który już ma platform_write. Sekret jest wyświetlany jednorazowo przy utworzeniu: przechowywany jest tylko hash scrypt, więc nikt — łącznie z nami — nie może go odczytać.
curl -X POST https://api.llmeu.com/platform/v1/api-keys \
-H "Authorization: Bearer llmeu_live_xxxxxxxx.a-platform-write-key" \
-H "Content-Type: application/json" \
-d '{"name":"ci","scopes":["inference"]}'
Czynności administracyjne w konsoli — polityki, zespół, ustawienia, środki, unieważnianie kluczy — są dostępne tylko dla właściciela lub administratora, niezależnie od zakresów klucza.
Unieważnianie i czym klucz nie jest
Klucz należy do organizacji, a organizacja jest ustalana na podstawie samego klucza — nigdy na podstawie pola w treści żądania, więc wywołujący nie może zaadresować innego dzierżawcy, prosząc grzecznie. Unieważnienie działa od następnego żądania. Rotacja oznacza utworzenie drugiego klucza, przeniesienie ruchu, a następnie unieważnienie pierwszego; nie ma okna nakładania się do skonfigurowania.
Dla konsoli
Logowanie, odzyskiwanie hasła i weryfikacja adresu są opisane w dokumentacji konsoli. Nie ma OAuth, SAML ani osobistego tokenu dostępu: konsola używa pliku cookie sesji, API używa kluczy.