Creating and managing local users and user roles
Puppet Enterprise's role-based access control (RBAC) enables you to manage users—what they can create, edit, or view, and what they can't—in an organized, high-level way that is vastly more efficient than managing user permissions on a per-user basis. User roles are sets of permissions you can apply to multiple users. You can't assign permissions to single users in PE, only to user roles.
Create a new user
These steps add a local user.
To add users from an external directory, see Working with user groups from an external directory.
- In the console, click Access control > Users.
- In the Full name field, enter the user's full name.
- In the Login field, enter a username for the user.
- Click Add local user.
Give a new user access to the console
When you create new local users, you need to send them a password reset token so that they can log in for the first time.
- On the Users page, click the user's full name.
- Click Generate password reset.
- Copy the link provided in the message and send it to the new user.
Create a new user role
RBAC has four predefined roles: Administrators, Code Deployers, Operators, and Viewers. You can also define your own custom user roles.
Users with the appropriate permissions, such as Administrators, can define custom roles. To avoid potential privilege escalation, only users who are allowed all permissions should be given the permission to edit user roles.
- In the console, click Access control > User roles.
- In the Name field, enter a name for the new user role.
- (Optional) In the Description field, enter a description of the new user role.
- Click Add role.
Assign permissions to a user role
You can mix and match permissions to create custom user roles that provide users with precise levels of access to PE actions.
Review User permissions and user roles, which includes important information about how permissions work in PE.
- On the User roles page, click a user role.
- Click Permissions.
- In the Type field, select the type of object you want to assign permissions for, such as Node groups.
- In the Permission field, select the permission you want to assign, such as View.
- In the Object field, select the specific object you want to assign the permission to. For example, if you are setting a permission to view node groups, select a specific node group this user role has permissions to view.
- Click Add permission, and commit changes.
Add a user to a user role
When you add users to a role, the user gains the permissions that are applied to that role. A user can't do anything in PE until they have been assigned to a role.
- On the User roles page, click a user role.
- Click Member users.
- In the User name field, select the user you want to add to the user role.
- Click Add user, and commit changes.
Remove a user from a user role
You can change a user's permissions by removing them from a user role. The user loses the permissions associated with the role, and won't be able to do anything in PE until they are assigned to a new role.
- On the User roles page, click a user role.
- Click Member users.
- Locate the user you want to remove from the user role. Click Remove, and commit changes.
Revoke a user’s access
If you want to remove a user's access to PE but not delete their account, you can revoke them. Revocation is also what happens when a user is locked out from too many incorrect password attempts.
- In the console, click Access control > Users.
- In the Full name column, select the user you want to revoke.
- Click Revoke user access.
Delete a user
You can delete a user through the console. Note, however, that this action deletes only the user's Puppet Enterprise account, not the user's listing in any external directory service.
Deletion removes all data about the user except for their activity data, which continues to be stored in the database and remains viewable through the API.
Delete a user role
You can delete a user role through the console.
When you delete a user role, users lose the permissions that the role gives them. This can impact their access to Puppet Enterprise if they have not been assigned other user roles.
- In the console, click Access control > User roles.
- In the Name column, locate the role you want to delete.
- Click Remove.