Bird
Raised Fist0
Jenkinsdevops~10 mins

Authorization strategies (Matrix, role-based) in Jenkins - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to enable Matrix-based security in Jenkins configuration.

Jenkins
hudson.security.AuthorizationStrategy strategy = new [1]();
Drag options to blanks, or click blank then click option'
AGlobalMatrixAuthorizationStrategy
BRoleBasedAuthorizationStrategy
CProjectMatrixAuthorizationStrategy
DLegacyAuthorizationStrategy
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing RoleBasedAuthorizationStrategy which is for role-based, not matrix-based security.
2fill in blank
medium

Complete the code to assign the 'admin' role to a user in Role-Based Authorization Strategy.

Jenkins
roleBasedStrategy.assignRole("admin", [1]);
Drag options to blanks, or click blank then click option'
AuserId
BuserName
CjenkinsUser
Duser
Attempts:
3 left
💡 Hint
Common Mistakes
Using a user object instead of the username string.
3fill in blank
hard

Fix the error in this snippet that sets permissions for a role in Role-Based Authorization Strategy.

Jenkins
role.setPermissions([1]);
Drag options to blanks, or click blank then click option'
APermission.fromId("hudson.model.Hudson.Build")
BPermission.fromId("hudson.model.Hudson.Read")
CPermission.fromId("hudson.model.Hudson.Administer")
DPermission.fromId("hudson.model.Hudson.Delete")
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing Read or Build permissions which are limited rights.
4fill in blank
hard

Fill both blanks to create a new role with admin permissions and add it to the Role-Based Authorization Strategy.

Jenkins
Role [1] = new Role("admin", [2]);
roleBasedStrategy.addRole([1]);
Drag options to blanks, or click blank then click option'
AadminRole
BPermission.fromId("hudson.model.Hudson.Administer")
CPermission.fromId("hudson.model.Hudson.Read")
DuserRole
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'userRole' as variable name or Read permission instead of Administer.
5fill in blank
hard

Fill all three blanks to configure Role-Based Authorization Strategy: create a role, assign permissions, and add a user.

Jenkins
Role [1] = new Role("developer", [2]);
roleBasedStrategy.addRole([1]);
roleBasedStrategy.assignRole("developer", [3]);
Drag options to blanks, or click blank then click option'
AdevRole
BPermission.fromId("hudson.model.Item.Build")
CuserName
DPermission.fromId("hudson.model.Hudson.Administer")
Attempts:
3 left
💡 Hint
Common Mistakes
Using Administer permission for developer role or wrong variable names.

Practice

(1/5)
1. What is the main difference between Jenkins' Matrix Authorization Strategy and Role-Based Authorization Strategy?
easy
A. Matrix assigns permissions directly to users; Role-Based assigns permissions to roles.
B. Matrix uses roles; Role-Based assigns permissions directly to users.
C. Matrix is only for admins; Role-Based is for all users.
D. Matrix strategy is deprecated; Role-Based is the only supported method.

Solution

  1. Step 1: Understand Matrix Strategy

    Matrix strategy assigns specific permissions directly to individual users or groups.
  2. Step 2: Understand Role-Based Strategy

    Role-Based strategy assigns users to roles, and roles have predefined permissions.
  3. Final Answer:

    Matrix assigns permissions directly to users; Role-Based assigns permissions to roles. -> Option A
  4. Quick Check:

    Matrix = direct user permissions, Role-Based = roles with permissions [OK]
Hint: Matrix = user permissions, Role-Based = roles permissions [OK]
Common Mistakes:
  • Confusing roles with users in Matrix strategy
  • Thinking Matrix is deprecated
  • Assuming Role-Based assigns permissions directly to users
2. Which of the following is the correct way to enable Matrix Authorization Strategy in Jenkins configuration?
easy
A. Go to Manage Jenkins > Configure Global Security > Select 'Project-based Matrix Authorization Strategy'.
B. Go to Manage Jenkins > Configure System > Select 'Role-based security' and assign roles.
C. Go to Manage Jenkins > Configure Global Security > Select 'Matrix-based security' and assign permissions.
D. Go to Manage Jenkins > Configure Global Security > Select 'LDAP Authorization Strategy'.

