elsa-workflows / elsa-workflows/elsa-core
Feature Request: Global User Access in Multi-Tenant Systems
- Dominant language
- C#
- Stars
- 7.9k
- Forks
- 1.5k
- Avg merge
- 15h 22m
- Merged PRs (30d)
- 114
Description
## Feature Request
### Problem Overview
In a multi-tenant setup within Elsa Workflow, users are typically scoped to a specific tenant, meaning they can only access workflows, configurations, and data tied to their assigned tenant. However, there are cases where administrators or global users need visibility and control over all tenants without being explicitly assigned to each one.
Currently, Elsa does not seem to natively support this capability, which can make cross-tenant management cumbersome.
### Proposed Solution
I would like Elsa Workflow to introduce global user access, allowing designated users (e.g., super admins) to:
1. Access and manage workflows across all tenants without needing to switch tenants explicitly.
2. View and interact with workflow instances across tenants from a unified dashboard.
3. Configure and monitor workflow execution across tenants without duplicating user assignments.
4. Perform actions like suspending, resuming, or terminating workflows across all tenants.
5. Implement fine-grained permissions to define what global users can or cannot do.
A possible approach could be to introduce a special role or flag in Elsa’s identity and permission system that allows unrestricted tenant access while maintaining security constraints.
### Alternative Solutions
1. Manually assigning the same user to every tenant – This is inefficient, especially in a system with a large number of tenants, and makes administration complex.
2. Custom middleware to override tenant-scoped restrictions – This requires modifying Elsa’s behavior at runtime and may introduce security risks or inconsistencies.
3. External identity provider workarounds – While some authentication systems support global roles, Elsa would still need to enforce and interpret these roles at the workflow level.
### Use Cases
- System Administrators: A super admin needs to monitor and troubleshoot workflows across all tenants from a central dashboard.
- Multi-Tenant SaaS Applications: A SaaS platform running Elsa wants support personnel to intervene in workflows for any tenant without needing separate accounts per tenant.
- Audit & Compliance Teams: Regulatory officers need read-only access to all tenant workflows for auditing purposes.
### Impact of Feature
- Reduces administrative overhead by eliminating the need for duplicate user assignments across tenants.
- Enhances visibility and control for system-wide monitoring and workflow execution.
- Improves security by providing a structured way to define and enforce global user access instead of relying on ad-hoc workarounds.
- Makes multi-tenancy more flexible for enterprises that need centralized governance over workflows.
### Additional Context
Does Elsa’s existing permission system support multi-tenant role inheritance? If not, adding role-based access control (RBAC) with tenant-level overrides could be a useful approach.
Similar implementations exist in identity providers like Azure AD (Global Admins) or Keycloak (Realm Admins), which could serve as inspiration.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by reviewing Elsa’s identity and permission system, including its tenant-scoped roles, then determine the design needed for global users, tenant-wide workflow access, and fine-grained permissions; done should include a clearly defined and securely enforced behavior for the listed administrator, support, and audit use cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- authorization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100