Skip to content
Open
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
271e675
[Feature-17923][ApiServer][UI] Introduce project-scoped authorization
ruanwenjun Oct 16, 2026
276a590
[Test-17923][E2E] Use project resource authorizations in fixtures
ruanwenjun Oct 16, 2026
2772432
[Test-17923][E2E] Wait for enabled resource selections
ruanwenjun Oct 16, 2026
3cba37b
[Fix-17923][ApiServer] Address project authorization review findings
ruanwenjun Oct 23, 2026
bf95574
[Docs-17923][Authorization] Add detailed project authorization diagram
ruanwenjun Oct 23, 2026
2fe81a3
[Docs-17923][Authorization] Compare legacy and project authorization …
ruanwenjun Oct 23, 2026
f05a11d
[Docs-17923][Authorization] Highlight grant ownership changes with re…
ruanwenjun Oct 23, 2026
4cdd094
Merge upstream dev into Feature-17923 and resolve workflow copy conflict
ruanwenjun Oct 29, 2026
ca111e3
[Fix-17923][Docs] Reference authorization diagrams in upgrade guide
ruanwenjun Oct 29, 2026
35fb65c
[Docs-17923] Remove legacy authorization draw.io source
ruanwenjun Oct 29, 2026
539c695
[Docs-17923] Keep only rendered authorization diagrams
ruanwenjun Oct 29, 2026
9c887a9
[Fix-17923][Authorization] Address project permission review findings
ruanwenjun Oct 29, 2026
2eca6ac
[Fix-17923][Authorization] Support explicit default tenant grants and…
ruanwenjun Oct 30, 2026
34cee24
[Fix-17923][Test] Complete project resource grants in workflow tests
ruanwenjun Oct 30, 2026
8130a4d
[Fix-17923][CI] Share current Maven artifacts with API test jobs
ruanwenjun Oct 30, 2026
e86016e
[Fix-17923][ApiServer] Align authorization checks and project API ass…
ruanwenjun Oct 30, 2026
0332c02
[Fix-17923][ApiServer] Apply VIEW visibility to batch workflow task r…
ruanwenjun Oct 30, 2026
514a283
docs: clarify project authorization boundaries
ruanwenjun Oct 30, 2026
2aaf1d4
[Fix-17923][API] Honor project-scoped delete permissions
ruanwenjun Nov 2, 2026
e51c111
[Fix-17923][ApiServer] Address project authorization review feedback
ruanwenjun Nov 4, 2026
9e9c19b
[Fix-17923][ApiServer] Simplify project permissions and close review …
ruanwenjun Nov 4, 2026
a1400b2
[Fix-17923][ApiServer] Avoid current child definition checks during r…
ruanwenjun Nov 4, 2026
34a4f3b
[Fix-17923][ApiServer] Fix authorization audit storage and recovery c…
ruanwenjun Nov 4, 2026
0182619
Merge branch 'dev' into Feature-17923
SbloodyS Nov 5, 2026
992e5c2
[Fix-17923][ApiServer] Validate child release states and clean delete…
ruanwenjun Nov 5, 2026
1856a02
[Fix-17923][Docs] Resolve upgrade note conflicts with dev
ruanwenjun Nov 6, 2026
680f586
[Fix-17923][ApiServer] Read task namespace without flattening nested …
ruanwenjun Nov 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion .github/workflows/api-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,17 @@ jobs:
-Pdocker,staging \
-Ddocker.tag=ci \
-Danalyze.skip=true
- name: Export Project Maven Artifacts
run: |
tar --exclude='*-sources.jar' --exclude='*-shade.jar' \
-czf /tmp/api-test-maven-artifacts.tar.gz \
-C "$HOME/.m2/repository" org/apache/dolphinscheduler
- uses: actions/upload-artifact@v6
name: Upload Project Maven Artifacts
with:
name: api-test-maven-artifacts
path: /tmp/api-test-maven-artifacts.tar.gz
retention-days: 1
- name: Export Docker Images
run: |
docker save apache/dolphinscheduler-standalone-server:ci -o /tmp/standalone-image.tar \
Expand Down Expand Up @@ -153,6 +164,15 @@ jobs:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-api-test
restore-keys: ${{ runner.os }}-maven-
- uses: actions/download-artifact@v8
name: Download Project Maven Artifacts
with:
name: api-test-maven-artifacts
path: /tmp
- name: Restore Project Maven Artifacts
run: |
mkdir -p "$HOME/.m2/repository"
tar -xzf /tmp/api-test-maven-artifacts.tar.gz -C "$HOME/.m2/repository"
- uses: actions/download-artifact@v8
name: Download Docker Images
with:
Expand All @@ -165,7 +185,7 @@ jobs:
run: df -h
- name: Run Test
run: |
./mvnw -B -f dolphinscheduler-api-test/pom.xml -am \
./mvnw -B -nsu -f dolphinscheduler-api-test/pom.xml -am \
-DfailIfNoTests=false \
-Dspotless.skip=true \
-Dtest=${{ matrix.case.class }} test
Expand Down
18 changes: 13 additions & 5 deletions docs/docs/en/contribute/join/security-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

