Skip to Content
OrganizationsRollen und Berechtigungsumfang

Rollen und Berechtigungsumfang

OpenFactory speichert unabhängige Rollen auf Organisations-, Unit- und Team-Ebene. Ein Rollenname beschreibt einen Scope; er ist keine universelle Berechtigung, die automatisch für jede API oder jedes Produktfeature gilt.

Scope-Modell

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

Organisationsmitgliedschaft ist die äußere Grenze. Ein User muss Organisationsmitglied sein, bevor ein Administrator ihn zu Units oder Teams hinzufügt. Mitgliedschaft wird auf jeder Ebene unabhängig geprüft; leiten Sie keine Unit- oder Team-Rolle aus einer Organisationsrolle in anderem Kontext ab.

Organisationsrollen

Die aktuelle Organization-Management-API erzwingt diese Berechtigungen:

OperationOwnerAdminMember
Organisation, Mitglieder, Groups, Units und Teams anzeigenJaJaJa
Organisationsname oder -beschreibung bearbeitenJaJaNein
Groups anlegen, bearbeiten oder löschen und Group-Mitglieder verwaltenJaJaNein
Ordentliche Mitglieder einladen oder entfernenJaJaNein
Rollen ordentlicher Member/Admin ändernJaJaNein
Owner einladen oder befördernJaNeinNein
Bestehenden Owner ändern oder entfernenJaNeinNein
Units anlegen oder löschenJaJaNein
Organisation löschenJaNeinNein
Organisation verlassenJa, außer alleiniger OwnerJaJa

Eine Organisation kann mehr als einen Owner haben. Die API verhindert, dass der alleinige Owner geht, bis ein weiterer Owner existiert oder die Organisation gelöscht wird. Es gibt keine separate „transfer ownership“-Aktion in dieser API; ein Owner setzt die Rolle eines anderen Members auf owner, dann kann er den vorherigen Owner wie beabsichtigt ändern oder entfernen.

Unit-Rollen

Organisations-Owner und -Admins können jede Unit verwalten. Innerhalb einer Unit gewährt die aktuelle Organization-Management-API unit_admin diese Admin-Operationen:

  • Unit bearbeiten;
  • Unit-Member-Rollen hinzufügen, entfernen und ändern;
  • Teams in dieser Unit anlegen, bearbeiten und löschen;
  • Team-Mitglieder in dieser Unit hinzufügen und verwalten.

Nur Organisations-Owner oder -Admin kann die Unit selbst löschen.

base_creator, base_approver und Unit-member sind gespeicherte Rollenlabels für Base-Image-Workflow-Policy. Die Organization-CRUD-Routes beweisen nicht selbst, dass jede Create-, Approve- oder Deployment-Aktion anderswo diese Labels durchsetzt. Prüfen Sie Authorization-Verhalten des konkreten Build- oder Approval-Workflows, bevor Sie es als Control vertrauen.

Team-Rollen

Organisations-Owner/Admins und unit_admin der Parent-Unit können Team-Mitgliedschaft verwalten. Ein team_lead kann:

  • Teamname oder -beschreibung bearbeiten;
  • Team-Mitglieder hinzufügen und entfernen;
  • Team-Member-Rollen ändern.

Ein team_lead kann das Team über die aktuelle Organisations-API nicht löschen; diese Operation ist Organisations-Owner/Admin oder Parent-unit_admin vorbehalten.

variant_creator, variant_deployer und variant_user drücken beabsichtigte Variant-Workflow-Verantwortlichkeiten aus. Lesen Sie sie nicht als Nachweis, dass jeder Variant-Endpoint eine vollständige Create/Edit/Deploy-Matrix durchsetzt. Testen Sie exakten Workflow und Denied Paths in der ausgerollten Version.

Groups sind anders

Groups sind Organisations-Level-Sharing-Sammlungen, keine weitere Rollenhierarchie. Owner und Admins legen Groups an und verwalten Group-Mitgliedschaft; alle Organisationsmitglieder können Groups und deren Mitglieder listen. Group-Mitgliedschaft macht einen User nicht zum Organisations-Admin, Unit-Admin oder Team-Lead.

Rolle sicher ändern

  1. Ziel-Organisation, Unit oder Team bestätigen.
  2. Aktuelle effektive Mitgliedschaften des Users auf allen drei Scopes dokumentieren.
  3. Eine Rollenänderung anwenden.
  4. Erlaubte und verweigerte Operation mit der eigenen Session des Users testen.
  5. Prüfen, dass gecachter UI-Zustand und bestehende Sessions die Änderung widerspiegeln.
  6. Audit-Record außerhalb des Rollenlabels aufbewahren, falls Ihre Policy es verlangt.

Eine Label-Änderung ohne Denied-Path-Test ist kein ausreichender Nachweis für Least-Privilege-Durchsetzung.

Häufige Edge Cases

  • Ein Admin kann niemanden zum Owner befördern oder die Rolle eines bestehenden Owners ändern.
  • Ein User kann nicht zu Unit oder Team hinzugefügt werden, bis er zur Organisation gehört.
  • Unit- und Team-Mitglieder können sich selbst entfernen; Organisationsmitgliedschaft bleibt, sofern nicht separat entfernt.
  • Organisationsmitgliedschaft-Entfernung sollte auf stale Unit-, Team-, Group-, Share- und Session-Effekte in Ihrer Version geprüft werden.
  • UI-Badge-Farben sind Präsentation, kein Security-Control. Verlassen Sie sich auf serverseitige Authorization und Denied-Path-Tests.