Skip to Content
OrganizationsVaidmenys ir teisių apimtis

Vaidmenys ir teisių apimtis

OpenFactory saugo nepriklausomus vaidmenis organization, unit ir team lygmenyse. Vaidmens pavadinimas apibūdina apimtį; tai nėra universalus leidimas, kuris automatiškai taikomas kiekvienai API ar produkto funkcijai.

Apimties modelis

organization membership: owner | admin | member └── unit membership: unit_admin | base_creator | base_approver | member └── team membership: team_lead | variant_creator | variant_deployer | variant_user

Organization narystė yra išorinė riba. Vartotojas turi būti organization narys, kol administratorius gali jį pridėti prie vieno iš jos units ar teams. Narystė tikrinama nepriklausomai kiekviename lygyje; neišveskite unit ar team vaidmens iš organization vaidmens, rodomo kitame kontekste.

Organization vaidmenys

Dabartinė organization-management API taiko šias teises:

OperacijaOwnerAdminMember
Peržiūrėti organization, narius, groups, units ir teamsTaipTaipTaip
Redaguoti organization pavadinimą ar aprašąTaipTaipNe
Kurti, redaguoti ar šalinti groups ir valdyti group nariusTaipTaipNe
Kviesti ar šalinti paprastus nariusTaipTaipNe
Keisti paprastų member/admin vaidmenųTaipTaipNe
Kviesti ar paaukštinti ownerTaipNeNe
Keisti ar šalinti esamą ownerTaipNeNe
Kurti ar šalinti unitsTaipTaipNe
Šalinti organizationTaipNeNe
Palikti organizationTaip, nebent vienintelis ownerTaipTaip

Organization gali turėti daugiau nei vieną owner. API neleidžia vieninteliam owner palikti organization, kol neatsiranda kitas owner arba organization neištrinama. Šioje API nėra atskiro „transfer ownership“ veiksmo; owner pakeičia kito nario vaidmenį į owner, tada gali pakeisti ar pašalinti ankstesnį owner pagal poreikį.

Unit vaidmenys

Organization owner ir admin gali valdyti kiekvieną unit. Unit viduje dabartinė organization-management API suteikia unit_admin šias administracines operacijas:

  • redaguoti unit;
  • pridėti, šalinti ir keisti unit narių vaidmenis;
  • kurti, redaguoti ir šalinti teams toje unit;
  • pridėti ir valdyti team narius toje unit.

Tik organization owner ar admin gali ištrinti pačią unit.

base_creator, base_approver ir unit member yra saugomos vaidmenų etiketės base-image workflow policy. Organization CRUD maršrutai patys neįrodo, kad kiekvienas create, approve ar deployment veiksmas kitur privalomai taiko tas etiketes. Prieš remdamiesi jomis kaip kontrole, patikrinkite konkretaus build ar approval workflow autorizacijos elgseną.

Team vaidmenys

Organization owner/admin ir tėvinės unit unit_admin gali valdyti team narystę. team_lead gali:

  • redaguoti team pavadinimą ar aprašą;
  • pridėti ir šalinti team narius;
  • keisti team narių vaidmenis.

team_lead negali ištrinti team per dabartinę organization API; ši operacija rezervuota organization owner/admin ar tėvinės unit unit_admin.

variant_creator, variant_deployer ir variant_user apibūdina numatytas variant workflow atsakomybes. Jų nereikėtų skaityti kaip įrodymo, kad kiekvienas variant endpoint taiko pilną create/edit/deploy matricą. Išbandykite tikslų workflow ir atmestus kelius diegtoje versijoje.

Groups skiriasi

Groups yra organization lygio bendrinimo rinkiniai, o ne dar viena vaidmenų hierarchija. Owner ir admin kuria groups ir valdo group narystę; visi organization nariai gali išvardyti groups ir jų narius. Group narystė neperverčia vartotojo į organization admin, unit admin ar team lead.

Saugus vaidmens keitimas

  1. Patvirtinkite tikslinę organization, unit ar team.
  2. Užfiksuokite vartotojo dabartines veiksmingas narystes visose trijose apimtyse.
  3. Taikykite vieną vaidmens pakeitimą.
  4. Išbandykite ir leistiną, ir atmestą operaciją to vartotojo sesija.
  5. Patikrinkite, ar talpykloje esanti UI būsena ir esamos sesijos atspindi pakeitimą.
  6. Jei policy reikalauja, saugokite audito įrašą nepriklausomai nuo vaidmens etiketės.

Etiketės keitimas be atmesto kelio testo nėra pakankamas įrodymas, kad taikomas mažiausios privilegijos principas.

Dažni kraštiniai atvejai

  • Admin negali nieko paaukštinti iki owner ar keisti esamo owner vaidmens.
  • Vartotojo negalima pridėti prie unit ar team, kol jis nepriklauso organization.
  • Unit ir team nariai gali pašalinti save; organization narystė lieka, nebent atskirai pašalinama.
  • Pašalinus organization narystę, savo versijoje patikrinkite pasenusias unit, team, group, share ir sesijų pasekmes.
  • UI ženklelių spalvos yra pateikimas, ne saugumo kontrolė. Visada remkitės serverio autorizacija ir atmestų kelių testais.