Skrivnosti in okoljske spremenljivke brez lepljenja ključev v klepet
Večina pravih aplikacij potrebuje vsaj eno skrivnost: ključ ponudnika plačil, ključ e-poštne storitve, ključ za AI API. Na Mythexu teh ne lepite v poziv. Ko agent potrebuje ključ, v klepetu prikaže kartico secrets request, vi vnesete vrednost v kartico, ta pa se shrani kot skrivnost projekta, ki jo vaša aplikacija lahko prebere – ključ pri tem ne konča v pogovoru.
Kaj to naredi
Vsak projekt na Mythexu lahko shrani okoljske spremenljivke (environment variables): poimenovane vrednosti, kot je STRIPE_SECRET_KEY, ki jih aplikacija prebere med delovanjem, namesto da bi bile zapisane v kodi. Skrivnosti so okoljske spremenljivke, katerih vrednosti morajo ostati zasebne.
Iste vrednosti so na voljo na dveh mestih:
- Peskovnik, kjer agent gradi in požene vašo aplikacijo, medtem ko delate.
- Vaše objavljene različice, kjer aplikacijo uporabljajo obiskovalci.
Dodate jih lahko na tri načine:
- Kartica zahteve po skrivnosti, ki jo agent prikaže v klepetu, ko potrebuje ključ za dokončanje naloge.
- Nastavitve projekta → Secrets, kjer lahko vrednosti dodate ali uredite kadar koli.
/secretsv klepetu, za dodajanje ali posodabljanje skrivnosti na zahtevo.
Zakaj pomaga
Očitni način, da agentu daste ključ, je, da ga prilepite v sporočilo. To deluje, vendar ključ potem postane del zgodovine klepeta, v čistem besedilu poleg vsega drugega, kar ste napisali.
Kartica za skrivnosti ključ drži zunaj zapisa pogovora. Vrednost vnesete v polja kartice, ne v okno za sporočila, shrani pa se kot skrivnost projekta. Agent nadaljuje, ključ pa je na voljo v peskovniku.
Hranjenje ključev v nastavitvah projekta namesto v kodi ima tudi druge prednosti:
- Ključi ostanejo zunaj nadzora različic. Vaša koda se na ključ sklicuje po imenu, vrednost pa je v nastavitvah projekta.
- Agent in vaša tekoča aplikacija vidita isto konfiguracijo. Ni kopije, ki bi zastarela.
- Ključ lahko zamenjate brez prepisovanja kode. Vrednost spremenite v nastavitvah; koda jo še vedno prebere po imenu.
Če so vam okoljske spremenljivke nove, vam vodnik kaj so okoljske spremenljivke in skrivnosti razloži idejo od začetka.
Kako uporabljati kartico za skrivnosti
- Zahtevajte funkcijo – na primer „pošlji dobrodošlo e-pošto, ko se nekdo prijavi“.
- Ko agent potrebuje ključ, se v klepetu prikaže kartica za zahtevo po skrivnosti s seznamom vrednosti, ki jo potrebuje.
- Vnesite vrednost v polja kartice, ne v okno za sporočila.
- Potrdite. Vrednost se shrani kot skrivnost projekta.
- Agent nadaljuje, ključ pa je na voljo v peskovniku.
Kako sami dodate skrivnosti
- Odprite nastavitve projekta, nato Secrets.
- Dodajte ključe, kot so
STRIPE_SECRET_KEY,OPENAI_API_KEYali poverilnice vaše lastne storitve. - Agenta prosite, naj jih prebere na standarden način za vaše ogrodje – na primer iz
process.envv aplikaciji Node. - Znova objavite, če objavljena aplikacija potrebuje nove vrednosti.
Skrivnost lahko dodate ali posodobite tudi tako, da v klepet vpišete /secrets.
Sprememba skrivnosti na objavljeni aplikaciji
Objavljena aplikacija prevzame skrivnosti ob objavi. Ko dodate ali spremenite eno, znova objavite, da živa različica dobi novo vrednost. Do takrat obiskovalci še vedno uporabljajo aplikacijo s staro konfiguracijo.
Nasveti za varnost
- Skrivnosti nikoli ne shranjujte v repozitorij. Hranite jih v nastavitvah projekta.
- Za privilegirane operacije raje uporabljajte ključe, ki so samo za strežnik. Ključ, ki lahko zaračuna kartice ali pošilja e-pošto, sodi v kodo, ki teče na strežniku, ne v karkoli, kar brskalnik obiskovalca naloži.
- Če se ključ kdaj pojavi v zgodovini klepeta, ga zamenjajte. Ustvarite nov ključ pri ponudniku, stari preklicite in vrednost posodobite v nastavitvah projekta. Vsak ključ, ki je bil prilepljen v klepet, štejte za izpostavljen.
Omejitve
- Kartica pomaga samo, če jo uporabite. Če ključ vseeno prilepite v okno za sporočila, je v zapisu pogovora. Zamenjajte ga pri ponudniku in posodobite shranjeno vrednost.
- Objavljene aplikacije potrebujejo ponovno objavo, da prevzamejo nove ali spremenjene skrivnosti.
- Varno shranjen ključ še ne pomeni, da je vsaka uporaba varna. Pomembno je tudi, kje se ključ uporablja – privilegirane ključe hranite na strežniški strani vaše aplikacije.
Za več o tem, kako pred deljenjem zavarovati aplikacijo, glejte naš varnostni kontrolni seznam za aplikacije, zgrajene z umetno inteligenco.
Dokumentacija ima podrobnosti: Okoljske spremenljivke in skrivnosti in Skrivnosti v klepetu.