I'd like to understand better job permissions in Jenkins. What type of user permissions can I setup in Jenkins? And when would you use each?
There are 4 type of user permissions in Jenkins:
Jenkins is accessible for everyone with no permissions. Basically anyone can do anything. This should be used for internal use only.
User authentication (all admins)
All users are admins. The authentication method can use Jenkins’ own user database, LDAP, Unix user/group database, servelet container (e.g. Tomcat or Glassfish user DB) or other authentication plugins. This can be used when there is no need to restrict users from doing certain actions.
This is a global permission per role/group security strategy where each user where permissions are associated with groups to which users belong to. This is the most common authorization to use for multiple users.
Project based matrix
It is authorization strategy where user permissions can be configured per individual jobs. Once activated, permission matrix can be activated on each job page. Useful when specific jobs shouldn't be accessed by certain users.
Related page: Securing Jenkins - Access Control.