Szerepkörök és jogosultsági kör
Az OpenFactory független szerepköröket tárol szervezet, unit és csapat szinten. A szerepkör neve egy kört ír le; nem univerzális jogosultság, amely automatikusan minden API-ra vagy termékfunkcióra érvényes.
Körmodell
organization membership: owner | admin | member
└── unit membership: unit_admin | base_creator | base_approver | member
└── team membership: team_lead | variant_creator | variant_deployer | variant_userA szervezeti tagság a külső határ. A felhasználónak tagnak kell lennie a szervezetben, mielőtt egy adminisztrátor hozzáadhatná unit-hoz vagy csapathoz. A tagságot szintenként függetlenül ellenőrzi a rendszer; ne következtessen unit- vagy csapatszerepkört más kontextusban megjelenő szervezeti szerepkörből.
Szervezeti szerepkörök
A jelenlegi szervezetkezelő API ezeket a jogosultságokat kényszeríti ki:
| Művelet | Owner | Admin | Member |
|---|---|---|---|
| Szervezet, tagok, groups, units és csapatok megtekintése | Igen | Igen | Igen |
| Szervezet nevének vagy leírásának szerkesztése | Igen | Igen | Nem |
| Groups létrehozása, szerkesztése vagy törlése és group tagok kezelése | Igen | Igen | Nem |
| Rendes tagok meghívása vagy eltávolítása | Igen | Igen | Nem |
| Rendes member/admin szerepkörök módosítása | Igen | Igen | Nem |
| Owner meghívása vagy előléptetése | Igen | Nem | Nem |
| Meglévő owner módosítása vagy eltávolítása | Igen | Nem | Nem |
| Units létrehozása vagy törlése | Igen | Igen | Nem |
| Szervezet törlése | Igen | Nem | Nem |
| Szervezet elhagyása | Igen, kivéve ha egyetlen owner | Igen | Igen |
Egy szervezetnek több owner is lehet. Az API megakadályozza, hogy az egyetlen owner
távozzon, amíg nincs másik owner, vagy a szervezet nincs törölve. Ebben az API-ban
nincs külön „transfer ownership“ művelet; az owner egy másik tag szerepkörét owner-re
állítja, majd szükség szerint módosíthatja vagy eltávolíthatja az előző ownert.
Unit szerepkörök
A szervezet owner-ei és adminjai minden unit-ot kezelhetnek. Unit-on belül a jelenlegi
szervezetkezelő API a unit_admin számára ezeket az adminisztratív műveleteket adja:
- unit szerkesztése;
- unit tag szerepkörök hozzáadása, eltávolítása és módosítása;
- csapatok létrehozása, szerkesztése és törlése ebben a unit-ban;
- csapattagok hozzáadása és kezelése ebben a unit-ban.
Magát a unit-ot csak szervezeti owner vagy admin törölheti.
A base_creator, base_approver és unit member tárolt szerepkör-címkék a
base image workflow policy-hez. A szervezet CRUD útvonalai önmagukban nem bizonyítják,
hogy minden létrehozási, jóváhagyási vagy telepítési művelet máshol is kikényszeríti
ezeket a címkéket. Mielőtt ellenőrzésként hagyatkozna rájuk, ellenőrizze a konkrét
build vagy jóváhagyási workflow engedélyezési viselkedését.
Csapat szerepkörök
Szervezeti owner/admin és a szülő unit unit_admin kezelheti a csapattagságot.
Egy team_lead:
- szerkesztheti a csapat nevét vagy leírását;
- hozzáadhat és eltávolíthat csapattagokat;
- módosíthat csapattag szerepköröket.
A team_lead a jelenlegi szervezeti API-n keresztül nem törölheti a csapatot;
ez a művelet szervezeti owner/admin vagy szülő unit_admin számára van fenntartva.
A variant_creator, variant_deployer és variant_user a variant workflow
tervezett felelősségeit fejezi ki. Ne értelmezze úgy, hogy minden variant végpont
teljes create/edit/deploy mátrixot kényszerít ki. Tesztelje a pontos workflow-t
és az elutasított útvonalakat a telepített kiadásban.
A groups másképp működnek
A groups szervezetszintű megosztási gyűjtemények, nem újabb szerepkör-hierarchia. Owner és admin hoz létre groups-t és kezeli a group tagságot; minden szervezeti tag listázhatja a groups-t és tagjaikat. A group tagság nem tesz valakit szervezeti adminná, unit adminná vagy team lead-dé.
Szerepkör biztonságos módosítása
- Erősítse meg a cél szervezetet, unit-ot vagy csapatot.
- Rögzítse a felhasználó jelenlegi hatékony tagságait mindhárom körben.
- Alkalmazzon egy szerepkör-változtatást.
- Teszteljen engedélyezett és elutasított műveletet a felhasználó saját munkamenetével.
- Ellenőrizze, hogy a gyorsítótárazott UI és a meglévő munkamenetek tükrözik-e a változást.
- Tartsa meg az auditnaplót a szerepkör-címkén kívül, ha a policy ezt megköveteli.
A címke megváltoztatása elutasított útvonal teszt nélkül nem elegendő bizonyíték a legkisebb jogosultság kikényszerítésére.
Gyakori speciális esetek
- Admin nem léptethet senkit owner-re, és nem módosíthatja meglévő owner szerepkörét.
- Felhasználót nem lehet unit-hoz vagy csapathoz adni, amíg nem tartozik a szervezethez.
- Unit és csapattagok eltávolíthatják magukat; a szervezeti tagság megmarad, hacsak külön nem távolítják el.
- Szervezeti tagság eltávolítása után ellenőrizze kiadásában az elavult unit, csapat, group, share és munkamenet hatásokat.
- A UI jelvény színei megjelenítés, nem biztonsági ellenőrzés. Mindig a szerveroldali engedélyezésre és az elutasított útvonal tesztekre hagyatkozzon.