[Spike] Split-up permission - execute background and foreground
Problem
We have new requirements that expand the scope of role-based permissions for DAP:
Expanded Access Control Requirements:
- Customers want complete control over user access to AI via DAP, including:
- Agentic Chat in non-namespace contexts (e.g., https://gitlab.com/dashboard/todos)
- Foundational agents (Planner, Security Analyzer)
Execution Model Complexity:
- We've identified two distinct execution patterns for agents and flows:
- Background (remote) execution: Requires CI/CD pipelines, consumes compute minutes, currently restricted to Developer+ roles
- Foreground (local) execution: Runs synchronously without pipelines, currently accessible to Guest+ roles
- Both agents and flows can execute in either mode, but the permission requirements differ based on execution type, not the artifact type (agent vs. flow)
Execution permission split:
We want to split the existing Execute permission into two permissions. Naming TBD.
- Execute foreground for Guest+
- Execute background for Developer+ because of pipeline limitation
Current State:
- Issue #578370 (closed) already mapped locations, permissions, and policies requiring dynamic role-based permissions for background execution.
- The scope now needs to expand to cover foreground execution, Agentic Chat, and foundational agents that are accessible to guest+ roles.
Foreground (IDE) execution set up
Proposal
Research and document the current permission controls and code locations for features that support Guest+ access:
- Agentic Chat - particularly in non-namespace contexts
- Foundational agents (Planner, Security Analyzer)
- Foreground (local) execution of custom agents and flows
- Other DAP features accessible outside namespace contexts or without pipeline requirements.
This research will determine whether we can include the split of the "execute" permission into two separate permissions (execute_background and execute_foreground) in our project or implement a different control mechanism.
Next Steps
-
Research existing usage of Agentic Chat with roles lower than Developer (Guest, Reporter) -
Research existing usage of foundational agents with roles lower than Developer -
Research existing foreground (local) execution patterns for agents and flows -
Document code locations that control execution for the above features -
Document current permission checks and authorization logic for Guest+ accessible features -
Determine if execute permission should be split into background/foreground variants -
Assess impact on existing work in #578370 (closed) and parent epic &19601
Edited by Katherine Richards