4.3. Creating and Managing Roles
Red Hat Satellite provides a set of predefined roles with permissions sufficient for standard tasks, as listed in Table 4.1, “Predefined Roles Available in Red Hat Satellite”. It is also possible to configure custom roles, and assign one or more permission filters to them. Permission filters define the actions allowed for a certain resource type. Certain Satellite plug-ins create roles automatically.
Role | Permissions Provided by Role[a] |
---|---|
Anonymous | The set of permissions that every user is granted, irrespective of any other roles. |
Discovery manager | View, provision, edit, and destroy discovered hosts and manage discovery rules. |
Discovery reader | View hosts and discovery rules. |
Boot disk access | Download the boot disk. |
Red Hat Access Logs | View the log viewer and the logs. |
Manager | A most extensive set of permissions, the majority of actions from each resource type is enabled. |
Edit partition tables | View, create, edit and destroy partition tables. |
View hosts | View hosts. |
Edit hosts | View, create, edit, destroy, and build hosts. |
Viewer | A passive role that provides the ability to view the configuration of every element of the Satellite structure, logs, and statistics. |
Site manager | A restrained version of the Manager role. |
Tasks manager | View and edit Satellite tasks. |
Tasks reader | View Satellite tasks. |
[a]
The exact set of allowed actions associated with predefined roles can be viewed by the privileged user as described in Section 4.3.3, “Viewing Permissions of a Role”.
|
4.3.1. Creating a Role
The following steps show how to create a role.
Procedure 4.7. To Create a Role:
- Navigate to
. - Click.
- Provide a Name for the role.
- Clickto save your new role.
To serve its purpose, a role must contain permissions. After creating a role, proceed to Section 4.3.2, “Adding Permissions to a Role”.
Note
Cloning an existing role is a time-saving method of role creation, especially if you want to create a new role that is a variation of an existing permission set. To clone a role, navigate to and select from the drop-down list to the right of the role to be copied. Select the name for the new role and alter the permissions as needed.
4.3.2. Adding Permissions to a Role
The following steps show how to add permissions to a role.
Procedure 4.8. To Add Permissions to a Role:
- Navigate to
. - Selectfrom the drop-down list to the right of the required role.
- Select the (Miscellaneous) group gathers permissions that are not associated with any resource group.from the drop-down list. The
- Click the permissions you want to select from thelist.
- Select whether the permission is Unlimited check box, the Search field activates. In this field you can specify further filtering with use of the Red Hat Satellite 6 search syntax. See Section 4.4, “Granular Permission Filtering” for details.. This option is selected by default, which means that the permission is applied on all resources of the selected type. When you disable the
- Click.
- Clickto save changes.
4.3.3. Viewing Permissions of a Role
The following procedure shows how to view permissions assigned to an existing role.
Procedure 4.9. To View Permissions Associated with a Role:
- Navigate to
. - Click Filters page.to the right of the required role to get to the
The Filters page contains a table of permissions assigned to a role grouped by the resource type. It is also possible to generate a complete table of permissions and actions that you can use on your Satellite system. See Procedure 4.10, “To Create a Complete Permission Table:” for instructions.
Procedure 4.10. To Create a Complete Permission Table:
- Ensure that the required packages are installed. Execute the following command on the Satellite Server:
# yum install tfm-rubygem-foreman*
- Start the Satellite console with the following command:
# foreman-rake console
Insert the following code into the console:f = File.open('/tmp/table.html', 'w') result = Foreman::AccessControl.permissions.sort {|a,b| a.security_block <=> b.security_block}.collect do |p| actions = p.actions.collect { |a| "<li>#{a}</li>" } "<tr><td>#{p.name}</td><td><ul>#{actions.join('')}</ul></td><td>#{p.resource_type}</td></tr>" end.join("\n") f.write(result)
The above syntax creates a table of permissions and saves it to the/tmp/table.html
file. - Press Ctrl+D to exit the Satellite console. Insert the following text at the first line of
/tmp/table.html
:<table border="1"><tr><td>Permission name</td><td>Actions</td><td>Resource type</td></tr>
Append the following text at the end of/tmp/table.html
:</table>
- Open
/tmp/table.html
in a web browser to view the table.
4.3.4. Removing a Role
The following steps show how to remove an existing role.
Procedure 4.11. To Remove a Role:
- Navigate to
. - Selectfrom the drop-down list to the right of the role to be deleted.
- In an alert box that appears, clickto delete the role.