Jednotka 4 / 11

Řízení přístupu, správa identit a tajemství

zisky:

  • Schopnost oddělit autentizaci a autorizaci a použít minimální autorizaci s RBAC/ABAC
  • Schopnost vyhnout se smíšenému riziku proxy spuštěním modelu v kontextu uživatele
  • Schopnost ukládat a otáčet klíče API pomocí systému správy tajných informací

Významná část útoků na systém umělé inteligence nezačíná „oklamáním“ modelu, ale odcizeným klíčem API nebo nadměrně autorizovaným účtem. Tato vrstva zabezpečení pochází z klasické informační bezpečnosti, ale přidává nová rizika v kontextu AI: model volá jízdu jménem někoho jiného, ​​servisní účet má přístup ke všem datům, klíč uniká na GitHub. V této lekci se naučíme, jak zúžit přístup k systému AI s autentizací, autorizací (RBAC/ABAC), minimální autorizací a správou tajemství.

Rozdíl mezi autentizací a autorizací

Tyto dva pojmy se často zaměňují:

  • Autentizace: "Kdo jsi?" — prokázání, že uživatel/služba je skutečně tím, za koho se vydává (heslo, token, certifikát, MFA).
  • Autorizace: "Co můžete dělat?" — určit, ke kterému prostředku/akci má ověřená strana přístup.

The critical subtlety in AI systems is this: when the model is performing work on behalf of a user, is it operating with the authority of that user or with a broad service account? To druhé je nebezpečné — protože model oklamaný injekcí získá plný přístup k účtu služby.

Upozornění: Problém „Zmatený zástupce“: uživatel s nízkou autoritou nepřímo přistupuje k datům, ke kterým nemá přístup, prostřednictvím outsourcingu modelu s vysokou autoritou. Model by měl vždy fungovat v kontextu oprávnění uživatele, nikoli jeho vlastní široké pravomoci.

RBAC a ABAC

  • RBAC (Role-Based Access Control): Přístup závisí na roli uživatele. Role „specialista podpory“ může číst poznámky zákazníků, ale nemůže je mazat. Jednoduché a běžné.
  • ABAC (Attribute-Based Access Control): Access depends on attributes: the user's department, the privacy label of the data, the time of day, the network from which the request comes. Jemnější, ale složitější.

Většina organizací začíná s RBAC a prohlubuje se na ABAC pro citlivá data. Rule of thumb for AI: the model should filter every agent it calls and every data it accesses based on the role/attributes of the user making the request.

Krok za krokem: Uplatňování minimální autority

  1. Proveďte inventuru. Jaké nástroje model volá, k jakým datům přistupuje? Vyjmenujte je všechny.
  2. Zdůvodněte každý přístup. "Opravdu potřebuje tento asistent oprávnění k odstranění?" V opačném případě jej odstraňte.
  3. Výchozí nastavení pouze pro čtení. Model by měl být standardně schopen číst; Vyžadovat zápis/mazání samostatného tokenu s úzkým rozsahem.
  4. Přesunout kontext uživatele. Volejte vozidlo s oprávněním uživatele, nikoli pomocí servisního účtu.
  5. Krátkodobé pověření. Místo dlouhodobých klíčů používejte žetony s krátkou životností, které se automaticky obnovují.

Tajná správa

Tajemství jsou přihlašovací údaje, které musí zůstat tajné, jako je klíč API, heslo, token nebo certifikát. Nejčastější nehoda v projektech AI je, když je klíč API poskytovatele modelu vložen do kódu a prosakuje do správy verzí (Git).

Správná aplikace:

  • Nikdy nevkládejte klíče do kódu; Použijte proměnnou prostředí nebo tajný systém správy (službu, která ukládá zašifrované klíče a řídí přístup).
  • Rotace: Obnovujte klíče v pravidelných intervalech (např. každých 90 dní); Pokud máte podezření na únik, okamžitě zrušte.
  • Redukce rozsahu: Každý přepínač má pouze požadovanou službu a požadované oprávnění.
  • Audit: Zaznamenejte, kdo, kdy a kde klíč použil.

Čtyři kopírovatelné šablony

Výzva pro kontrolu přístupu:

Pro každý nástroj v níže uvedeném seznamu nástrojů vyhodnoťte:- Je tento nástroj POTŘEBNÝ k provádění práce tohoto asistenta? (ano/ne) - Je to jen pro čtení nebo zápis/mazání? - Je tento nástroj volán pomocí uživatelského oprávnění nebo servisního účtu? Označte nepotřebné nebo nadměrně autorizované jako „ODSTRANIT/UPRAVIT“.<tools>{{ tool_list }}</tools>

Výzva ke skenování tajných úniků:

V následujícím úryvku kódu najděte cokoli, co by mohlo být pevně zakódované tajemství: klíč API, heslo, token, připojovací řetězec, soukromý klíč. U každého zadejte řádek a typ. ZKOPÍROVAT hodnotu do response;mask (první 4 znaky + ***).<code>{{ source }}</code>

Pravidlo rozhodování nejmenší autority:

