Skip to Content
OrganizationsUloge i opseg dopuštenja

Uloge i opseg dopuštenja

OpenFactory pohranjuje neovisne uloge na razini organizacije, unit i tima. Naziv uloge opisuje opseg; to nije univerzalno dopuštenje koje se automatski primjenjuje na svaki API ili svaku značajku produkta.

Model opsega

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

Članstvo u organizaciji vanjska je granica. Korisnik mora biti član organizacije prije nego što ga administrator može dodati u unit ili tim. Članstvo se provjerava neovisno na svakoj razini; ne zaključujte ulogu unit ili tima iz organizacijske uloge prikazane u drugom kontekstu.

Organizacijske uloge

Trenutačni API za upravljanje organizacijom provodi ova dopuštenja:

OperacijaOwnerAdminMember
Pregled organizacije, članova, groups, units i timovaDaDaDa
Uređivanje naziva ili opisa organizacijeDaDaNe
Stvaranje, uređivanje ili brisanje groups i upravljanje članovima groupDaDaNe
Pozivanje ili uklanjanje običnih članovaDaDaNe
Promjena uloga običnih member/adminDaDaNe
Poziv ili unapređenje na ownerDaNeNe
Promjena ili uklanjanje postojećeg ownerDaNeNe
Stvaranje ili brisanje unitsDaDaNe
Brisanje organizacijeDaNeNe
Napuštanje organizacijeDa, osim ako je jedini ownerDaDa

Organizacija može imati više od jednog owner. API sprječava da jedini owner ode dok ne postoji drugi owner ili organizacija nije obrisana. U ovom API nema zasebne akcije „transfer ownership“; owner promijeni ulogu drugog člana u owner, zatim po potrebi promijeni ili ukloni prethodnog owner.

Uloge unit

Owner i admin organizacije mogu upravljati svakim unit. Unutar unit trenutačni API za upravljanje organizacijom dodjeljuje unit_admin ove administrativne operacije:

  • uređivanje unit;
  • dodavanje, uklanjanje i promjena uloga članova unit;
  • stvaranje, uređivanje i brisanje timova u tom unit;
  • dodavanje i upravljanje članovima tima u tom unit.

Sam unit mogu obrisati samo owner ili admin organizacije.

base_creator, base_approver i unit member pohranjene su oznake uloga za politiku workflow base image. CRUD rute organizacije same po sebi ne dokazuju da svaka akcija stvaranja, odobrenja ili implementacije drugdje provodi te oznake. Prije oslanjanja na njih kao na kontrolu provjerite ponašanje autorizacije konkretnog workflow build ili odobrenja.

Uloge tima

Owner/admin organizacije i unit_admin nadređenog unit mogu upravljati članstvom u timu. team_lead može:

  • uređivati naziv ili opis tima;
  • dodavati i uklanjati članove tima;
  • mijenjati uloge članova tima.

team_lead ne može obrisati tim putem trenutačnog organizacijskog API; ta operacija rezervirana je za owner/admin organizacije ili nadređeni unit_admin.

variant_creator, variant_deployer i variant_user izražavaju predviđene odgovornosti u workflow variant. Ne tumačite ih kao dokaz da svaka krajnja točka variant provodi potpunu matricu create/edit/deploy. Testirajte točan workflow i odbijene putove u implementiranoj verziji.

Groups su drugačiji

Groups su kolekcije za dijeljenje na razini organizacije, ne još jedna hijerarhija uloga. Owner i admin stvaraju groups i upravljaju članstvom u group; svi članovi organizacije mogu popisati groups i njihove članove. Članstvo u group ne pretvara korisnika u admina organizacije, admina unit ili team lead.

Sigurna promjena uloge

  1. Potvrdite ciljnu organizaciju, unit ili tim.
  2. Zabilježite trenutačna učinkovita članstva korisnika u sva tri opsega.
  3. Primijenite jednu promjenu uloge.
  4. Testirajte dopuštenu i odbijenu operaciju u sesiji tog korisnika.
  5. Provjerite da predmemorirani UI i postojeće sesije odražavaju promjenu.
  6. Zadržite revizijski zapis izvan oznake uloge ako to vaša politika zahtijeva.

Promjena oznake bez testa odbijenog puta nije dovoljan dokaz provođenja najmanjih prava.

Uobičajeni rubni slučajevi

  • Admin ne može nikoga unaprijediti na owner niti promijeniti ulogu postojećeg owner.
  • Korisnika nije moguće dodati u unit ili tim dok ne pripada organizaciji.
  • Članovi unit i tima mogu se sami ukloniti; članstvo u organizaciji ostaje osim ako se zasebno ne ukloni.
  • Nakon uklanjanja članstva u organizaciji provjerite u vašoj verziji zastarjele učinke na unit, tim, group, share i sesije.
  • Boje znački u UI su prezentacija, ne sigurnosna kontrola. Oslonite se na autorizaciju na poslužitelju i testove odbijenih putova.