Jenkins 05 - Manage Users/Roles

Managing Users & Roles

Default Logic

  • Before Roles are Created, ALL users are admin
  • Need Role Strategy Plugin to create/manage 'Roles'
    •  
  • Create Roles, then assign users to lock system down
  • Manage Jenkins > Manage Users > Create User
  • API Token
  • User must login to view the API Token ( for REST calls to Jenkins )

Role Strategy Plugin

Manual Installation

Download Manually

cd /var/lib/jenkins/plugins
wget --no-cookies "https://updates.jenkins.io/download/plugins/role-strategy/2.8.1/role-strategy.hpi"
systemctl restart jenkins

 

Plugin Manager: Advanced

 

Plugin Manager: Plugin Picker

 

Configuring Plugin

  • Configure Jenkins > Configure Global Security > Authorization > Role-Based Strategy
  • Click Apply
  • Users won't be able to login until assigned via teh RBS plugin
  • ONLY ORIGINAL JENKINS ADMIN CAN LOGIN AT THIS POINT!!!
  • Go ahead and remove ALL users besides the original (1st) Jenkins Admin user
    • seems the plugin doesn't cleanly pickup OverallView access for existing users

 

 

Global Roles

Global roles
  Role Overall Credentials Agent Job Run View SCM  
Administer Read Create Delete ManageDomains Update View Build Configure Connect Create Delete Disconnect Provision Build Cancel Configure Create Delete Discover Move Read Workspace Delete Replay Update Configure Create Delete Read Tag
remove admin remove
remove build remove
remove guest remove
remove pm remove
  • admin
    • omnipotent access
  • build
    • build engineer who manages jenkins
  • guest
    • Read only access
  • pm
    • Read only access
    • perhaps more rights

 

Project Roles

Project roles
  Role Pattern Credentials Job Run SCM  
Create Delete ManageDomains Update View Build Cancel Configure Create Delete Discover Move Read Workspace Delete Replay Update Tag
remove developer Dev.* remove
remove tester Test.* remove
  • Role: developer
    • ONLY for projects starting with Dev.*
  • Role: tester
    • ONLY for projects starting with Test.*

 

Slave Roles

Slave roles
  Role Pattern Credentials Agent  
Create Delete ManageDomains Update View Build Configure Connect Delete Disconnect Provision


Assign Roles

Global Roles

Global roles
  User/group Developer Tester admin build guest pm  
remove Developer remove
remove Tester remove
remove user1 remove
remove User2 remove
remove Build remove
remove JenkinsAdmin remove
remove Anonymous remove

Project Roles

Item roles
  User/group developer tester  
remove Developer remove
remove Tester remove
remove Anonymous remove

Testing User Logins

Admin can see all projects

   S       W    Name  ↓ Last Success    Last Failure    Last Duration             
Not built 100% DevProject1 N/A N/A N/A Schedule a Build for DevProject1  
Not built 100% NodeJSProject1 N/A N/A N/A Schedule a Build for NodeJSProject1  
Not built 100% TestProject1 N/A N/A N/A Schedule a Build for TestProject1  

 

tester assigned to the tester Project Role can only view Test* projects

 S       W    Name  ↓ Last Success    Last Failure    Last Duration             
Not built 100% TestProject1 N/A N/A N/A Schedule a Build for TestProject1  

 

developer assigned to the developer Project Role can only view Dev* projects

S       W    Name  ↓ Last Success    Last Failure    Last Duration             
Not built 100% DevProject1 N/A N/A N/A Schedule a Build for DevProject1  

 


 

 


 

 

Tags