Když přijde nový požadavek na nástroj/přístup, zeptejte se:1. Lze úkol provést bez tohoto přístupu? -> Pokud ano: REJECT2. Stačí jen pro čtení? -> Pokud ano: UDĚLEJTE oprávnění k zápisu3. Lze rozsah zúžit na jeden zdroj? -> Pokud ano: daratVýchozí odpověď je "ne"; Přístup se získává rozumem.

Připomenutí rotačního kalendáře:

U každého tajemství zaznamenejte: vlastníka, datum vytvoření, expiraci, rozsah. Nahlaste jakýkoli klíč, který přesáhl 90 dní nebo nebyl 30 dní použit, jako „KANDIDÁT NA OTOČENÍ/ZRUŠENÍ“.

Slabá výzva / Silná výzva

špatný přístup

Silný přístup

Model přistupuje ke všem datům pomocí jediného servisního účtu

Model přistupuje s oprávněním uživatele, který podává žádost

API klíč je vložený do kódu, nikdy se nemění

Rotace v klíčovém tajném manažerovi, 90 dní

Široká pravomoc „udělej cokoliv“ vůči asistentovi

Výchozí nastavení pouze pro čtení, zápis úzce

Přístupy nejsou nikdy kontrolovány

Pravidelná kontrola a zrušení přístupu

Tři mini pouzdra

Případ 1 – Uniklá smíšená proxy data. Interní asistentka pracovala se servisním účtem, který měl přístup ke všem záznamům zaměstnanců. Interní uživatel se dostal k datům, která by normálně neviděl, když řekl „shrnout tabulku platů vedoucích pracovníků“; protože model to zpochybnil v kontextu své vlastní široké autority, nikoli uživatelovy. Jakmile byl kontext uživatele upraven tak, aby se mohl přesunout, stážista byl schopen vytáhnout nahrávky, které viděl pouze on nebo ona.

Případ 2 – Uniklý klíč, účet 190 000 TL za 2 týdny. Vývojář vložil klíč API modelu do pomocného skriptu a poslal jej do veřejného úložiště. Bot našel klíč za 40 minut a používal ho dva týdny; Účet dosáhl 190 000 TL. Když byl klíč přesunut do tajného správce, připojen k rotaci a bylo přidáno skenování úložiště, incident se neopakoval.

Případ 3 — Výchozí zabráněno přerušení pouze pro čtení. Asistent DevOps obdržel příkaz „resetovat produkční databázi“ prostřednictvím rychlého vložení. Asistent však dostal pouze token pouze pro čtení; zápis/mazání bylo v samostatném schváleném toku. Příkaz byl odmítnut s chybou autorizace a událost byla zaznamenána jako alarm; Nedošlo ke ztrátě dat.

Tip: Nastavte „ne“ jako výchozí odpověď na nový požadavek na přístup. Přístup je něco získaného ospravedlněním; Dávat všem široký a pak škrtat se skoro nikdy nedělá a riziko se hromadí.

Časté chyby

  • Spuštění modelu s velkým servisním účtem a ztráta uživatelského kontextu (smíšený proxy).
  • Vložení klíče API do kódu a jeho únik do správy verzí.
  • Vůbec neotáčejte klávesami ("fungují, nedotýkejte se").
  • Ve výchozím nastavení dává asistentovi oprávnění k zápisu/mazání.
  • Udělit přístup jednou a nikdy jej nepřehodnotit.
  • Záměna autentizace s autorizací a předpoklad „je přihlášený, má přístup ke všemu“.

V souhrnu

  • Autentizace je otázkou „kdo jsi“, autorizace je otázkou „co umíš“; V AI musí oba fungovat v kontextu uživatele.
  • The model should operate with the authority of the user making the request, not with its own broad authority (avoiding the risk of mixed agency).
  • Začněte s RBAC, prohloubte s ABAC na citlivých datech; Nastavte minimální oprávnění jako výchozí.
  • Neschovávejte tajemství v kódu; uložte jej do tajného správce, zúžte jej a zařaďte do pravidelné rotace.
  • Výchozí nastavení pouze pro čtení a úzký zápis značně omezují dopad injekce.

Aplikační úkol

Uveďte všechny nástroje a data, ke kterým váš asistent AI přistupuje. Odpovězte na tři otázky pro každou z nich: (1) Je to opravdu nutné? (2) Stačí pouze pro čtení? (3) Spouští se v uživatelském kontextu? Poté vyhledejte všechna pevně zakódovaná tajemství (prostřednictvím výše uvedené výzvy ke skenování) a napište plán rotace pro každý nalezený klíč. Odstraňte alespoň jednu nepotřebnou autorizaci.

kontrolní seznam

  • [ ] Model běží v kontextu oprávnění uživatele, který podává požadavek.
  • [ ] Přístup k nástrojům a datům byl zúžen na princip nejmenšího privilegia.
  • [ ] Zápis/mazání je oddělené od pouze pro čtení, ověřené a úzké.
  • [ ] V kódu nejsou pohřbena žádná tajemství; Je uložen v tajném správci.
  • [ ] Existuje plán rotace a procedura zrušení klíčů.
  • [ ] Přístupy jsou pravidelně kontrolovány.