Exercise 8: Understanding RBAC in Ansible Tower

Read this in other languages: uk English, japan 日本語.

Table of Contents

Objective

One of the key benefits of using Ansible Tower is the control of users that use the system. The objective of this exercise is to understand Role Based Access Controls(RBACs) with which Tower admins can define tenancies, teams, roles and associate users to those roles. This gives organizations the ability to secure the automation system and satisfy compliance goals and requirements.

Guide

Lets review some Ansible Tower terminology:

For more in depth details on RBAC terminology please refer to the documentation

Step 1: Opening up Organizations

Note: The orgs, teams and users were auto-populated for this workshop

Observe that this page gives you a summary of all the teams, users, inventories, projects and job templates associated with it. If a Organization level admin is configure you will see that as well.

Step 2: Open the NETWORK ORGANIZATION

  1. Click on the RED HAT NETWORK ORGANIZATION.

    this brings up a section that displays the details of the organization.

    network organization image

  2. Click on the USERS button to see users associated with this organization.

Observe that both the network-admin and network-operator users are associated with this organization.

Step 3: Examine Teams

  1. Click on TEAMS in the sidebar

    image identifying teams

  2. Examine the teams. The Ansible Tower admin will be able to see all available teams. There are four teams:

Step 4: Examine the Netops Team

Step 5: Login as network-admin

Step 6: Understand Team Roles

  1. To understand how different roles and therefore RBACs may be applied, log out and log back in as the admin user.

  2. Navigate to Inventories and click on the Workshop Inventory

  3. Click on the PERMISSIONS button

    workshop inventory window

  4. Examine the permissions assigned to each user

    permissions window

Note the TEAM ROLES assigned for the network-admin and network-operator users. By assigning the USE Role, the network-operator user has been granted permission to use this particular inventory.

Step 7: Job Template Permissions

  1. Click on the Templates button in the left menu

  2. Click on the Network-Commands Job Template

  3. Click on the PERMISSIONS button at the top

    permissions window

Note how the same users have different roles for the job template. This highlights the granularity operators can introduce with Ansible Tower in controlling “Who gets access to what”. In this example, the network-admin can update (ADMIN) the Network-Commands job template, whereas the network-operator can only EXECUTE it.

Step 8: Login as network-operator

Finally, to see the RBAC in action!

  1. Log out at admin and log back in as the network-operator user.

    Parameter Value
    username network-operator
    password provided by instructor
  2. Navigate to Templates and click on the Network-Commands Job Template.

    network commands job template

  3. Note that, as the network-operator user, you will have no ability to change any of the fields.

Step 9: Launching a Job Template

  1. Verify you are logged in as the network-operator user

  2. Click on Templates link on the sidebar again

  3. This time launch the Network-Commands template by clicking on the “rocket” icon:

    click the rocket icon

  4. You will be prompted by a dialog-box that lets you choose one of the pre-configured show commands.

    pre configured survey image

  5. Go ahead and choose a command and click ** Next**Launch to see the playbook being executed and the results being displayed.

Bonus Step

If time permits, log back in as the network-admin and add another show command you would like the operator to run. This will also help you see how the Admin Role of the network-admin user allows you to edit/update the job template.

Takeaways

Complete

You have completed lab exercise 8


Click here to return to the Ansible Network Automation Workshop