Skip to Content
OrganizationsRollid ja õiguste ulatus

Rollid ja õiguste ulatus

OpenFactory salvestab sõltumatud rollid organization, unit ja team tasandil. Rolli nimi kirjeldab ulatust; see ei ole universaalne luba, mis kehtib automaatselt iga API või tootefunktsiooni kohta.

Ulatusmudel

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 liikmesus on väline piir. Kasutaja peab olema organization liige, enne kui administraator saab ta lisada mõne selle units või teams juurde. Liikmesust kontrollitakse igal tasandil eraldi; ära järelda unit või team rolli organization rollist, mis on näha teises kontekstis.

Organization rollid

Praegune organization-management API rakendab neid õigusi:

ToimingOwnerAdminMember
Vaadata organization, liikmeid, groups, units ja teamsJahJahJah
Muuta organization nime või kirjeldustJahJahEi
Luua, muuta või kustutada groups ja hallata group liikmeidJahJahEi
Kutsuda või eemaldada tavalisi liikmeidJahJahEi
Muuta tavaliste member/admin rollideJahJahEi
Kutsuda või edutada ownerJahEiEi
Muuta või eemaldada olemasolevat ownerJahEiEi
Luua või kustutada unitsJahJahEi
Kustutada organizationJahEiEi
Lahkuda organizationJah, välja arvatud ainus ownerJahJah

Organizationil võib olla rohkem kui üks owner. API ei lase ainsal owner lahkuda, enne kui on teine owner või organization kustutatakse. Selles API-s pole eraldi „transfer ownership“ toimingut; owner muudab teise liikme rolli owner-iks, seejärel võib ta eelmise owner vajadusel muuta või eemaldada.

Unit rollid

Organization owner ja admin saavad hallata iga unit. Uniti sees annab praegune organization-management API unit_admin-ile järgmised haldustoimingud:

  • muuta unit;
  • lisada, eemaldada ja muuta unit liikmete rolle;
  • luua, muuta ja kustutada teams selles unit;
  • lisada ja hallata team liikmeid selles unit.

Ainult organization owner või admin saab kustutada enda unit.

base_creator, base_approver ja unit member on salvestatud rollisildid base-image workflow policy jaoks. Organization CRUD marsruudid ise ei tõenda, et iga create, approve või deployment toiming mujal neid silte sunnib. Enne nendele kontrollina toetumist kontrolli konkreetse build või approval workflow autoriseerimise käitumist.

Team rollid

Organization owner/admin ja emaunit unit_admin saavad hallata team liikmesust. team_lead saab:

  • muuta team nime või kirjeldust;
  • lisada ja eemaldada team liikmeid;
  • muuta team liikmete rolle.

team_lead ei saa team praeguse organization API kaudu kustutada; see toiming on reserveeritud organization owner/admin või emaunit unit_admin.

variant_creator, variant_deployer ja variant_user väljendavad kavandatud variant workflow vastutusi. Neid ei tohiks lugeda tõendiks, et iga variant endpoint rakendab täielikku create/edit/deploy maatriksit. Testi täpset workflow ja keelatud teid juurutatud versioonis.

Groups on teistsugused

Groups on organization taseme jagamiskogumid, mitte veel üks rollihierarhia. Owner ja admin loovad groups ja haldavad group liikmesust; kõik organization liikmed saavad loetleda groups ja nende liikmeid. Group liikmesus ei muuda kasutajat organization admin, unit admin ega team lead.

Rolli turvaline muutmine

  1. Kinnita sihtorganization, unit või team.
  2. Salvesta kasutaja praegused kehtivad liikmesused kõigis kolmes ulatuses.
  3. Rakenda üks rollimuutus.
  4. Testi nii lubatud kui ka keelatud toimingut selle kasutaja sessiooniga.
  5. Kontrolli, kas puhverdatud UI olek ja olemasolevad sessioonid peegeldavad muutust.
  6. Kui policy nõuab, säilita auditi kirje rollisildist eraldi.

Sildi muutmine ilma keelatud tee testita ei ole piisav tõend, et rakendatakse vähima privileegi printsiipi.

Levinud erijuhud

  • Admin ei saa kedagi edutada owner-iks ega muuta olemasoleva owner rolli.
  • Kasutajat ei saa lisada unit või team, enne kui ta kuulub organization.
  • Unit ja team liikmed võivad end eemaldada; organization liikmesus jääb alles, kui seda eraldi ei eemaldata.
  • Organization liikmesuse eemaldamisel kontrolli oma versioonis aegunud unit, team, group, share ja sessiooni mõjusid.
  • UI märkide värvid on esitus, mitte turvakontroll. Tuginem alati serveripoolsele autoriseerimisele ja keelatud tee testidele.