zisky:
- Schopnosť oddeliť autentifikáciu a autorizáciu a použiť minimálnu autorizáciu s RBAC/ABAC
- Schopnosť vyhnúť sa zmiešanému riziku proxy spustením modelu v kontexte používateľa
- Schopnosť ukladať a otáčať API kľúče pomocou tajného systému správy
Značná časť útokov na systém AI nezačína „oklamaním“ modelu, ale ukradnutým kľúčom API alebo nadmerne autorizovaným účtom. Táto vrstva zabezpečenia pochádza z klasickej informačnej bezpečnosti, ale pridáva nové riziká v kontexte AI: model volá jazdu v mene niekoho iného, servisný účet má prístup ku všetkým údajom, kľúč uniká na GitHub. V tejto lekcii sa naučíme, ako zúžiť prístup k systému AI pomocou autentifikácie, autorizácie (RBAC/ABAC), minimálnej autorizácie a správy tajomstiev.
Rozdiel medzi autentifikáciou a autorizáciou
Tieto dva pojmy sa často zamieňajú:
- Autentifikácia: "Kto si?" — preukázanie, že používateľ/služba je skutočne tým, za koho sa vydáva (heslo, token, certifikát, MFA).
- Autorizácia: "Čo môžete urobiť?" — určiť, ku ktorému zdroju/akcii má overená strana prístup.
V systémoch AI je kritická jemnosť: keď model vykonáva prácu v mene používateľa, pracuje s autoritou tohto používateľa alebo so širokým účtom služby? To druhé je nebezpečné – pretože model oklamaný injekciou získa plný prístup k účtu služby.
Upozornenie: Problém „zmätený zástupca“: používateľ s nízkou autoritou nepriamo pristupuje k údajom, ku ktorým nemá prístup, prostredníctvom outsourcingu modelu s vysokou autoritou. Model by mal vždy fungovať v kontexte oprávnenia používateľa, nie jeho vlastnej širokej autority.
RBAC a ABAC
- RBAC (Role-Based Access Control): Prístup závisí od roly používateľa. Rola „špecialista podpory“ môže čítať poznámky zákazníkov, ale nemôže ich vymazať. Jednoduché a bežné.
- ABAC (Attribute-Based Access Control): Prístup závisí od atribútov: oddelenie používateľa, štítok ochrany osobných údajov údajov, čas dňa, sieť, z ktorej žiadosť prichádza. Jemnejšie, ale komplexnejšie.
Väčšina organizácií začína s RBAC a prehĺbi sa na ABAC pre citlivé údaje. Základné pravidlo pre AI: model by mal filtrovať každého agenta, ktorého volá, a všetky údaje, ku ktorým pristupuje, na základe roly/atribútov používateľa, ktorý zadáva požiadavku.
Krok za krokom: Uplatňovanie minimálnej autority
- Vykonajte inventúru. Aké nástroje model volá, k akým údajom pristupuje? Uveďte ich všetky.
- Zdôvodnite každý prístup. "Naozaj potrebuje tento asistent oprávnenie na mazanie?" V opačnom prípade ho odstráňte.
- Predvolená možnosť iba na čítanie. Model by mal byť štandardne schopný čítať; Vyžadovať zápis/vymazanie samostatného tokenu s úzkym rozsahom.
- Presuňte kontext používateľa. Volajte vozidlo s oprávnením používateľa, nie so servisným účtom.
- Krátkodobé poverenie. Namiesto kľúčov s dlhou životnosťou používajte žetóny s krátkou životnosťou, ktoré sa automaticky obnovujú.
Tajný manažment
Tajomstvo sú poverenia, ktoré musia zostať tajné, ako napríklad kľúč API, heslo, token alebo certifikát. Najčastejšou nehodou v projektoch AI je, keď je kľúč API poskytovateľa modelu vložený do kódu a uniká do správy verzií (Git).
Správna aplikácia:
- Nikdy nevkladajte kľúče do kódu; Použite premennú prostredia alebo tajný systém správy (službu, ktorá uchováva šifrované kľúče a riadi prístup).
- Rotácia: Obnovujte kľúče v pravidelných intervaloch (napr. každých 90 dní); Ak máte podozrenie na únik, okamžite zrušte.
- Zníženie rozsahu: Každý prepínač má iba požadovanú službu a požadované oprávnenie.
- Audit: Zaznamenajte, kto, kedy a kde použil kľúč.
Štyri kopírovateľné šablóny
Prístupová výzva na kontrolu kontroly:
Pre každý nástroj v zozname nástrojov nižšie vyhodnoťte:- Je tento nástroj POTREBNÝ na vykonávanie práce tohto asistenta? (áno/nie) - Je to len na čítanie alebo zápis/vymazanie? - Volá sa tento nástroj s oprávnením používateľa alebo kontom služby? Označte nepotrebné alebo nadmerne autorizované ako „ODSTRÁNIŤ/UPRAVIŤ“.<tools>{{ tool_list }}</tools>
Výzva na skenovanie tajných únikov:
V nasledujúcom úryvku kódu nájdite čokoľvek, čo by mohlo byť pevne zakódované tajomstvo: kľúč API, heslo, token, reťazec pripojenia, súkromný kľúč. Pre každý uveďte riadok a typ. KOPÍRUJTE hodnotu do odpovede; maska (prvé 4 znaky + ***).<code>{{ zdroj }}</code>
Pravidlo rozhodovania najmenšej autority:
Keď príde nový nástroj/požiadavka na prístup, opýtajte sa:1. Dá sa úloha vykonať bez tohto prístupu? -> Ak áno: ODMIETNUŤ2. Stačí len na čítanie? -> Ak áno: UDELTE povolenie na zápis3. Dá sa rozsah zúžiť na jeden zdroj? -> Ak áno: daratPredvolená odpoveď je "nie"; Prístup sa získava rozumom.
Pripomenutie rotačného kalendára:
Ku každému tajomstvu zaznamenajte: vlastníka, dátum vytvorenia, expiráciu, rozsah. Nahláste každý kľúč, ktorý presiahol 90 dní alebo sa 30 dní nepoužíval, ako „KANDIDÁT NA OTOČENIE/ZRUŠENIE“.
Slabá výzva / silná výzva
zlý prístup
Silný prístup
Model pristupuje ku všetkým údajom pomocou jediného servisného účtu
Model pristupuje s oprávnením používateľa, ktorý podáva žiadosť
API kľúč je vložený do kódu, nikdy sa nemení
Rotácia v správcovi tajných kľúčov, 90 dní
Široká právomoc asistenta „urobiť čokoľvek“.
Predvolená možnosť iba na čítanie, písať úzko
Prístupy sa nikdy nekontrolujú
Pravidelná kontrola a zrušenie prístupu
Tri mini puzdrá
Prípad 1 – Uniknuté zmiešané proxy údaje. Interný asistent pracoval so servisným účtom, ktorý mal prístup ku všetkým záznamom zamestnancov. Interný používateľ sa dostal k údajom, ktoré by za normálnych okolností nevidel, vyslovením „sumarizujte tabuľku platov vedúcich pracovníkov“; pretože model to spochybnil v kontexte svojej vlastnej širokej autority, nie užívateľa. Akonáhle bol kontext používateľa upravený tak, aby sa mohol presunúť, stážista bol schopný stiahnuť nahrávky, ktoré videl iba on alebo ona.
Prípad 2 – Uniknutý kľúč, účet 190 000 TL za 2 týždne. Vývojár vložil kľúč API modelu do pomocného skriptu a poslal ho do verejného úložiska. Robot našiel kľúč za 40 minút a používal ho dva týždne; Účet dosiahol 190 000 TL. Keď bol kľúč presunutý do tajného manažéra, pripojený k rotácii a bolo pridané skenovanie úložiska, incident sa už neopakoval.
Prípad 3 – Predvolená možnosť len na čítanie zabráni prerušeniu. Asistent DevOps dostal príkaz „resetovať produkčnú databázu“ prostredníctvom rýchlej injekcie. Asistent však dostal len token na čítanie; zápis/vymazanie bolo v samostatnom schválenom toku. Príkaz bol odmietnutý s chybou autorizácie a udalosť bola zaznamenaná ako alarm; Nedošlo k strate údajov.
Tip: Nastavte „nie“ ako predvolenú odpoveď na novú žiadosť o prístup. Prístup je niečo získané ospravedlnením; Dať všetkým široký a potom škrtať sa takmer nikdy nerobí a riziko sa kumuluje.
Časté chyby
- Spustenie modelu s veľkým účtom služby a strata používateľského kontextu (zmiešaný proxy).
- Vloženie kľúča API do kódu a jeho únik do správy verzií.
- Vôbec sa neotáčajú klávesy ("fungujú, nedotýkajte sa").
- V predvolenom nastavení udeľuje asistentovi povolenia na zápis/vymazanie.
- Udelenie prístupu raz a nikdy ho neprehodnotiť.
- Zamieňanie autentizácie s autorizáciou a predpoklad „je prihlásený, má prístup ku všetkému“.
V súhrne
- Autentifikácia je otázkou „kto si“, autorizácia je otázkou „čo dokážeš“; V AI musia obe fungovať v kontexte používateľa.
- Model by mal fungovať s právomocou používateľa, ktorý podáva žiadosť, nie s vlastnou širokou právomocou (aby sa predišlo riziku zmiešanej agentúry).
- Začnite s RBAC, prehĺbte s ABAC na citlivých údajoch; Minimálne oprávnenie nastavte ako predvolené.
- Nepochovávajte tajomstvá v kóde; uložte ho do tajného manažéra, zúžte ho a zaraďte ho do pravidelnej rotácie.
- Predvolené nastavenie len na čítanie a úzky zápis výrazne obmedzujú vplyv injekcie.
Aplikačná úloha
Uveďte všetky nástroje a údaje, ku ktorým má váš asistent AI prístup. Pre každú odpovedzte na tri otázky: (1) Je to naozaj potrebné? (2) Stačí len na čítanie? (3) Beží v používateľskom kontexte? Potom vyhľadajte všetky pevne zakódované tajomstvá (prostredníctvom výzvy na skenovanie vyššie) a napíšte plán rotácie pre každý kľúč, ktorý nájdete. Odstráňte aspoň jednu nepotrebnú autorizáciu.
kontrolný zoznam
- [ ] Model beží v kontexte oprávnení používateľa, ktorý zadáva požiadavku.
- [ ] Prístup k nástrojom a údajom sa zúžil na princíp najmenšieho privilégia.
- [ ] Zápis/vymazanie je oddelené od iba na čítanie, overené a úzke.
- [ ] V kóde nie sú pochované žiadne tajomstvá; Uchováva sa v tajnom správcovi.
- [ ] Existuje plán rotácie a postup zrušenia kľúčov.
- [ ] Prístupy sa pravidelne prehodnocujú.