Solution

  1. Step 1: Locate Security Settings

    Matrix Authorization Strategy is enabled under Manage Jenkins > Configure Global Security.
  2. Step 2: Select Correct Option

    Select 'Matrix-based security' to assign permissions directly to users or groups.
  3. Final Answer:

    Go to Manage Jenkins > Configure Global Security > Select 'Matrix-based security' and assign permissions. -> Option C
  4. Quick Check:

    Matrix security enabled via Configure Global Security > Matrix-based security [OK]
Hint: Matrix security is under Configure Global Security, not Configure System [OK]
Common Mistakes:
  • Choosing 'Role-based security' instead of 'Matrix-based security'
  • Selecting 'Project-based Matrix Authorization Strategy' for global settings
  • Confusing LDAP with Matrix strategy
3. Given this Role-Based Authorization Strategy setup:
Role: Developer - Permissions: Read, Build
User: alice assigned to Developer role
User: bob assigned to no roles

What will be the result if alice and bob try to build a job?
medium
A. Both alice and bob can build the job.
B. Only bob can build the job; alice cannot.
C. Neither alice nor bob can build the job.
D. Only alice can build the job; bob cannot.

Solution

  1. Step 1: Check alice's permissions

    alice is assigned the Developer role, which has Build permission, so she can build jobs.
  2. Step 2: Check bob's permissions

    bob has no roles assigned, so he has no Build permission and cannot build jobs.
  3. Final Answer:

    Only alice can build the job; bob cannot. -> Option D
  4. Quick Check:

    Role permissions control build access; alice has role, bob does not [OK]
Hint: Only users with roles having Build permission can build jobs [OK]
Common Mistakes:
  • Assuming users without roles have default build access
  • Confusing read permission with build permission
  • Thinking roles assign permissions to users automatically without assignment
4. You configured Matrix Authorization Strategy but users report they cannot access the Jenkins dashboard. What is the most likely cause?
medium
A. You did not restart Jenkins after configuration.
B. You forgot to grant 'Overall Read' permission to the users.
C. You enabled Role-Based Authorization Strategy instead of Matrix.
D. You assigned too many permissions to the users.

Solution

  1. Step 1: Understand Matrix permissions

    In Matrix strategy, users must have 'Overall Read' permission to see the Jenkins dashboard.
  2. Step 2: Identify missing permission

    If users cannot access the dashboard, likely 'Overall Read' permission was not granted.
  3. Final Answer:

    You forgot to grant 'Overall Read' permission to the users. -> Option B
  4. Quick Check:

    Missing 'Overall Read' blocks dashboard access [OK]
Hint: Always grant 'Overall Read' to users for dashboard access [OK]
Common Mistakes:
  • Assuming too many permissions cause access issues
  • Confusing Role-Based and Matrix strategies
  • Thinking Jenkins restart is required after permission changes
5. You want to create a Jenkins setup where users can only view jobs but only members of the 'QA' role can build and configure jobs. Which strategy and configuration best fits this requirement?
hard
A. Use Role-Based Authorization Strategy; assign 'QA' role with Build and Configure permissions, assign other users to a role with only Read permission.
B. Use Matrix Authorization Strategy; assign Build and Configure permissions to all users except QA.
C. Use Role-Based Authorization Strategy; assign all users to 'Admin' role with full permissions.
D. Use Matrix Authorization Strategy; assign all permissions to anonymous users.

Solution

  1. Step 1: Identify requirement for role-based control

    Users need different permission sets based on roles, so Role-Based Authorization Strategy fits best.
  2. Step 2: Assign roles and permissions

    Create a 'QA' role with Build and Configure permissions; assign other users a role with only Read permission.
  3. Final Answer:

    Use Role-Based Authorization Strategy; assign 'QA' role with Build and Configure permissions, assign other users to a role with only Read permission. -> Option A
  4. Quick Check:

    Role-Based strategy allows role-specific permissions as required [OK]
Hint: Role-Based strategy is best for different permission sets by role [OK]
Common Mistakes:
  • Assigning build permissions to all users in Matrix strategy
  • Giving all users admin rights
  • Using Matrix strategy when role separation is needed
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard