Riadenie prístupu na základe atribútov, označované ako ABAC, rozhoduje o prístupe na základe faktov o požiadavke. Tieto fakty môžu popisovať používateľa, záznam, operáciu alebo aktuálne prostredie. Bezpečnostné pravidlá ich vyhodnotia spoločne pred spustením chránenej akcie.
Čo obsahuje rozhodnutie ABAC
Pravidlo ABAC dokáže vyjadriť podmienky, ktoré samotná rola pokryť nedokáže. Pracovník podpory môže čítať záznam iba vtedy, ak patrí do jeho regiónu a prípad je priradený jeho tímu. Služba môže aktualizovať objekt iba vo svojom vlastnom prostredí a počas definovaného stavu procesu.
| Zdroj atribútu | Príklad | Otázka pri audite |
|---|---|---|
| Aktér | Tím, účet, bezpečnostná previerka | Kto vytvoril a aktualizuje danú hodnotu? |
| Prostriedok | Vlastník, tenant, klasifikácia | Je hodnota načítaná z dôveryhodných dát? |
| Akcia | Čítanie, schválenie, export | Označujú pravidlá skutočnú operáciu? |
| Prostredie | Čas, sieť, nasadenie | Môže odosielateľ požiadavky ovplyvniť podmienku? |
Bezpečnostné pravidlá sú len také spoľahlivé, aké spoľahlivé sú tieto vstupy. Dôveryhodná rola z overenej relácie sa líši od identifikátora účtu skopírovaného priamo z požiadavky. Audit preto pred vyhodnotením samotného pravidla sleduje každý atribút až k jeho zdroju.
Ako sa bezpečnostné pravidlá trieštia
Vygenerované funkcie často vyjadrujú kontextové pravidlá ako lokálne podmienky. Jeden handler overuje tím používateľa, druhý vlastníka záznamu a hromadná akcia neoveruje ani jedno. Každá podmienka môže sama osebe vyzerať rozumne, zatiaľ čo produktu chýba jednotná politika riadenia prístupu.
Audit softvéru vytvoreného pomocou AI zoskupuje ekvivalentné operácie a porovnáva ich atribúty, logiku pravidiel a správanie pri zamietnutí prístupu. Kontrola hľadá predvolené nastavenia, ktoré povolia prístup v prípade chýbajúceho atribútu, zastarané hodnoty skopírované do tokenov a alternatívne cesty načítavajúce iné dáta prostriedkov.
Kontrola prebieha v pevne stanovenom poradí:
- Definovanie chránenej akcie: Presne pomenujte operáciu a prostriedok.
- Zoznam požadovaných atribútov: Identifikujte vstupy pre aktéra, prostriedok, akciu a prostredie.
- Sledovanie každého zdroja: Potvrďte, že hodnotu poskytuje dôveryhodný kód.
- Lokalizácia vynucovania: Nájdite každú cestu, úlohu a nástroj, ktoré môžu spustiť danú akciu.
- Otestovanie ciest zamietnutia: Otestujte chýbajúce, nepravdivé, zastarané a konfliktné atribúty.
ABAC a prístup založený na rolách
Riadenie prístupu na základe rolí môže poskytnúť jeden atribút: rolu priradenú aktérovi. ABAC pridáva kontext, ak rozhodnutie závisí aj od vlastníctva, tenanta, stavu, lokality alebo inej vlastnosti. Systém môže používať oba modely súčasne bez akýchkoľvek konfliktov, ak sú kombinované pravidlá explicitné.
Problémy nastávajú, keď implementácia skrýva kontextové pravidlá do názvov rolí. Roly ako eu-manager alebo approved-customer-editor sa môžu rýchlo množiť, pretože každý názov v sebe kóduje niekoľko meniacich sa vlastností. Audit tieto vlastnosti oddeľuje, aby revízori videli, ktorý fakt reálne riadi každé rozhodnutie.
Ako vyzerá overené vynucovanie
Výstup auditu spája každú citlivú akciu s bezpečnostným pravidlom, atribútmi, ktoré spracováva, a kódom, ktorý ho vynucuje. Testy využívajú aktérov a prostriedky so zámerne odlišnými atribútmi. Potvrdzujú, že zmena jednej požadovanej podmienky zmení aj rozhodnutie a že zamietnutie prístupu zabráni akýmkoľvek vedľajším účinkom.
Tieto dôkazy podporujú kontrolu kódu vygenerovaného pomocou AI v produkcii. ABAC nevyžaduje konkrétny nástroj na správu pravidiel. Vyžaduje rozhodnutie, ktorého vstupy, pravidlá a body vynucovania je možné kontrolovať a testovať.