{{ message }}
Repository navigation
[DSIP-104][ApiServer][UI] Introduce project-scoped authorization - #18718
Open
ruanwenjun wants to merge 7 commits into
Open
ruanwenjun wants to merge 7 commits into
ruanwenjun wants to merge 7 commits into
Conversation
Comment on lines
+78
to
+79
| if (!resourceAuthorizationDao.isAuthorized(projectCode, ProjectResourceType.DATASOURCE, | ||
| datasourceId.toString())) { |
ruanwenjun
force-pushed
the
Feature-17923
branch
from
October 23, 2026 01:52
ec683e6 to
a10d103
Compare
ruanwenjun
force-pushed
the
Feature-17923
branch
from
October 23, 2026 03:35
dc7a83e to
f05a11d
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Was this PR generated or assisted by AI?
YES. The implementation, UI, schema upgrades, tests and documentation were generated or assisted by AI.
Purpose of the pull request
Implements DSIP-104: users receive operation permissions within a project, and shared resources are granted to projects. A protected operation requires the relevant project permission and all resource grants needed by that operation.
Closes #17923.
Authorization model
The two diagrams keep the same user and the same eight resource types in view. Follow the arrows to compare who receives a grant.
Before DSIP-104 — mixed authorization scopes
Personal datasource and Kubernetes namespace grants originate from the user. Worker groups already have a separate project association. Tenants, queues, environments, alert groups and task groups follow their existing ownership, project fields or resource-specific rules. The figure summarizes these different scopes; it does not imply one uniform legacy grant contract.
Editable draw.io source — before
After DSIP-104 — resources are granted to the project
Users receive
VIEW,DEVELOP,PUBLISH,EXECUTE,MANAGE_SCHEDULESandMANAGE_MEMBERSwithin project P. Shared resource grants originate from project P, using the same model for datasources, Kubernetes namespaces, worker groups, tenants, queues, environments, alert groups and task groups.System administrators grant or revoke project resources. System administrators and members with
MANAGE_MEMBERSassign permissions within the project. Use grants confer no resource modification, deletion or re-granting rights. System administrators pass the user operation check, but required project resource grants still apply.Editable draw.io source — after
Existing instances use their actual project. Nested subworkflows are checked against each child workflow's own project permissions and resource grants. Upgrade and revocation boundaries are described below.
Brief change log
VIEW,DEVELOP,PUBLISH,EXECUTE,MANAGE_SCHEDULESandMANAGE_MEMBERS.Upgrade: Legacy authorization tables and data are retained without automatic migration or authorization fallback. Administrators must explicitly reassign project member permissions and resource grants. Resource files remain outside this project-resource grant model and retain their existing authorization mechanism.
Revocation: Resource grants are not rechecked for existing running/queued instances, scheduled triggers or automatic retries. Revocation does not stop those instances or disable existing schedules.
Verify this pull request
Latest code follow-up (
712e2583f9):git diff --checkpassed.Earlier implementation validation (recorded before the latest follow-up; these broader checks were not repeated):
Pull Request Notice
Pull Request Notice