Skip to Content
OrganizationsRole a rozsah oprávnení

Role a rozsah oprávnení

OpenFactory ukladá nezávislé role na úrovni organizácie, unit a tímu. Názov role popisuje rozsah; nie je to univerzálne oprávnenie, ktoré by sa automaticky vzťahovalo na každé API alebo každú funkciu produktu.

Model rozsahu

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

Členstvo v organizácii je vonkajšia hranica. Používateľ musí byť členom organizácie, skôr než ho administrátor môže pridať do unit alebo tímu. Členstvo sa kontroluje nezávisle na každej úrovni; neodvodzujte rolu unit alebo tímu z organizačnej role zobrazenej v inom kontexte.

Organizačné role

Aktuálne API na správu organizácie vynucuje tieto oprávnenia:

OperáciaOwnerAdminMember
Zobraziť organizáciu, členov, groups, units a tímyÁnoÁnoÁno
Upraviť názov alebo popis organizácieÁnoÁnoNie
Vytvoriť, upraviť alebo zmazať groups a spravovať členov groupÁnoÁnoNie
Pozvať alebo odobrať bežných členovÁnoÁnoNie
Zmeniť role bežných member/adminÁnoÁnoNie
Pozvať alebo povýšiť na ownerÁnoNieNie
Zmeniť alebo odobrať existujúceho ownerÁnoNieNie
Vytvoriť alebo zmazať unitsÁnoÁnoNie
Zmazať organizáciuÁnoNieNie
Opustiť organizáciuÁno, ak nie je jediný ownerÁnoÁno

Organizácia môže mať viac než jedného owner. API zabráni odchodu jediného owner, kým neexistuje iný owner alebo organizácia nie je zmazaná. V tomto API nie je samostatná akcia „transfer ownership“; owner zmení rolu iného člena na owner, potom môže podľa potreby zmeniť alebo odobrať predchádzajúceho owner.

Role unit

Owner a admin organizácie môžu spravovať každý unit. V rámci unit aktuálne API na správu organizácie udeľuje unit_admin tieto administratívne operácie:

  • upraviť unit;
  • pridávať, odoberať a meniť role členov unit;
  • vytvárať, upravovať a mazať tímy v tomto unit;
  • pridávať a spravovať členov tímu v tomto unit.

Samotný unit zmazať môže len owner alebo admin organizácie.

base_creator, base_approver a unit member sú uložené popisky rolí pre politiku workflow base image. Trasy CRUD organizácie samy o sebe nedokazujú, že každá akcia vytvorenia, schválenia alebo nasadenia inde tieto popisky vynucuje. Pred spoliehaním sa na ne ako na kontrolu overte správanie autorizácie konkrétneho workflow build alebo schválenia.

Role tímu

Owner/admin organizácie a unit_admin nadradeného unit môžu spravovať členstvo v tíme. team_lead môže:

  • upraviť názov alebo popis tímu;
  • pridávať a odoberať členov tímu;
  • meniť role členov tímu.

team_lead nemôže zmazať tím cez aktuálne organizačné API; táto operácia je vyhradená owner/admin organizácie alebo nadradenému unit_admin.

variant_creator, variant_deployer a variant_user vyjadrujú zamýšľané zodpovednosti vo workflow variant. Nepovažujte ich za dôkaz, že každý endpoint variant vynucuje úplnú maticu create/edit/deploy. Otestujte presné workflow a zamietnuté cesty v nasadenej verzii.

Groups sú iné

Groups sú zdieľané kolekcie na úrovni organizácie, nie ďalšia hierarchia rolí. Owner a admin vytvárajú groups a spravujú členstvo v group; všetci členovia organizácie môžu vypísať groups a ich členov. Členstvo v group z používateľa neurobí admina organizácie, admina unit ani team lead.

Bezpečná zmena role

  1. Potvrďte cieľovú organizáciu, unit alebo tím.
  2. Zaznamenajte aktuálne efektívne členstvá používateľa vo všetkých troch rozsahoch.
  3. Vykonajte jednu zmenu role.
  4. Otestujte povolenú aj zamietnutú operáciu v relácii tohto používateľa.
  5. Overte, že cache UI a existujúce relácie zmenu odrážajú.
  6. Ponechajte auditný záznam mimo popisku role, ak to vaša politika vyžaduje.

Zmena popisku bez testu zamietnutej cesty nie je dostatočný dôkaz vynútenia najmenších oprávnení.

Bežné hraničné prípady

  • Admin nemôže nikoho povýšiť na owner ani zmeniť rolu existujúceho owner.
  • Používateľa nemožno pridať do unit alebo tímu, kým nepatrí do organizácie.
  • Členovia unit a tímu sa môžu odobrať sami; členstvo v organizácii zostáva, ak ho neodoberiete zvlášť.
  • Po odobratí členstva v organizácii overte vo vašej verzii zastarané efekty na unit, tím, group, share a relácie.
  • Farby odznakov v UI sú prezentácia, nie bezpečnostná kontrola. Spoliehajte sa na autorizáciu na strane servera a testy zamietnutých ciest.