Avtentikacija
Dve poverilnici — API ključ za stroje, seja za konzolo — in pravila, ki ju ločujejo.
Dve vrsti poverilnic
API sprejema API ključ. Konzola sprejema sejni piškotek. Nista zamenljiva in API to uveljavlja, namesto da bi se za vsako zahtevo posebej odločal, ali naj bi bil piškotek prisoten.
Zahteva, avtenticirana s sejnim piškotkom, prejme 403 api_key_required, s sporočilom, ki kaže na stran s ključi v konzoli. To je namerno: ker ni poti v API, avtenticirane s piškotkom, medspletna zahteva nima česa ponarediti.
Zaglavje
Ključ pošljite kot žeton Bearer. Ključ je predpona, pika in skrivnost; predpona identificira vrstico, zato je preklic takojšen in stane eno iskanje.
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"}]}'
Obsegi
Ključ nosi enega ali več obsegov. Zahteva, pri kateri ključu manjka obseg, ki ga končna točka zahteva, je zavrnjena s 403 insufficient_scope, preden se telo razčleni.
| Obseg | Omogoča |
|---|---|
| inference | Dokončanja klepeta, vdelave ter končne točke za seznam in podrobnosti modelov. |
| platform_read | Branje vaše organizacije: profil, ključi, uporaba, sledi in politike. |
| platform_write | Ustvarjanje in preklic ključev ter ustvarjanje ali urejanje politik. To je obseg, ki spreminja, kdo sme kaj početi, zato ga ustvarite premišljeno. |
Obsegi se preverjajo po posamezni končni točki, ne po ključu. Ključ z platform_read ne more porabljati kredita prek igralnice.
Ustvarjanje ključa
V konzoli ali prek API-ja platforme s ključem, ki že nosi platform_write. Skrivnost se pokaže enkrat, ob ustvarjanju: shranjena je le zgoščena vrednost scrypt, zato je nihče — tudi mi ne — ne more prebrati nazaj.
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"]}'
Administrativna dejanja v konzoli — politike, ekipa, nastavitve, kredit, preklic ključev — so na voljo le lastniku ali skrbniku, ne glede na obsege, ki jih ključ nosi.
Preklic in kaj ključ ni
Ključ pripada organizaciji in organizacija se razreši iz ključa samega — nikoli iz polja v telesu zahteve, zato se klicatelj ne more obrniti na drugega najemnika tako, da vljudno vpraša. Preklic se uveljavi ob naslednji zahtevi. Rotacija pomeni ustvarjanje drugega ključa, preusmeritev prometa in nato preklic prvega; ni okna prekrivanja, ki bi ga bilo mogoče nastaviti.
Za konzolo namesto tega
Prijava, obnovitev gesla in preverjanje naslova so dokumentirani pri konzoli. Ni OAuth, ni SAML in ni osebnega žetona za dostop: konzola uporablja sejni piškotek, API pa ključe.