Skip to Content
OrganizationsVloge in obseg dovoljenj

Vloge in obseg dovoljenj

OpenFactory hrani neodvisne vloge na ravni organizacije, unit in ekipe. Ime vloge opisuje obseg; ni univerzalno dovoljenje, ki bi se samodejno nanašalo na vsak API ali vsako funkcijo produkta.

Model obsega

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 v organizaciji je zunanja meja. Uporabnik mora biti član organizacije, preden ga administrator doda v unit ali ekipo. Članstvo se preverja neodvisno na vsaki ravni; ne sklepajte vloge unit ali ekipe iz organizacijske vloge, prikazane v drugem kontekstu.

Organizacijske vloge

Trenutni API za upravljanje organizacije uveljavlja ta dovoljenja:

OperacijaOwnerAdminMember
Ogled organizacije, članov, groups, units in ekipDaDaDa
Urejanje imena ali opisa organizacijeDaDaNe
Ustvarjanje, urejanje ali brisanje groups in upravljanje članov groupDaDaNe
Vabilo ali odstranitev navadnih članovDaDaNe
Sprememba vlog navadnih member/adminDaDaNe
Vabilo ali napredovanje na ownerDaNeNe
Sprememba ali odstranitev obstoječega ownerDaNeNe
Ustvarjanje ali brisanje unitsDaDaNe
Brisanje organizacijeDaNeNe
Zapustitev organizacijeDa, razen če je edini ownerDaDa

Organizacija lahko ima več kot enega owner. API prepreči, da edini owner odide, dokler ne obstaja drug owner ali organizacija ni izbrisana. V tem API ni ločene akcije „transfer ownership“; owner spremeni vlogo drugega člana v owner, nato po potrebi spremeni ali odstrani prejšnjega owner.

Vloge unit

Owner in admin organizacije lahko upravljata vsak unit. Znotraj unit trenutni API za upravljanje organizacije unit_admin podeli te administrativne operacije:

  • urejanje unit;
  • dodajanje, odstranjevanje in spreminjanje vlog članov unit;
  • ustvarjanje, urejanje in brisanje ekip v tem unit;
  • dodajanje in upravljanje članov ekipe v tem unit.

Sam unit lahko izbrišeta le owner ali admin organizacije.

base_creator, base_approver in unit member so shranjene oznake vlog za politiko workflow base image. Poti CRUD organizacije same po sebi ne dokazujejo, da vsako dejanje ustvarjanja, odobritve ali uvajanja drugje uveljavlja te oznake. Pred zanašanjem nanje kot na kontrolo preverite obnašanje avtorizacije konkretnega workflow build ali odobritve.

Vloge ekipe

Owner/admin organizacije in unit_admin nadrejenega unit lahko upravljata članstvo v ekipi. team_lead lahko:

  • ureja ime ali opis ekipe;
  • dodaja in odstranjuje člane ekipe;
  • spreminja vloge članov ekipe.

team_lead ne more izbrisati ekipe prek trenutnega organizacijskega API; ta operacija je rezervirana za owner/admin organizacije ali nadrejeni unit_admin.

variant_creator, variant_deployer in variant_user izražajo predvidene odgovornosti v workflow variant. Ne jih razlagajte kot dokaz, da vsaka končna točka variant uveljavlja popolno matriko create/edit/deploy. Preizkusite natančen workflow in zavrnjene poti v uvedeni različici.

Groups so drugačni

Groups so zbirke za deljenje na ravni organizacije, ne še ena hierarhija vlog. Owner in admin ustvarjata groups in upravljata članstvo v group; vsi člani organizacije lahko izpišejo groups in njihove člane. Članstvo v group uporabnika ne spremeni v admina organizacije, admina unit ali team lead.

Varno spreminjanje vloge

  1. Potrdite ciljno organizacijo, unit ali ekipo.
  2. Zabeležite trenutna učinkovita članstva uporabnika v vseh treh obsegih.
  3. Uveljavite eno spremembo vloge.
  4. Preizkusite dovoljeno in zavrnjeno operacijo v seji tega uporabnika.
  5. Preverite, da predpomnjeni UI in obstoječe seje odražajo spremembo.
  6. Hranite revizijski zapis zunaj oznake vloge, če to zahteva vaša politika.

Sprememba oznake brez preizkusa zavrnjene poti ni zadosten dokaz uveljavljanja najmanjših pravic.

Pogosti robni primeri

  • Admin ne more nikogar napredovati na owner ali spremeniti vloge obstoječega owner.
  • Uporabnika ni mogoče dodati v unit ali ekipo, dokler ne pripada organizaciji.
  • Člani unit in ekipe se lahko odstranijo sami; članstvo v organizaciji ostane, razen če ga ločeno odstranite.
  • Po odstranitvi članstva v organizaciji preverite v vaši različici zastarele učinke na unit, ekipo, group, share in seje.
  • Barve značk v UI so predstavitev, ne varnostni nadzor. Zanašajte se na avtorizacijo na strežniku in preizkuse zavrnjenih poti.