This document is mainly used to describe the scope of work, responsibilities and key functions of users with different roles. By introducing user permissions and functions, it helps users understand the precautions and rules in the deployment, use, operation and maintenance stages. Developers can use this document to understand the boundaries between security vulnerabilities and normal functions.

## Project authorization boundaries (from 3.5.0)

The four project operation permissions are `VIEW`, `DEVELOP` (including definition publishing), `EXECUTE` (including schedule management) and `MANAGE_MEMBERS`. Users receive independent operation permissions within projects, and projects receive use grants for eight shared-resource types. Operations using resources check both dimensions. Use grants do not grant resource modification, deletion or re-granting rights, and member management does not include project resource authorization. System administrators pass project operation checks, but the relevant projects still need resource grants. Executing users do not need personal resource grants; resource files retain their existing authorization mechanism.

Lineage queries expose related cross-project nodes, edges and summaries without requiring `VIEW` on every related project; accessing related workflow details and operations still requires permission on their actual projects.

Revocation affects subsequent manual operations, but does not retroactively stop running or queued instances or recheck background triggers of existing schedules and automatic retries. Project authorization does not sandbox task code. See [Security (Authorization System)](../../guide/security/security.md#granted-permissions) for the full permission list, project creators' separate lifecycle permissions, cross-project checks and revocation rules.

## Apache DolphinScheduler Workflow

From understanding to using Apache DolphinScheduler, users generally go through the following stages.
Expand Down Expand Up @@ -31,17 +39,17 @@ Service deployment personnel need to have the authority to operate the server. S

### 2. System administrator

The system administrator has all the operation permissions of Apache DolphinScheduler. In actual use, the scope of use of the administrator user should be ensured, and the administrator user should be highly trusted not to abuse this function.
(1). The administrator user can operate queue management, tenant management, user management, alarm group management, worker group management, token management and other functions. The administrator user can operate all configurations, including important information such as sensitive credentials required to connect to resources. It is necessary to ensure that the person using the administrator user can operate the corresponding resources. At the same time, the administrator user can authorize operations on resources, data sources, projects, etc. in the user management module. The administrator user needs to clearly authorize the user to have all usage permissions for the corresponding resources.
System administrators manage global settings and pass project operation checks; operations using project resources still require project resource grants. In actual use, the scope of use of the administrator user should be ensured, and the administrator user should be highly trusted not to abuse this function.
(1). The administrator user can operate queue management, tenant management, user management, alarm group management, worker group management, token management and other functions. The administrator user can operate all configurations, including important information such as sensitive credentials required to connect to resources. It is necessary to ensure that the person using the administrator user can operate the corresponding resources. Administrators also assign project member permissions and project resource-use grants in Project Management and must understand the scope of these grants.
(2). System administrators have all the operational permissions that ordinary users have

### 3. Ordinary system users

Ordinary users of Apache DolphinScheduler are defined as actual workflow development and operation users. Of course, they also need to maintain some resources required during the workflow development process. These users should be highly trusted not to abuse this function.
Ordinary users of Apache DolphinScheduler develop and operate workflows using resources granted to their projects, within their project permissions. These users should be highly trusted not to abuse this function.

(1). Users can create workflows and tasks. For a list of supported task types, see [Task List]. Tasks will be executed in workers. Users can customize any command and code to run in a specified worker group. Be sure to pay attention to any command and code here. Users can execute all tasks under the task types supported by Apache DolphinScheduler, including shell, sql, and jump to other servers to execute shell scripts. At the same time, logs will be generated during the task running process. Users can view and download task running logs through the UI page.

(2). Users can create data source connections, modify and delete authorized connections including corresponding configurations, especially operations on sensitive credentials of authorized connections. These operations may have a certain impact on the resources themselves or the system. Data sources include many types. For details, please see [Data Source List] on the official website.
(2). Ordinary users can use datasources granted to projects where they hold the corresponding operation permissions. Datasource creation, global listing, details and sensitive configuration access, modification, connection testing and deletion are restricted to system administrators. Datasource creator status or project resource-use grants do not restore these management permissions for ordinary users.

### 4. Unlogged in users

Expand All @@ -51,7 +59,7 @@ In addition to the core workflow development and operation, the normal use of th

## Data source management

All users can operate data source management, and administrator users can operate after authorizing ordinary users. The corresponding permissions for data source task operation are provided by the data source connection, and the connection configuration should try to control the task execution permissions. In the data source configuration, users can customize the connection parameters and they will take effect on all tasks using the data source.
Datasource management is restricted to system administrators, including creation, global listing, details and sensitive configuration access, modification, connection testing and deletion. Ordinary users can query selectable datasources granted to a project where they hold `VIEW`, and configure or execute tasks within their corresponding project operation permissions. Project resource-use grants do not grant datasource management permissions. The corresponding permissions for data source task operation are provided by the data source connection, and the connection configuration should try to control the task execution permissions. In the data source configuration, users can customize the connection parameters and they will take effect on all tasks using the data source.

## Resource Center

Expand Down
15 changes: 10 additions & 5 deletions docs/docs/en/guide/project/project-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This page describes details regarding Project screen in Apache DolphinScheduler.

## Project List

On the project screen, list of all the existing projects along with details like name, owner, workflow definition, process instance, create and update time. This page also facilitates operations like create, edit, and delete project.
The project screen lists projects visible through `VIEW` (all projects for system administrators), along with details like name, owner, workflow definition, process instance, create and update time. This page also facilitates operations like create, edit, and delete project.

![project-list](../../../../img/new_ui/dev/project/project-list.png)

Expand All @@ -23,17 +23,22 @@ On the project screen, list of all the existing projects along with details like

![project-list](../../../../img/new_ui/dev/project/project-create.png)

## Project Worker Group Authorization
## Project Member Permissions and Resource Grants

- On the project management page, click the `Worker Group Authorization` button to enter the worker group authorization page, as shown in the figure below, select the worker group, click `WorkerGroup`, after successful authorization, the project can access the worker group.
![project-worker-group](../../../../img/new_ui/dev/project/project-worker-group-auth.png)
In Project Management, use member permissions to assign users' project operations and resource authorization to grant shared resources to the project. System administrators or users with `MANAGE_MEMBERS` can manage member permissions; only system administrators can grant or revoke project resources.

Worker groups are one of the eight supported resource types. The default `default` group also requires an explicit project grant. Workflow operations require the corresponding user project permission and, when resources are used, the project's resource grants. See [Security (Authorization System)](../security/security.md#granted-permissions) for the full rules, execution checks and revocation boundaries.

The following screenshot shows the legacy separate worker-group authorization screen for upgrade comparison only. From 3.5.0, use the unified project resource-authorization action.

![project-worker-group](../../../../img/new_ui/dev/project/project-worker-group-auth.png)

## Project Overview

- Click the project name link on the project management page to enter the project home page, as shown in the figure below, the project home page contains the task status statistics, process status statistics, and workflow definition statistics of the project. The introduction for those metrics:
- Task status statistics: Within the specified time range, count the number of task instances status as successful submission, running, ready to pause, pause, ready to stop, stop, failure, success, need fault tolerance, kill and waiting threads
- Process status statistics: Within the specified time range, count the number of workflow instances status as submission success, running, ready to pause, pause, ready to stop, stop, failure, success, need fault tolerance, kill and waiting threads
- Workflow definition statistics: Count the workflow definitions created by this user and granted by the administrator
- Workflow definition statistics: Count workflow definitions in the current project; viewing the project requires `VIEW`

![project-overview](../../../../img/new_ui/dev/project/project-overview.png)

Loading
Loading