Skip to Content
OrganizationsLomas un atļauju tvērums

Lomas un atļauju tvērums

OpenFactory glabā neatkarīgas lomas organization, unit un team līmenī. Lomas nosaukums apraksta tvērumu; tas nav universāla atļauja, kas automātiski attiecas uz katru API vai produkta funkciju.

Tvēruma modelis

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 dalība ir ārējā robeža. Lietotājam jābūt organization dalībniekam, pirms administrators var pievienot viņu kādai no tās units vai teams. Dalība tiek pārbaudīta neatkarīgi katrā līmenī; neizseciet unit vai team lomu no organization lomas, kas parādīta citā kontekstā.

Organization lomas

Pašreizējā organization-management API piemēro šīs atļaujas:

OperācijaOwnerAdminMember
Skatīt organization, dalībniekus, groups, units un teams
Rediģēt organization nosaukumu vai aprakstu
Izveidot, rediģēt vai dzēst groups un pārvaldīt group dalībniekus
Uzaicināt vai noņemt parastos dalībniekus
Mainīt parasto member/admin lomas
Uzaicināt vai paaugstināt owner
Mainīt vai noņemt esošo owner
Izveidot vai dzēst units
Dzēst organization
Atstāt organizationJā, ja nav vienīgais owner

Organization var būt vairāk nekā viens owner. API neļauj vienīgajam owner aiziet, kamēr nav cits owner vai organization nav izdzēsta. Šajā API nav atsevišķas „transfer ownership“ darbības; owner maina cita dalībnieka lomu uz owner, pēc tam var mainīt vai noņemt iepriekšējo owner pēc vajadzības.

Unit lomas

Organization owner un admin var pārvaldīt katru unit. Unit ietvaros pašreizējā organization-management API piešķir unit_admin šādas administratīvās operācijas:

  • rediģēt unit;
  • pievienot, noņemt un mainīt unit dalībnieku lomas;
  • izveidot, rediģēt un dzēst teams šajā unit;
  • pievienot un pārvaldīt team dalībniekus šajā unit.

Tikai organization owner vai admin var izdzēst pašu unit.

base_creator, base_approver un unit member ir saglabātas lomu etiķetes base-image workflow policy. Organization CRUD maršruti paši neapliecina, ka katru create, approve vai deployment darbību citur obligāti kontrolē šīs etiķetes. Pirms paļaujaties uz tām kā uz kontroli, pārbaudiet konkrētā build vai approval workflow autorizācijas uzvedību.

Team lomas

Organization owner/admin un vecāku unit unit_admin var pārvaldīt team dalību. team_lead var:

  • rediģēt team nosaukumu vai aprakstu;
  • pievienot un noņemt team dalībniekus;
  • mainīt team dalībnieku lomas.

team_lead nevar izdzēst team, izmantojot pašreizējo organization API; šī operācija ir rezervēta organization owner/admin vai vecāku unit unit_admin.

variant_creator, variant_deployer un variant_user izsaka paredzētās variant workflow atbildības. Tos nevajadzētu lasīt kā pierādījumu, ka katrs variant endpoint piemēro pilnu create/edit/deploy matricu. Pārbaudiet precīzo workflow un noraidītos ceļus izvietotajā versijā.

Groups atšķiras

Groups ir organization līmeņa koplietošanas kolekcijas, nevis vēl viena lomu hierarchija. Owner un admin izveido groups un pārvalda group dalību; visi organization dalībnieki var uzskaitīt groups un to dalībniekus. Group dalība nepārvērš lietotāju par organization admin, unit admin vai team lead.

Lomas droša maiņa

  1. Apstipriniet mērķa organization, unit vai team.
  2. Pierakstiet lietotāja pašreizējās efektīvās dalības visos trīs tvērumos.
  3. Veiciet vienu lomas maiņu.
  4. Pārbaudiet gan atļauto, gan noraidīto operāciju ar šī lietotāja sesiju.
  5. Pārbaudiet, vai kešotā UI stāvoklis un esošās sesijas atspoguļo izmaiņu.
  6. Ja policy prasa, saglabājiet audita ierakstu ārpus lomas etiķetes.

Etiķetes maiņa bez noraidīta ceļa testa nav pietiekams pierādījums, ka tiek piemērots mazākās privilēģijas princips.

Biežākie robežgadījumi

  • Admin nevar nevienu paaugstināt līdz owner vai mainīt esošā owner lomu.
  • Lietotāju nevar pievienot unit vai team, kamēr viņš nepieder organization.
  • Unit un team dalībnieki var noņemt sevi; organization dalība paliek, ja to atsevišķi noņem.
  • Noņemot organization dalību, savā versijā pārbaudiet novecojušas unit, team, group, share un sesiju sekas.
  • UI emblēmu krāsas ir prezentācija, ne drošības kontrole. Vienmēr paļaujieties uz servera autorizāciju un noraidītu ceļu testiem.