Share Feedback to help us keep improving.
Chapter 4. Managing access with role-based access control
Role-based access control (RBAC) restricts user access based on the user’s role within the organization they are assigned to in Ansible Automation Platform. The roles in RBAC refer to the levels of access that users have to Ansible Automation Platform components and resources.
You can control what users can do with the components of Ansible Automation Platform at a broad or granular level depending on your RBAC policy. You can choose whether the user is a system administrator or normal user and align roles and access permissions with their positions within the organization.
You can define roles with multiple permissions that can then be assigned to resources, teams, and users. The permissions that make up a role govern what the assigned role allows. Permissions are allocated with only the access needed for a user to perform the tasks appropriate for their role.
When managing users, teams, and organizations, use the Unified UI or the platform gateway API to ensure real-time synchronization across all platform components, including Event-Driven Ansible controller. If you use the legacy automation controller API, changes can take up to 15 minutes to propagate to Event-Driven Ansible controller, which can result in authentication errors for new users or teams.
4.1. Organizations Copy linkLink copied to clipboard!
As an administrator, you can use organizations to organize groups of resources. Assigning a team or user to the organization gives the team or user access to the resources within the organization. This way, administrators no longer have to grant individual teams and users access to new resources as they become available; teams and users gain access to new resources when they are added to the organization.
After you have created an organization, Ansible Automation Platform displays the organization details. You can then manage resources such as access and execution environments for the organization.
Ansible Automation Platform automatically creates a default organization. If you have a self-support level license, you have only the default organization available and must not delete it.
4.1.1. Organizations list view Copy linkLink copied to clipboard!
The Organizations page displays the existing organizations for your installation. From here, you can search for a specific organization, filter the list of organizations, or change the sort order for the list.
Procedure
-
From the navigation panel, select
. - In the Search bar, enter an appropriate keyword for the organization you want to search for and click the arrow icon.
- From the menu bar, you can sort the list of organizations by using the arrows for Name to toggle your sorting preference.
- You can also sort the list by selecting Name, Created or Last modified from the Sort list.
- You can view organization details by clicking an organization Name on the Organizations page.
4.1.2. Creating an organization Copy linkLink copied to clipboard!
Ansible Automation Platform automatically creates a default organization. If you have a self-support level license, you have only the default organization available and cannot delete it.
Procedure
-
From the navigation panel, select
. - Click .
Enter the Name and give a Description for your organization.
NoteIf automation controller is enabled on the platform, continue with Step 4. Otherwise, proceed to Step 6.
- Select the name of the Execution environment or search for one that members of this organization can use to run automation.
- Enter the name of the Instance Groups on which to run this organization.
- Optional: Enter the Galaxy credentials or search from a list of existing ones.
Select the Max hosts for this organization. The default is 0. When this value is 0, it signifies no limit. If you try to add a host to an organization that has reached or exceeded its cap on hosts, an error message displays:
You have already reached the maximum number of 1 hosts allowed for your organization. Contact your System Administrator for assistance.- Click .
If you selected more than 1 instance group, you can manage the order by dragging and dropping the instance group up or down in the list and clicking .
NoteThe execution precedence is determined by the order in which the instance groups are listed.
- Click and verify the organization settings.
- Click .
4.1.3. Access to organizations Copy linkLink copied to clipboard!
You can manage access to an organization by selecting an organization from the Organizations list view and selecting the associated tabs for providing access to Users, Administrators or Teams.
4.1.3.1. Assigning a user to an organization Copy linkLink copied to clipboard!
You can give a user with access to an organization, and therefore the resources within the organization, by assigning them to the organization and managing the organization roles associated with the user.
You can view a list of users associated with an organization, along with the roles each user is directly assigned, in the organization’s Users tab. When you manage a user’s organization roles in the Users tab, you can also see how the user was assigned their roles, whether indirectly, through association with a team, or through direct user assignment by an administrator.
If a user is assigned a "team member" role, this likely indicates that they have an indirectly-assigned role. To see a user’s indirectly-assigned roles, click the pencil icon
to view and manage roles, and then click the link labeled View indirectly-assigned organization roles in the page banner.
To assign a user to an organization, the user must already exist. For more information, see Creating a user. To assign roles to a user, the role must already exist. See Creating a role for more information.
Procedure
-
From the navigation panel, select
. - From the Organizations list view, select the organization to which you want to add a user.
- Click the Users tab, then click to add users.
- Select one or more users from the list by clicking the checkbox next to the name to add them as members.
- Click .
Select the roles you want the selected user to have. Scroll down for a complete list of roles.
NoteEnsure that you are selecting the desired role within the correct component context, because resources like projects and credentials can be associated with both Automation Execution (automation controller) and Automation Decisions (Event-Driven Ansible).
- Click to review the roles settings.
Click to apply the roles to the selected users, and to add them as members. The Add roles dialog displays the updated roles assigned for each user.
NoteA user with roles associated with an organization loses those roles if they are removed from the organization.
- To remove a particular user from the organization, select Remove user from the ⋮ list next to the user. This launches a confirmation dialog, asking you to confirm the removal. Note that removing a user from an organization will also remove all organization roles that the user is indirectly assigned from that specific organization.
To manage roles for users in an organization, click the ⚙ icon next to the user and select Manage roles. You can manage organization roles that are directly assigned to a user by selecting or clearing the checkboxes. Double-check the component column to ensure you are selecting the desired role in the correct component context.
TipFrom this screen, you can view, but not manage, indirectly-assigned roles that a user has inherited from a team assignment. To view indirectly-assigned roles, along with the team assignment they originated from, click View indirectly-assigned organization roles link in the banner beneath the page heading. To manage roles indirectly assigned to a user through a team assignment, manage that team’s role assignments or remove the user from that team.
4.1.3.2. Assigning an administrator to an organization Copy linkLink copied to clipboard!
You can add administrators to an organization, which allows them to manage the membership and settings of the organization. For example, they can create new users and teams within the organization, and grant permission to users within the organization. To add an administrator to an organization, the user must already exist.
Procedure
-
From the navigation panel, select
. - From the Organizations list view, select the organization to which you want to add a user, administrator, or team.
- Click the Administrators tab.
- Click .
- Select the users from the list by clicking the checkbox next to the name to assign the administrator role to them for this organization.
- Click .
To remove a particular administrator from the organization, select Remove administrator from the More actions ⋮ list next to the administrator name. This launches a confirmation dialog asking you to confirm the removal.
NoteIf the user has been added as a member to this organization, they will continue to be a member of this organization. However, if they were added to the organization when the administrator assignment was made, they are removed from the organization.
4.1.3.3. Assigning a team to an organization Copy linkLink copied to clipboard!
You can give a team access to an organization, and to the resources within that organization, by assigning roles to the team in the organization’s Teams tab. All users who are part of a team assigned to the organization will inherit the team’s organization role assignments.
To assign roles to a team, the team must already exist in the organization. For more information, see Creating a team. To assign roles for a team, the role must already exist. See Creating a role for more information.
Procedure
-
From the navigation panel, select
. - From the Organizations list view, select the organization to which you want to assign team access.
- Click the Teams tab. If no teams exist, click to create a team and assign it to this organization.
- Click .
Select the roles you want the selected team to have. Scroll down for a complete list of roles.
NoteEnsure that you are selecting the desired role within the correct component context, because resources like projects and credentials can be associated with both Automation Execution (automation controller) and Automation Decisions (Event-Driven Ansible).
- Click to review the roles settings.
- Click to apply the roles to the selected teams. The Assign roles dialog displays the updated roles assigned for each team.
Click .
NoteA team with associated roles retains them if they are reassigned to another organization.
- To manage roles for teams in an organization, click the ⚙ icon next to the user and select Manage roles.
4.1.3.4. Deleting an organization Copy linkLink copied to clipboard!
Before you can delete an organization, you must be an Organization administrator or System administrator. When you delete an organization, the organization, team, users and resources are permanently removed from Ansible Automation Platform.
When you try to delete items that are used by other resources, a message is displayed warning you that the deletion might impact other resources and prompts you to confirm the deletion. Some screens contain items that are invalid or have been deleted previously, and will fail to run.
Procedure
-
From the navigation panel, select
. - Click the ⋮ icon next to the organization you want removed and select Delete organization.
Select the confirmation checkbox and click to proceed with the deletion. Otherwise, click .
NoteYou can delete multiple organizations by selecting the checkbox next to each organization you want to remove, and selecting Delete selected organizations from the More actions ⋮ list on the menu bar.
4.1.4. Working with notifiers Copy linkLink copied to clipboard!
When automation controller is enabled on the platform, you can review any notifier integrations you have set up and manage their settings within the organization resource.
Procedure
-
From the navigation panel, select
. - From the Organizations list view, select the organization whose notifications you want to manage.
- Select the Notification tab.
- Use the toggles to enable or disable the notifications to use with your particular organization. For more information, see Enable and disable notifications.
-
If no notifiers have been set up, select
from the navigation panel.
Additional resources
4.1.5. Working with execution environments Copy linkLink copied to clipboard!
When automation controller is enabled on the platform, you can review any execution environments you have set up and manage their settings within the organization resource.
For more information about execution environments, see Execution environments in the Using automation execution guide.
Procedure
-
From the navigation panel, select
. - From the Organizations list view, select the organization whose execution environments you want to manage.
- Select the Execution Environments tab.
-
If no execution environments are available, click to create one. Alternatively, you can create an execution environment from the navigation panel by selecting
. Click .
NoteAfter creating a new execution environments, return to
and select the organization in which you created the execution environment to update the list on that tab. - Select the execution environments to use with your particular organization.
4.2. Teams Copy linkLink copied to clipboard!
As an administrator, you can use teams to bulk-assign roles to users that need to share the same access.
A team is a subdivision of an organization that groups users and roles together for specific resources. Teams offer a means to implement role-based access control schemes and delegate responsibilities across organizations by allowing you to grant access to users in bulk. For example, you can grant resource access to a team, and therefore to all the users in the team, rather than granting access to each individual user on the team.
You can create as many teams as needed for your organization. Teams can only be assigned to one organization while an organization can be made up of multiple teams. Each team can be assigned roles, the same way roles are assigned for users. Teams can also scalably assign ownership for credentials, preventing multiple interface click-throughs to assign the same credentials to the same user.
4.2.1. Teams list view Copy linkLink copied to clipboard!
The Teams page displays the existing teams for your installation. From here, you can search for a specific team, filter the list of teams by team name or organization, or change the sort order for the list.
Procedure
-
From the navigation panel, select
. - In the Search bar, enter an appropriate keyword for the team you want to search for and click the arrow icon.
- From the menu bar, you can sort the list of teams by using the arrows for Name and Organization to toggle your sorting preference.
- You can view team details by clicking a team Name on the Teams page.
- You can view organization details by clicking the link in the Organization column.
4.2.2. Creating a team Copy linkLink copied to clipboard!
You can create new teams, assign an organization to the team, and manage the users and administrators assigned to each team. Users on a team inherit the permissions and roles assigned to the team. To assign a user or administrator to a team, the user must have already been created. See Assigning users to a team or Assigning administrators to a team for more information.
Procedure
-
From the navigation panel, select
. - Click .
- Enter a Name and optionally give a Description for the team.
Select an Organization to be associated with this team.
NoteEach team can only be assigned to one organization.
- Click . The Details page opens, where you can review and edit your team information and access.
4.2.3. Assigning users to a team Copy linkLink copied to clipboard!
To assign a user to a team, the user must already have been created. For more information, see Creating a user. Assigning a user to a team adds them as a member only. Use the Roles tab to assign a role that gives users on the team resource access.
New user memberships to a team must be added at the platform level.
Procedure
-
From the navigation panel, select
. - Select the team to which you want to add users.
- Select the Users tab.
- Select one or more users from the list by clicking the checkbox next to the name to add them as members of this team.
- Click .
4.2.4. Removing users from a team Copy linkLink copied to clipboard!
You can remove a user from a team from the Team list view.
Procedure
-
From the navigation panel, select
. - Select the team from which you want to remove users.
- Select the Users tab.
- Click the Remove user icon next to the user you want to remove as a member of the team.
You can delete multiple users by selecting the checkbox next to each user you want to remove, and selecting Remove selected users from the More actions ⋮ list.
NoteIf the user is a Team administrator, you can remove their membership to the team from the Administrators tab.
- A confirmation dialog asking you to confirm the removal will appear. Confirm the removal. Note that removing a user from a team removes all of that team’s role assignments from the user.
4.2.5. Assigning administrators to a team Copy linkLink copied to clipboard!
You can assign administrators to a team, which allows them to manage the membership and settings of that team. For example, they can create new users and grant permission to users within the team. To assign an administrator to a team, the administrator must already have been created. For more information, see Creating a user.
Procedure
-
From the navigation panel, select
. - Select the team to which you want to add an administrator.
- Select the Administrators tab and click .
- Select one or more users from the list by clicking the checkbox next to the name to add them as administrators of this team.
- Click .
4.2.6. Assigning roles to a team Copy linkLink copied to clipboard!
You can grant a team granular access to specific resources such as inventories, projects, and job templates by assigning the team roles associated with those particular resources. You can also set permissions at the level of the organization from the Organizations view.
Teams cannot be assigned to an organization through role assignment, nor can teams be assigned organization roles from the Teams view. Refer to the steps provided in Adding a team to an organization for detailed instructions on assigning a team to an organization.
Procedure
-
From the navigation panel, select
. - Select the team Name to which you want to add roles.
Select the Roles tab and click .
NoteEnsure that you are selecting the desired role within the correct component context, because resources like projects and credentials can be associated with both Automation Execution (automation controller) and Automation Decisions (Event-Driven Ansible).
- Select a Resource type and click .
- Select the resources that you want to give the team role-based access to and click .
Select the roles to apply to the resources and click .
TipIf you are selecting more than one role in this step, consider creating a custom role that includes all the permissions for this resource type to give the team the correct access.
- Review the settings and click .
- The Add roles dialog displays indicating whether the role assignments were successfully applied. Click to close the dialog.
4.2.7. Removing roles from a team Copy linkLink copied to clipboard!
You can remove roles individually or in bulk.
Procedure
-
From the navigation panel, select
. - Select the team Name from which you want to remove roles.
- Select the Roles tab.
To remove a single role, click the minus icon next to the resource and confirm removal on the dialog that is displayed.
NoteEnsure that you are selecting the desired role within the correct component context, because resources like projects and credentials can be associated with both Automation Execution (automation controller) and Automation Decisions (Event-Driven Ansible).
- To remove roles in bulk, select the checkbox next to each resource you want to remove and click Delete selected roles from the ⋮ list on the menu bar, then confirm removal and click Delete role.
4.2.8. Deleting a team Copy linkLink copied to clipboard!
Before you can delete a team, you must have team permissions. When you delete a team, the roles that users inherited from that team are revoked.
Procedure
-
From the navigation panel, select
. - To remove a single team, click the minus icon - next to the team and confirm removal on the dialog that is displayed.
- To remove teams in bulk, select the checkbox next to each team that you want to remove, then click the ⋮ icon and select Delete team.
4.3. Users Copy linkLink copied to clipboard!
A user is an individual or entity that can log in to the platform and perform tasks. Users are fundamental units to which roles can be assigned, either directly by an administrator or indirectly through a team.
Ansible Automation Platform automatically creates a default system admin user so they can log in and set up Ansible Automation Platform for their organization. This user cannot be deleted or modified.
You can sort or search the User list by Username, First name, Last name, or Email. Click the arrows in the header to toggle your sorting preference. You can view User type and Email beside the user name on the Users page.
4.3.1. Users list view Copy linkLink copied to clipboard!
The Users page displays the existing users for your installation. From here, you can search for a specific user, filter the list of users, or change the sort order for the list.
When user accounts have been migrated to Ansible Automation Platform 2.6 during the upgrade process, these accounts are also displayed in the Users list view. You can see whether these users have administrator privileges by editing the account. See Editing a user for instructions.
Procedure
-
From the navigation panel, select
. - In the Search bar, enter an appropriate keyword for the user you want to search for and click the arrow icon.
- From the menu bar, you can sort the list of users by using the arrows for Username, Email, First name, Last name or Last login to toggle your sorting preference.
- You can view user details by selecting a Username from the Users list view.
4.3.2. Creating a user Copy linkLink copied to clipboard!
You can create three types of users in Ansible Automation Platform:
- Normal user
- Normal users have read and write access limited to the resources (such as inventory, projects, and job templates) for which that user has been granted the appropriate roles and privileges. Normal users are the default type of user when no other User type is specified.
- Ansible Automation Platform Administrator
- An administrator (also known as a Superuser) has full system administration privileges, with full read and write privileges over the entire installation. An administrator is typically responsible for managing all aspects of and delegating responsibilities for day-to-day work to various users.
- Ansible Automation Platform Auditor
- Auditors have read-only capability for all objects within the environment.
Procedure
-
From the navigation panel, select
. - Click .
- Enter the details about your new user in the fields on the Create user page. Fields marked with an asterisk (*) are required.
Normal users are the default when no User type is specified. To define a user as an administrator or auditor, select a User type from the drop-down menu.
NoteIf you are modifying your own password, log out and log back in for the change to take effect.
- Select the Organization to be assigned for this user. For information about creating a new organization, see Creating an organization.
Click .
When the user is successfully created, the User details screen opens. From here, you can review and change the user’s teams, roles, tokens and other membership details.
NoteIf the user is not newly-created, the details screen displays the user’s last login activity.
Next steps
If you log in as yourself, and view the details of your user profile, you can manage tokens from your user profile by selecting the Tokens tab. For more information, see Adding a token.
4.3.3. Editing a user Copy linkLink copied to clipboard!
You can change the properties of a user account after it is created.
To see whether a user had service level auditor privileges, you must refer to the API.
After upgrading to 2.6, users previously designated as automation controller administrators are labeled as platform administrators in the User type column in the Users list view. Automation hub administrators are labeled as Normal in the User Type column.
Procedure
-
From the navigation panel, select
. -
Click the Pencil
icon next to the user you want to edit and select Edit user.
- The Edit user page is displayed where you can change user details such as Password, Email, User type, and Organization.
- After your changes are complete, click Save user.
4.3.4. Deleting a user Copy linkLink copied to clipboard!
Before you can delete a user, you must have normal user or system administrator permissions. When you delete a user account, the name and email of the user are permanently removed from Ansible Automation Platform.
Procedure
-
From the navigation panel, select
. - To delete a single user, select the ⋮ icon next to the user you want to remove and select Delete user.
- To bulk delete users, select the checkbox next to each user you want to remove, and then from the ⋮ list, click Delete users.
4.3.5. Assigning roles to a user Copy linkLink copied to clipboard!
You can grant users granular access to specific resources such as inventories, projects, or job templates by assigning users roles.
You can view and manage roles that were assigned directly to a user by an administrator in the user’s Roles tab.
You can view roles that a user inherited from a team assignment in the View indirectly assigned roles link in the page banner. You cannot directly manage an indirectly-assigned role. You can only manage indirectly-assigned roles by editing the team’s role assignments, or by removing the user from the team.
Users cannot be assigned to an organization through role assignment, nor can you assign users organization roles from this screen. Refer to the steps provided in Adding a user to an organization for detailed instructions on assigning a user to an organization.
Roles are labeled with their associated Ansible Automation Platform component and function. These components align with Ansible Automation Platform services and the side navigation structure in the user interface. Component labels can be understood as follows:
- Automation Execution refers to automation controller
- Automation Decisions refers to Event-Driven Ansible
- Automation Content refers to automation hub
When assigning roles, ensure that you are selecting the required resource in the correct component context, because resources such as projects and credentials can be associated with both Automation Execution and Automation Decisions.
Procedure
-
From the navigation panel, select
. - From the Users list view, click the user to which you want to add roles.
- Select the Roles tab to display the set of roles assigned to this user. These provide the ability to read, change, and administer resources.
To add new roles, click .
NoteEnsure that you are selecting the desired role within the correct component context, because resources like projects and credentials can be associated with both Automation Execution (automation controller) and Automation Decisions (Event-Driven Ansible).
- Select a Resource type and click .
- Select the resources that you want to give role-based access to and click .
Select the roles that will be applied to the resources and click .
TipIf you are selecting more than one role, consider creating a custom role that includes all the permissions for this resource type so you can give your users the appropriate level of access.
- Review the settings and click . The Add roles dialog displays indicating whether the role assignments were successfully applied. Click to close the dialog.
4.3.6. Removing roles from a user Copy linkLink copied to clipboard!
You can remove a user’s roles by editing the user information in the Roles tab.
Procedure
-
From the navigation panel, select
. - Select the user name whose role access you want to remove.
Select the Roles tab.
NoteEnsure that you are selecting the desired role within the correct component context, because resources like projects and credentials can be associated with both Automation Execution (automation controller) and Automation Decisions (Event-Driven Ansible).
- To remove a single role, click the - icon next to the role and confirm removal on the dialog that is displayed.
- To remove multiple roles, select the checkbox next to each role you want to remove and click Remove selected roles from the More actions ⋮ list on the menu bar. On the dialog that is displayed, confirm removal of the selected roles and click .
4.4. Resources Copy linkLink copied to clipboard!
You can manage user access to Ansible Automation Platform resources and what users can do with those resources. Users are granted access through the roles they are directly assigned by an administrator, or through roles inherited from a team assignment. Ansible Automation Platform resources differ depending on the functionality you are configuring. For example, resources can be job templates and projects for automation execution or decision environments and rulebook activations for automation decisions.
4.4.1. Providing team access to a resource Copy linkLink copied to clipboard!
You can grant users access based on their team membership. When you add a user as a member of a team, they inherit access to the roles and resources defined for that team.
Direct team access cannot be granted to
Procedure
-
From the navigation panel, click the name of the resource that you want to give a team access to. For example,
. - On the details page, select the Team Access tab.
- Click .
- Click the checkbox beside the team to assign that team access to your chosen resource and click .
- Select the roles you want applied to the team for the chosen resource and click .
- Review the settings and click . The Assign Teams dialog displays indicating whether the role assignments were successfully applied.
- You can remove resource access for a team by selecting the Remove team icon next to the team. This launches a confirmation dialog, asking you to confirm the removal.
4.4.2. Providing direct user access to a resource Copy linkLink copied to clipboard!
You can directly grant users access to resources, and edit their access after it has been granted.
Direct user access cannot be granted to
Procedure
-
From the navigation panel, select a resource that you want to give a team access to. For example,
. - Select the User access tab.
- Click .
- Click the checkbox beside the user to assign that user to your chosen resource and click .
- Select the roles you want applied to the user for the chosen resource and click .
- Review the settings and click . The Assign Roles dialog displays indicating whether the role assignments were successfully applied.
-
You can edit a user’s access to a resource from the User Access tab by clicking the pencil icon
next to the user’s name and adding or removing directly-assigned roles.
- You can remove resource access for a user by selecting the Remove role icon next to the user. This launches a confirmation dialog asking you to confirm the removal.