Skip to Content
OrganizationsRoolit ja käyttöoikeuksien laajuus

Roolit ja käyttöoikeuksien laajuus

OpenFactory tallentaa itsenäiset roolit organisaatio-, unit- ja tiimitasolla. Roolin nimi kuvaa laajuutta; se ei ole yleinen käyttöoikeus, joka koskee automaattisesti jokaista API:a tai tuoteominaisuutta.

Laajuusmalli

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

Organisaatiojäsenyys on ulompi raja. Käyttäjän on oltava organisaation jäsen, ennen kuin ylläpitäjä voi lisätä hänet unitteihin tai tiimeihin. Jäsenyys tarkistetaan erikseen jokaisella tasolla; älä päättele unit- tai tiimiroolia organisaatioroolista, joka näkyy toisessa kontekstissa.

Organisaatioroolit

Nykyinen organization-management API pakottaa nämä käyttöoikeudet:

ToimintoOwnerAdminMember
Näytä organisaatio, jäsenet, groups, unitit ja tiimitKylläKylläKyllä
Muokkaa organisaation nimeä tai kuvaustaKylläKylläEi
Luo, muokkaa tai poista groups ja hallitse group-jäseniäKylläKylläEi
Kutsu tai poista tavallisia jäseniäKylläKylläEi
Muuta tavallisten member/admin-roolien roolejaKylläKylläEi
Kutsu tai ylennä owneriksiKylläEiEi
Muuta tai poista olemassa oleva ownerKylläEiEi
Luo tai poista unittejaKylläKylläEi
Poista organisaatioKylläEiEi
Poistu organisaatiostaKyllä, paitsi jos ainoa ownerKylläKyllä

Organisaatiolla voi olla useampi kuin yksi owner. API estää ainoan ownerin poistumisen, kunnes on toinen owner tai organisaatio poistetaan. Tässä API:ssa ei ole erillistä toimintoa « transfer ownership »; owner asettaa toisen jäsenen rooliksi owner ja voi sitten muuttaa tai poistaa edellisen ownerin tarkoituksen mukaan.

Unit-roolit

Organisaation ownerit ja adminit voivat hallita jokaista unitia. Unitin sisällä nykyinen organization-management API antaa unit_admin-roolille nämä hallintotoiminnot:

  • muokkaa unitia;
  • lisää, poista ja muuta unit-jäsenrooleja;
  • luo, muokkaa ja poista tiimejä kyseisessä unitissa;
  • lisää ja hallitse tiimin jäseniä kyseisessä unitissa.

Vain organisaation owner tai admin voi poistaa itse unitin.

base_creator, base_approver ja unitin member ovat tallennettuja roolimerkintöjä base-image-workflow -käytännölle. Organization CRUD -reitit eivät itsessään todista, että jokainen create-, approve- tai deployment-toiminto muualla pakottaa nämä merkinnät. Tarkista konkreettisen build- tai approval-workflowin valtuutuskäyttäytyminen ennen kuin luotat siihen kontrollina.

Tiimiroolit

Organisaation ownerit/adminit ja yläunitin unit_admin voivat hallita tiimijäsenyyttä. team_lead voi:

  • muokata tiimin nimeä tai kuvausta;
  • lisätä ja poistaa tiimin jäseniä;
  • muuttaa tiimin jäsenrooleja.

team_lead ei voi poistaa tiimiä nykyisen organization API:n kautta; toiminto on varattu organisaation owner/adminille tai yläunitin unit_admin-roolille.

variant_creator, variant_deployer ja variant_user kuvaavat tarkoitettuja vastuita variant-workflowissa. Älä tulkitse niitä todisteeksi siitä, että jokainen variant-endpoint pakottaa täyden create/edit/deploy -matriisin. Testaa tarkka workflow ja denied paths käyttöönotetussa versiossa.

Groups on eri asia

Groups ovat organisaatiotason jakokokoelmia, eivät toinen roolihierarkia. Ownerit ja adminit luovat groups ja hallitsevat group-jäsenyyttä; kaikki organisaation jäsenet voivat listata groups ja niiden jäsenet. Group-jäsenyys ei tee käyttäjästä organisaation adminia, unit-adminia tai team leadia.

Roolin turvallinen vaihtaminen

  1. Vahvista kohdeorganisaatio, unit tai tiimi.
  2. Kirjaa käyttäjän nykyiset voimassa olevat jäsenyydet kaikilla kolmella tasolla.
  3. Tee yksi roolimuutos.
  4. Testaa sekä sallittu että evätty toiminto kyseisen käyttäjän omalla istunnolla.
  5. Tarkista, että välimuistissa oleva UI-tila ja olemassa olevat istunnot heijastavat muutosta.
  6. Säilytä auditointitietue roolimerkinnän ulkopuolella, jos käytäntönne sitä vaatii.

Merkinnän vaihtaminen ilman denied-path-testiä ei riitä todisteeksi least privilegen pakottamisesta.

Yleisiä reunatapauksia

  • Admin ei voi ylentää ketään owneriksi eikä muuttaa olemassa olevan ownerin roolia.
  • Käyttäjää ei voi lisätä unitiin tai tiimiin, ennen kuin hän kuuluu organisaatioon.
  • Unit- ja tiimin jäsenet voivat poistaa itsensä; organisaatiojäsenyys säilyy, ellei sitä poisteta erikseen.
  • Organisaatiojäsenyyden poistamisen yhteydessä tarkista julkaisussanne vanhentuneet unit-, tiimi-, group-, share- ja istuntovaikutukset.
  • UI-merkkien värit ovat esitystä, eivät turvallisuuskontrollia. Luota aina palvelinpuolen valtuutukseen ja denied-path-testeihin.