Enterprise CI/CD infrastructure requires fine-grained Role-Based Access Control (RBAC) to ensure that developers, operators, and automated systems only possess access rights necessary for their responsibilities (Principle of Least Privilege).
While global security strategies control system-wide features, Jenkins supports item-level entitlement management via the Matrix Authorization Strategy Plugin. This allows administrators to override or extend global ACLs on individual jobs.
This challenge configures per-job security for an existing job named Packages:
sam: Granted Job/Build, Job/Configure, and Job/Read permissions.rohan: Granted Job/Build, Job/Cancel, Job/Configure, Job/Read, Run/Update, and SCM/Tag permissions.graph TD
subgraph GlobalSecurity ["Jenkins Global Security Controller"]
GlobalMatrix["Authorization Strategy:<br/>Project-based Matrix Authorization"]
AuthGroup["Authenticated Users: Overall/Read"]
end
subgraph JobACL ["Packages Job Security Settings"]
EnableJobSec["Enable project-based security"]
InheritStrategy["Inheritance Strategy:<br/>Inherit permissions from parent ACL"]
SamACL["User: sam<br/>- Job/Build<br/>- Job/Configure<br/>- Job/Read"]
RohanACL["User: rohan<br/>- Job/Build<br/>- Job/Cancel<br/>- Job/Configure<br/>- Job/Read<br/>- Run/Update<br/>- SCM/Tag"]
end
GlobalMatrix --> EnableJobSec
AuthGroup --> InheritStrategy
InheritStrategy --> SamACL
InheritStrategy --> RohanACL
Unlike basic security models where all authenticated users share global permissions, the Project-based Matrix Authorization Strategy exposes an Access Control List (ACL) configuration table on individual job configuration pages.
When enabling job-level security, Jenkins provides three inheritance strategies:
Job/Build: Allows triggering build runs.Job/Cancel: Allows stopping active or queued build runs.Job/Configure: Allows modifying job configuration parameters and build steps.Job/Read: Allows viewing the job and its build history.Run/Update: Allows editing build descriptions and build display names.SCM/Tag: Allows creating SCM tags from successful build runs.8080admin / Adm!n321PackagesMatrix Authorization Strategy| User Account | Password | Scope | Granted Permissions |
|---|---|---|---|
sam |
sam@pass12345 |
Job | Build, Configure, Read |
rohan |
rohan@pass12345 |
Job, Run, SCM | Job/Build, Job/Cancel, Job/Configure, Job/Read, Run/Update, SCM/Tag |
adminAdm!n321
Packages JobFrom the main dashboard, confirm that the Packages Freestyle job exists:

From the left menu, click Manage Jenkins:

Matrix Authorization Strategy.


admin.

Packages Job ConfigurationPackages job.
Inherit permissions from parent ACL

sam Permissionssam.sam and select:
Build, Configure, Readsam Job: Build, Configure, Read.
rohan Permissionsrohan.rohan and select:
Build, Cancel, Configure, ReadUpdateTagrohan Job: Build, Cancel, Configure, Read · Run: Update · SCM: Tag.
sam Login & Accessadmin and sign in as sam:
samsam@pass12345
Packages job page. Confirm that sam can see Build Now, Configure, and job details according to his assigned permissions:
rohan Login & Accesssam and sign in as rohan:
rohanrohan@pass12345
Packages job page. Confirm that rohan has full access to Build, Cancel, Configure, Update, and Tag actions:
The job-level authorization rules for Packages have been successfully configured and verified!