jenkinsci / jenkinsci/lockable-resources-plugin
Missing permission Job/Configure for Administrator
- Dominant language
- Java
- Stars
- 99
- Forks
- 205
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 8
Description
### Jenkins and plugins versions report
Environment
```text
Jenkins: 2.426.3
OS: Linux - 3.10.0-1160.80.1.el7.x86_64
Java: 17.0.9 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
---
Office-365-Connector:4.21.0
active-directory:2.35
amazon-ecr:1.114.vfd22430621f5
analysis-model-api:11.15.0
ansible:307.va_1f3ef06575a_
ansicolor:1.0.4
ant:497.v94e7d9fffa_b_9
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
apache-httpcomponents-client-5-api:5.3.1-1.0
authentication-tokens:1.53.v1c90fd9191a_b_
authorize-project:1.7.1
aws-credentials:218.v1b_e9466ec5da_
aws-java-sdk:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-cloudformation:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-codebuild:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-ec2:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-ecr:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-ecs:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-efs:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-elasticbeanstalk:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-iam:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-kinesis:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-logs:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-minimal:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-secretsmanager:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-sns:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-sqs:1.12.633-430.vf9a_e567a_244f
aws-java-sdk-ssm:1.12.633-430.vf9a_e567a_244f
bootstrap5-api:5.3.2-3
bouncycastle-api:2.30.1.77-225.v26ea_c9455fd9
branch-api:2.1148.vce12cfcdf090
build-timeout:1.32
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.0.2
cloud-stats:336.v788e4055508b_
cloudbees-folder:6.858.v898218f3609d
command-launcher:107.v773860566e2e
commons-httpclient3-api:3.1-3
commons-lang3-api:3.13.0-62.v7d18e55f51e2
commons-text-api:1.11.0-95.v22a_d30ee5d36
conditional-buildstep:1.4.3
config-file-provider:968.ve1ca_eb_913f8c
configuration-as-code:1775.v810dc950b_514
copyartifact:722.v0662a_9b_e22a_c
credentials:1319.v7eb_51b_3a_c97b_
credentials-binding:657.v2b_19db_7d6e6d
dark-theme:416.v535839b_c4e88
data-tables-api:1.13.8-2
display-url-api:2.200.vb_9327d658781
docker-commons:439.va_3cb_0a_6a_fb_29
docker-java-api:3.3.4-86.v39b_a_5ede342c
docker-plugin:1.5
docker-workflow:572.v950f58993843
dtkit-api:3.0.2
durable-task:550.v0930093c4b_a_6
ec2:1648.vf3d852e00486
echarts-api:5.4.3-2
email-ext:2.104
embeddable-build-status:467.v4a_954796e45d
favorite:2.208.v91d65b_7792a_c
font-awesome-api:6.5.1-2
forensics-api:2.3.0
git:5.2.1
git-client:4.6.0
github:1.38.0
github-api:1.318-461.v7a_c09c9fa_d63
github-branch-source:1772.va_69eda_d018d4
github-checks:554.vb_ee03a_000f65
gitlab-api:5.3.0-91.v1f9a_fda_d654f
gitlab-branch-source:702.v7dde70ed1522
gradle:2.10
gson-api:2.10.1-15.v0d99f670e0a_7
handy-uri-templates-2-api:2.1.8-30.v7e777411b_148
htmlpublisher:1.32
instance-identity:185.v303dc7c645f9
ionicons-api:56.v1b_1c8c49374e
jackson2-api:2.16.1-373.ve709c6871598
jacoco:3.3.5
jakarta-activation-api:2.0.1-3
jakarta-mail-api:2.0.1-3
javadoc:243.vb_b_503b_b_45537
javax-activation-api:1.2.0-6
javax-mail-api:1.6.2-9
jaxb:2.3.9-1
jdk-tool:73.vddf737284550
jersey2-api:2.41-133.va_03323b_a_1396
jira:3.12
jjwt-api:0.11.5-77.v646c772fddb_0
jobConfigHistory:1229.v3039470161a_d
joda-time-api:2.12.7-29.v5a_b_e3a_82269a_
jquery:1.12.4-1
jquery3-api:3.7.1-1
jsch:0.2.16-86.v42e010d9484b_
json-api:20240205-27.va_007549e895c
json-path-api:2.9.0-33.v2527142f2e1d
junit:1259.v65ffcef24a_88
label-linked-jobs:6.0.1
ldap:711.vb_d1a_491714dc
lockable-resources:1240.v43673a_a_7944a_
mailer:463.vedf8358e006b_
mapdb-api:1.0.9-28.vf251ce40855d
material-theme:0.5.2-rc100.6121925fe229
matrix-auth:3.2.1
matrix-project:822.824.v14451b_c0fd42
maven-plugin:3.23
metrics:4.2.21-449.v6960d7c54c69
mina-sshd-api-common:2.12.0-90.v9f7fb_9fa_3d3b_
mina-sshd-api-core:2.12.0-90.v9f7fb_9fa_3d3b_
msbuild:1.30
next-build-number:1.8
node-iterator-api:55.v3b_77d4032326
okhttp-api:4.11.0-172.vda_da_1feeb_c6e
opentelemetry:3.1111.vc2733c03b_db_1
pam-auth:1.10
parameterized-trigger:787.v665fcf2a_830b_
pipeline-aws:1.43
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:42.v0739460cda_c4
pipeline-graph-analysis:202.va_d268e64deb_3
pipeline-graph-view:215.vc0ea_557e4d6f
pipeline-groovy-lib:704.vc58b_8890a_384
pipeline-input-step:477.v339683a_8d55e
pipeline-milestone-step:111.v449306f708b_7
pipeline-model-api:2.2175.v76a_fff0a_2618
pipeline-model-definition:2.2175.v76a_fff0a_2618
pipeline-model-extensions:2.2175.v76a_fff0a_2618
pipeline-rest-api:2.34
pipeline-stage-step:305.ve96d0205c1c6
pipeline-stage-tags-metadata:2.2175.v76a_fff0a_2618
pipeline-stage-view:2.34
plain-credentials:143.v1b_df8b_d3b_e48
plugin-util-api:3.8.0
prism-api:1.29.0-10
publish-over:0.22
publish-over-cifs:0.16
publish-over-ftp:1.17
pubsub-light:1.18
resource-disposer:0.23
run-condition:1.7
scm-api:683.vb_16722fb_b_80b_
script-security:1326.vdb_c154de8669
shelve-project-plugin:3.2
snakeyaml-api:2.2-111.vc6598e30cc65
solarized-theme:0.1
sse-gateway:1.26
ssh-credentials:308.ve4497b_ccd8f4
ssh-slaves:2.948.vb_8050d697fec
sshd:3.322.v159e91f6a_550
structs:337.v1b_04ea_4df7c8
subversion:2.17.3
theme-manager:215.vc1ff18d67920
timestamper:1.26
token-macro:400.v35420b_922dcb_
trilead-api:2.133.vfb_8a_7b_9c5dd1
variant:60.v7290fc0eb_b_cd
warnings-ng:10.7.0
workflow-aggregator:596.v8c21c963d92d
workflow-api:1291.v51fd2a_625da_7
workflow-basic-steps:1042.ve7b_140c4a_e0c
workflow-cps:3867.v535458ce43fd
workflow-durable-task-step:1331.vc8c2fed35334
workflow-job:1385.vb_58b_86ea_fff1
workflow-multibranch:773.vc4fe1378f1d5
workflow-scm-step:415.v434365564324
workflow-step-api:657.v03b_e8115821b_
workflow-support:865.v43e78cc44e0d
ws-cleanup:0.45
xcode-plugin:2.0.17-565.v1c48051d46ef
xunit:3.1.3
```
### What Operating System are you using (both controller, and any agents involved in the problem)?
Linux, Docker
### Reproduction steps
1. Configure account permission Overall/Administer
2. Log in with the above account
3. Open Pipeline Syntax page on a job
4. Select lock step
### Expected Results
I can configure the lock plugin with settings from the system
### Actual Results
An error message stating that this user does not have the permission Job/Configure
### Anything else?
Yes, the account doesn't have Job/Configure directly specified because it's provided indirectly from Overall/Administer
### Are you interested in contributing a fix?
_No response_
Contributor guide
Research direction
Reproduce the issue by opening Pipeline Syntax for a job, selecting the lock step, and checking the permission error for an account with Overall/Administer. Trace the lock step's permission handling and identify the relevant test entry point. Done means Overall/Administer users can configure the lock plugin without Job/Configure being directly assigned, with regression coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- authorization, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100