Obmedzte oprávnenia agenta
DokončenéDefinujte povolené akcie, zdroje a podmienky. Overujte oprávnenia mimo modelu a oddeľte implementáciu od vydania.
Vydáva TaigaAko píšeme
Overte si porozumenieAgentovi prikážete upravovať jednu vetvu, ale jeho token umožňuje push do predvolenej vetvy. Čo určuje skutočnú hranicu?Vykonajte cvičenie
Čo sa naučíte
- Vyjadriť oprávnenie pomocou akcie, zdroja a podmienky.
- Oddeľovať schválenie úlohy od oprávnenia na vykonanie.
- Testovať zamietnutie zakázanej akcie.
Opíšte úlohu pred udelením prístupu
Agent, ktorý číta kód, potrebuje iné oprávnenia ako agent, ktorý nasadzuje službu. Neudeľujte obe skupiny oprávnení iba preto, že ten istý produkt podporuje obe akcie.
Oprávnenia definujte tromi časťami: akciou, zdrojom a podmienkou. Pri fiktívnej oprave reportu môže agent zapisovať do jednej vetvy pre danú funkciu, kým je úloha aktívna. Môže čítať schválené súbory repozitára. Nesmie meniť produkčné údaje ani pravidlá ochrany repozitára.
| Potrebná operácia | Príklad hranice |
|---|---|
| Preskúmať kód | Čítať vybraný repozitár |
| Spustiť kontroly | Použiť izolované prostredie s vymyslenými testovacími dátami |
| Pripraviť zmenu | Zapisovať do vetvy úlohy |
| Požiadať o kontrolu | Otvoriť PR bez vykonania merge |
| Vydať softvér | Použiť samostatný chránený proces nasadenia |
Presné vynucovanie závisí od nástroja. Ak token nedokáže vyjadriť obmedzenie vetvy, použite ďalšie kontrolné mechanizmy repozitára alebo službu na vykonávanie akcií. Zostávajúce oprávnenia zdokumentujte pravdivo.
Vynucujte obmedzenie mimo modelu
Prompt nie je systémom riadenia prístupu. Komponent vykonávajúci akciu musí porovnať požadovanú akciu a cieľ s aktuálnymi oprávneniami. Nesmie prijať tvrdenie modelu, že schválenie už existuje.
AWS pre vhodné úlohy odporúča obmedzené oprávnenia a dočasné prihlasovacie údaje. OWASP uplatňuje podobný princíp najmenších oprávnení na agentov a ich nástroje. Tieto princípy treba implementovať v skutočných systémoch identít a vykonávania akcií. Odporúčania AWS IAM, odporúčania OWASP pre agentov.
Tam, kde je to podporované, používajte prihlasovacie údaje s krátkou platnosťou. Nesúvisiace tajné údaje udržujte mimo prostredia. Úloha, ktorá iba číta repozitár, nemá zo shellu vývojára zdediť heslo produkčnej databázy.
Viažte schválenie na skutočnú akciu
Schválenie prípravy zmeny neznamená schválenie jej nasadenia. Rozhodnutie o nasadení má určovať artefakt, cieľové prostredie a relevantné podmienky. Ak sa zmenia, predchádzajúce rozhodnutie už nemusí platiť.
Zvážte agenta, ktorý navrhne bezpečné čítanie databázy, ale po schválení vykoná iný databázový dotaz. Užitočný schvaľovací mechanizmus kontroluje operáciu, ktorá sa skutočne vykoná. Všeobecná správa „pokračujte“ bez určeného cieľa môže tento rozdiel skryť.
Oddeľte aj identitu od schopností. Zaznamenajte, ktorá osoba alebo úloha spustila vykonávanie. Overte, že iniciujúca identita má v čase akcie stále oprávnenie. Odobratie prístupu osobe má mať výslovný účinok na prácu vo fronte.
Otestujte zamietnutie aj prerušenie
Overujte viac než úspešný priebeh. V izolovanom testovacom prostredí skúste akciu mimo povoleného zdroja. Overte, že ju systém vykonávania odmietne. Preskúmajte auditnú udalosť bez zaznamenávania prihlasovacích údajov.
Potom otestujte zrušenie alebo vypršanie platnosti prihlasovacích údajov. Určte, ktorá práca sa zastaví okamžite a ktorá operácia sa môže dokončiť. Tlačidlo zastavenia nemusí vrátiť akciu, ktorá už dorazila do iného systému.
Pri úlohe uchovávajte stručný záznam oprávnení. Zahrňte zodpovednú osobu, schválený rozsah, skutočné kontrolné mechanizmy, test zamietnutia a koniec platnosti. Neskoršia kontrola tak bude dostatočne konkrétna na zlepšenie pracovného postupu.
Vykonajte cvičenie
Definujte oprávnenia agenta, ktorý opravuje filter reportu. Uveďte tri povolené a tri zakázané akcie. Zahrňte repozitár, vetvu, prostredie a koniec platnosti. Opíšte, ako otestovať každé zamietnutie bez zmeny produkcie.
Stiahnuť pracovný list (Markdown)Zrušenie tohto výberu vymaže celý postup uložený v tomto prehliadači.
Postup zostáva v tomto prehliadači. Bez účtu a sledovania.