elsa-workflows / elsa-workflows/elsa-foundation

RBAC: Manage host roles through the Studio management bridge

Open
#832 0 comments 0 reactions 0 assignees View on GitHub
ready-for-agent
Dominant language
C#
Stars
5
Forks
1
Avg merge
3h 18m
Merged PRs (30d)
261

Description

## Parent

- #806

## What to build

Extend the reusable scope-owned role model with a distinct host role plane. Authorized operators can administer Host Operator, Tenant Support Operator, and Security Auditor roles through the Studio management bridge while the browser continues to use its normal user session and never receives the Elsa host management key.

Host assignments authorize host-control operations only. They do not select a tenant, contribute tenant permissions, or expose tenant workflow content. Tenant mutations remain structurally incapable of granting host authority.

Covers PRD user stories 1-3, 6, 12-22, 47-50, 57-59, 73, 75-76, and 95-99.

## Acceptance criteria

- [ ] Host roles and assignments persist in a distinct host authorization scope using the shared flat, allow-only, revisioned role contract.
- [ ] Tenant role mutation cannot contain a host permission, and host role assignment cannot contribute to any tenant effective-permission set.
- [ ] Host role and assignment APIs provide the same concurrency, idempotency, immutability, deletion-conflict, validation, and audit behavior as tenant administration.
- [ ] Studio exposes host role administration only when the host capability is available and the user has the required host permission.
- [ ] Browser calls traverse the Studio management bridge, which validates the user session and host permission and keeps the host management credential server-side.
- [ ] A Host Operator can perform an allowed host-control action but cannot read a representative tenant workflow without a later tenant support context.
- [ ] Similar role names in the host and a tenant remain independent identities and cannot be assigned across scopes.
- [ ] Server, bridge, browser, and security tests prove host/tenant isolation, capability-plus-entitlement behavior, direct-route denial, audit output, and absence of management-key exposure.

## Blocked by

- #830

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the parent issue #806 and the blocking issue #830, then trace the server, Studio management bridge, browser, and security-test surfaces named in the acceptance criteria. Done means distinct host authorization scope, host/tenant isolation, capability and entitlement checks, server-side credential protection, audit behavior, and passing server, bridge, browser, and security tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
authorization, backend-api-design, full-stack, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.