How RBAC should work across organizations, workspaces and projects

A practical guide to scoping role-based access control across an org→workspace→project hierarchy, applying least privilege and separation of duties, and designing durable role sets.

Estimated time: 9 min · Difficulty: intermediate

Overview

Explain how to design and reason about role-based access control that is scoped to a nested org→workspace→project hierarchy, so access stays least-privilege and auditable as teams scale.

Organization and workspace administrators designing access models, plus project managers, BAs, QA leads and developers who need to understand what their roles can and cannot do.

What RBAC is trying to solve

Role-based access control (RBAC) answers a deceptively simple question: who is allowed to do what, and where? Instead of granting permissions to individuals one at a time, RBAC groups permissions into roles that map to job functions — administrator, project manager, tester, developer, viewer — and then assigns people to roles. This makes access understandable, reviewable and repeatable as an organization grows.

In a software delivery platform the "where" matters as much as the "what". A test lead should be able to manage test plans in one project without touching finance's projects, and an organization administrator should govern tenant-wide settings without needing to be added to every project by hand. That is why access is best expressed against a hierarchy rather than a flat list.

Scope: the org → workspace → project hierarchy

A nested hierarchy — Organization → Workspace → Space → Project — gives you natural scopes to attach roles to. A grant made high in the tree can cascade downward; a grant made low stays contained.

The guiding rule is to grant at the lowest scope that does the job. Assigning someone a project role gives them exactly one project; assigning an org role because it was faster hands them the entire tenant. Scope discipline is what keeps a growing platform from drifting into everyone-can-see-everything.

Least privilege

Least privilege means each role carries only the permissions its function requires, and nothing "just in case." A BA drafting requirements does not need to configure AI budgets; a tester executing runs does not need to change organization security policy. Narrow roles limit the damage a mistake or a compromised account can cause, and they make audit logs meaningful — if a role couldn't perform an action, you can rule it out during an investigation.

Least privilege is a practice, not a one-time setup. Access should be reviewed periodically and whenever someone changes teams, because the most common failure mode is not over-granting on day one — it is forgetting to revoke.

Separation of duties

Separation of duties (SoD) ensures that no single person controls a sensitive action end to end. The classic pattern is author versus approver: the person who proposes a change should not be the person who approves it. In delivery workflows this shows up in several places — reviewing AI-generated test cases before they are saved, approving a coding agent's pull request before merge, or signing off on release readiness. RBAC provides the raw capability split (who can author, who can approve); approval workflows enforce the sequencing. Together they make sure privileged outcomes always involve at least two roles, and both actions are recorded.

Common role designs

Most teams converge on a small, layered set:

Design the roles first, then assign people. Resist creating a bespoke role per person; a handful of well-scoped roles is easier to reason about and review than dozens of near-duplicates.

How KYXO helps

KYXO models RBAC directly on its Organization → Workspace → Space → Project hierarchy, so you can grant access at the scope a role actually needs — organization-wide, a single workspace, or one project — instead of over-exposing the tenant. Tenant isolation, MFA and SSO, and audit logs back the role model, and privileged capabilities such as AI provider configuration, BYOK keys and model budgets and coding agents are governed by the same scoped roles rather than treated as exceptions. Separation of duties is reinforced by human approval gates — for example, reviewers approving work that a different role authored — and every grant and approval feeds the end-to-end audit trail so access decisions stay explainable over time.

Tips

Frequently asked questions

What is the difference between an organization admin and a workspace admin?
An organization admin governs tenant-wide settings — identity, SSO/MFA policy, the role catalog, and which workspaces exist. A workspace admin manages membership, spaces and projects inside a single workspace and cannot reach into other workspaces or change org-level policy. Scoping the two roles this way keeps blast radius small: a workspace admin can move fast locally without holding keys to the whole tenant.
Why not just give everyone a broad role to avoid access friction?
Broad roles feel convenient but they defeat least privilege and separation of duties, widen the blast radius of a compromised account, and make audit logs meaningless because everyone could have done anything. It is better to grant narrowly and add scoped access on request; a good platform makes targeted grants cheap enough that broad roles are unnecessary.
How does RBAC interact with approval workflows?
RBAC decides who may perform or request an action; approval workflows decide whether a requested action proceeds. They are complementary. Separation of duties is usually enforced by combining them — a role can author or propose a change, but a different role must approve it before it takes effect, and both events are recorded in the audit log.
Should AI usage and coding agents be governed by the same roles?
Yes. AI provider configuration, API keys and coding agents are privileged capabilities. Configuring providers or budgets, adding a key, or letting an agent open a pull request should each require an appropriate scoped role, and the resulting actions should route through the same approval gates and audit trail as any other sensitive operation.

Related