fixed: job assignee can remove or update any issue created by the task owner #4424 (#4436)

main
Kiwon Jung 4 years ago committed by GitHub
parent 42fdea9466
commit c69f10b4cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Permission error occured when accessing the JobCommits (<https://github.com/openvinotoolkit/cvat/issues/4434>)
- job assignee can remove or update any issue created by the task owner (<https://github.com/openvinotoolkit/cvat/issues/4424>)
### Security
- TDB

@ -10,10 +10,10 @@ view,Issue,Sandbox,"Project:owner, Project:assignee, Task:owner, Task:assignee,
view,Issue,Organization,N/A,,GET,/issues/{id},User,Maintainer
view,Issue,Organization,"Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner, Assignee",,GET,/issues/{id},None,Worker
update,Issue,Sandbox,N/A,,PATCH,/issues/{id},Admin,N/A
update,Issue,Sandbox,"Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner",,PATCH,/issues/{id},Worker,N/A
update,Issue,Sandbox,"Project:owner, Project:assignee, Task:owner, Task:assignee, Owner",,PATCH,/issues/{id},Worker,N/A
update,Issue,Organization,N/A,,PATCH,/issues/{id},User,Maintainer
update,Issue,Organization,"Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner",,PATCH,/issues/{id},Worker,Worker
update,Issue,Organization,"Project:owner, Project:assignee, Task:owner, Task:assignee, Owner",,PATCH,/issues/{id},Worker,Worker
delete,Issue,Sandbox,N/A,,DELETE,/issues/{id},Admin,N/A
delete,Issue,Sandbox,"Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner",,DELETE,/issues/{id},Worker,N/A
delete,Issue,Sandbox,"Project:owner, Project:assignee, Task:owner, Task:assignee, Owner",,DELETE,/issues/{id},Worker,N/A
delete,Issue,Organization,N/A,,DELETE,/issues/{id},User,Maintainer
delete,Issue,Organization,"Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner",,DELETE,/issues/{id},Worker,Worker
delete,Issue,Organization,"Project:owner, Project:assignee, Task:owner, Task:assignee, Owner",,DELETE,/issues/{id},Worker,Worker
1 Scope Resource Context Ownership Limit Method URL Privilege Membership
10 view Issue Organization N/A GET /issues/{id} User Maintainer
11 view Issue Organization Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner, Assignee GET /issues/{id} None Worker
12 update Issue Sandbox N/A PATCH /issues/{id} Admin N/A
13 update Issue Sandbox Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner Project:owner, Project:assignee, Task:owner, Task:assignee, Owner PATCH /issues/{id} Worker N/A
14 update Issue Organization N/A PATCH /issues/{id} User Maintainer
15 update Issue Organization Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner Project:owner, Project:assignee, Task:owner, Task:assignee, Owner PATCH /issues/{id} Worker Worker
16 delete Issue Sandbox N/A DELETE /issues/{id} Admin N/A
17 delete Issue Sandbox Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner Project:owner, Project:assignee, Task:owner, Task:assignee, Owner DELETE /issues/{id} Worker N/A
18 delete Issue Organization N/A DELETE /issues/{id} User Maintainer
19 delete Issue Organization Project:owner, Project:assignee, Task:owner, Task:assignee, Job:assignee, Owner Project:owner, Project:assignee, Task:owner, Task:assignee, Owner DELETE /issues/{id} Worker Worker

@ -95,13 +95,17 @@ is_job_staff {
}
is_issue_admin {
is_job_staff
is_task_staff
}
is_issue_admin {
is_issue_owner
}
is_issue_staff {
is_job_staff
}
is_issue_staff {
is_issue_admin
}
@ -234,7 +238,7 @@ allow {
allow {
{ utils.UPDATE, utils.DELETE }[input.scope]
input.auth.organization.id == input.resource.organization.id
is_issue_admin
utils.has_perm(utils.WORKER)
organizations.is_member
is_issue_admin
}

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save