Role-Based Access Control explained

Last updated: Thu Jun 20 19:26:18 GMT 2019

Table of contents

The ThousandEyes platform provides a Role-based Access Control (RBAC) model for user and user group management.  RBAC provides two principal benefits: First, RBAC eliminates the hierarchical relationships between users, account groups and organizations. Under RBAC, users may belong to more than one Account Group. Second, RBAC provides the flexibility to configure permissions that were previously fixed within the three predefined roles. With RBAC you can create Roles for users which will allow them to do everything which is needed via the UI or API and no more.  

For example, an employee who needs to administer their company’s ThousandEyes users in multiple accounts was previously required to have the Organization Admin role, which provided permissions not only to administer all users in every account but also permissions to access billing information for all accounts.  Under RBAC, you may assign Roles which have permissions for only user administration tasks in only the Account Groups needed, and not grant permissions for billing or other tasks within those account groups.

For a complete list of permissions and their descriptions see the Roles and permissions tablePermission titles, descriptions and predefined roles.

Terminology in RBAC

Account Groups are assigned to Users, who have Roles within each Account Group.  A User can be in one or many Account Groups, and a User can be assigned one of three built-in Roles (Organization Admin, Account Admin and Regular User) which have fixed Permissions or a be assigned a custom Role.  Under RBAC, a customer may create multiple new custom Roles and unique permission sets. 

Note: With RBAC, users are associated with the Organization and the Account Admin role does not have permissions required to create, edit or delete users. To provide this capability, a role having the Edit users permission must be assigned to the user.

Working with RBAC

Managing users is done under the Account GroupsUsers, and Roles tabs of the Account Settings page. Users may also modify their own settings under the Profile tab.

Default built-in Roles

All accounts come preloaded with 3 default roles: Organization Admin, Account Admin plus the Regular Users role. The permission assigned to each of these 3 predefined roles are fixed but you can duplicate any of these Roles and then customize them to suit your requirements. When hovering over a permission title in the UI a tool tip will appear explaining in more detail what the permission does but in general the titles are self-explanatory. For instructions on how to use the features under the Roles tab please navigate to the following section on Managing Roles. Currently, we have more than 90 permissions available for you to choose from. For a full list of permissions assigned to the Organization AdminAccount Admin plus the Regular Users role check the Roles and Permissions table.

The permissions assigned to a user with an Organization Admin role (or similar) enables them to do the following:

  • access all Account Groups defined within the organization
  • fully manage all Users and Roles
  • view and create tests, shares, dashboards and reports
  • assign agents to any Account Group belonging to the organization
  • edit security settings, view billing information and change payment details

The permissions assigned to a user with an Account Admin role (or similar) are able to do the following:

  • access the API
  • create, edit and view snapshots
  • create, edit and view transaction tests
  • edit agents, alerts, notifications, endpoint agent and label settings
  • access the Profile, Users and Activity Log tabs under the Account Settings page. If access to the other account settings tabs is required e.g. Roles, Quotas or Organization please assign the user the role of Organization Admin (or similar).
  • view sensitive transaction test settings e.g. usernames and passwords in the test settings or test view pages
Note: The Account Admin role only has permissions to create, edit or delete users within their assigned account group. 

The permissions assigned to a user with a Regular Users role (or similar) enables them to do the following:

  • access all test results and read-only access to test settings
  • customize their dashboards
  • reset their password
  • create and delete their own shares, snapshots
  • check their own activity log
  • run instant tests but are not able to save/create them

Managing Roles

Add a Role by selecting the Permissions for the Role, or skip this step and use the built-in Roles. Permissions are found under the Roles tab:


Role-Based-Access-Control_Roles.png
 

  1. Search bar: Allows searching using a string such as "email" or "alert" for matching permissions.  The number in parentheses is the number of Permissions currently displayed.  Additionally, there are two buttons:
    • All - displays the full list of permissions that match the search string
    • Lock icon - displays only Management permissions that match the search string
  2. Search filter selection: Filters the permissions column by All PermissionsManagement Permissions or component. The component filter options available are: 
    • Admin
    • Alerts
    • API
    • BGP
    • Cloud and Enterprise Agents
    • Dashboard
    • Devices
    • Endpoint Agents
    • Labels
    • Live Shares
    • Saved Events
    • Snapshots
    • Tests
  3. Role change icons: Allows creation of new Roles via duplication of an existing Role, or editing or deleting of existing Roles
  4. Permission names: Lists the Permissions names which match the current search string
  5. Roles: Lists the names of the built-in Roles and any customer-defined roles.  In this example, there is a customer-defined role "Limited Admin 1" in addition to the three built-in roles.  Use the scroll bar at the bottom of the display to move horizontally through the columns if more Roles are present that can be viewed in the current page size.  Use the scroll bar at the right to move vertically through the rows of Permissions.
  6. Management permission: A lock next to a Permission name indicates it is a Management Permission. The Management Permissions allows a user to change their own or another user's permissions or scope of permissions, view and edit billing information, manage quotas and delete accounts. They are given the special indication of a lock icon to set them apart from other permissions and to ensure they are applied with care.

Managing Account Groups

Add or edit an Account Group.  Adding and editing of Account Groups is done on the Account Groups tab:

Role-Based-Access-Control_Account-Groups.png

  1. Add New Account Group button: Click the button to enter Add New Account Group mode and display the Add New Account Group panel.
  2. Search bar: Allows searching the Account Groups for a text string or substring.
  3. Account Group column:  Alphabetized list of Account Groups in the organization.  Click the triangle icon to reverse the sort order.  Click the triangle next to an Account Group's name to enter Add New Account Group mode for that Account Group.
  4. Users column: The number of users in the Account Group.
  5. Enterprise Agents column: The number of Enterprise Agents in the Account Group.
  6. Delete: Click the trash can icon to delete the Account Group.

Add new Account Group

 To add new Account Groups, click on the Add New Account Group (Managing Account Groups, 1) button.  The Add New Account Group panel will appear:

Role-Based-Access-Control_Add-Account-Group.png

  1. Account Group Name: The name of the new Account Group.
  2. Enterprise Agents: Select Enterprise Agents assigned to this Account Group (optional).
  3. Add New Account Group/Cancel: Click the Add New Account Group button to save the new Account Group or Cancel to exit without saving.

Edit Account Groups

To edit Account Groups, click on the triangle next to an Account Group's name.  The Edit Account Group panel will appear:

Role-Based-Access-Control_Edit-Account-Group.png
 

  1. Account Group Name: The name of the Account Group.
  2. Enterprise Agents: Select Enterprise Agents assigned to this Account Group (optional).
  3. Account Group Token: The token for the Account Group.  Used when installing Enterprise Agents for this Account Group.  Agents can be assigned to multiple Account Groups.
  4. Save Changes/Cancel: Click the Save Changes button to save the changes or click Cancel to exit without saving.

Managing Users

Add or edit the users and assign to one or more Account Groups.  Users are added or modified under the Users tab:

 Users1.png

  1. Mode indicator: Displays the current mode--either Edit Users mode or Add New Users mode.
  2. Add New Users button: Click the button to enter Add New Users mode and display the Add New Users panel.
  3. Search bar: Allows searching the User, Email or Account Group columns for a text string or substring.
  4. User column: Alphabetized list of users in the organization.  Click the triangle icon to reverse the sort order.  Click the triangle next to a user's name to enter Edit User mode for that user.  A User entry will be a dash ( -- ) if the user has not yet performed the registration process per the account registration email, after account creation.
  5. Email column: List of user email addresses, which are used as logins to the ThousandEyes platform.
  6. Account Groups column: List of the Account Groups to which the user belongs.  "All" indicates membership in the built-in Account Group whose name is "All account groups".
  7. Management permissions: The user-and-lock icon indicates that this user possesses Management permissions.
  8. Registration pending: A red triangle icon indicates that the user has not yet completed the registration process as provided for in the registration email sent from the ThousandEyes platform. If you haven’t received a registration email within 24 hours and you are getting the notification above, please reach out to Customer Success Team and request their assistance.

Adding User(s)

To add new users, click on the Add New Users button.  The Add New Users panel will appear:

 Role-Based-Access-Control_Add-Users.png
 

  1. Emails: Enter one or more email addresses which will be used by the users as logins to the ThousandEyes platform.  Use a comma as a delimiter to add multiple emails addresses (typically by pasting text from your clipboard).  An email with instructions to complete registration will be automatically sent to each address.
  2. Account Groups: Select the Account Group(s) to which the user will belong using the Account Groups pull-down menu. Multiple Account Groups are permitted. The selection affects all users listed in the Emails field.
  3. Roles: Click within the text field to display and select the Roles that the user(s) will have within the scope of the associated Account Group. Multiple Roles are permitted.
  4. Add/Remove Account Group: Click the + icon to add a new Account Group pull-down and associated Roles field, for multiple Account Group assignment. Click the - icon to remove an Account Group pull-down and associated Roles field.
  5. Login Account Group: Select the Account Group in which the user starts.  If a user is a member of multiple Account Groups, the user will be able to switch Account Groups using the Switch Account Groups link under their username in the upper-right corner of the interface.

Note: When creating new users, the name of the user(s) are not entered by the administrator.  After the user account is created, the user will receive an email from the ThousandEyes platform requesting that the user complete the registration process.  This permits the user to provide their name string, saving the administrator typing and reducing the risk of errors.  If the administrator wishes to provide the name, the Edit User panel under the Users tab allows for manual entry.

Edit User

In the Users tab click any user entry in the table to expand all the editable options as per screenshot below.

Role-Based-Access-Control_Edit-User.png
 

  1. Registration pending: A red triangle icon indicates that the user has not yet completed the registration process as provided for in the registration email sent from the ThousandEyes platform. Note: One registration email can be sent per 24 hours using the Resend registration email link. If you attempt to send more than one in the 24h period a warning message will appear "A registration email has been sent to this user in the past 24 hours."
  2. Name: The name of the user.  This will be blank if the user has not completed registration.
  3. Email: The email addresses which will be used as the login to the ThousandEyes platform.
  4. Account Groups: The Account Group(s) to which the user belongs.  Edit the Account Group(s) to which the user belongs with the Account Groups pull-down menu. Multiple Account Groups are permitted.
  5. Roles: The Roles which belong to the user, within the associated Account Group.  Click within the text field to edit the Roles that the user has within the scope of the associated Account Group. Multiple Roles are permitted.
  6. Add/Remove Account Group: Click the + icon to add a new Account Group pull-down and associated Roles field, for multiple Account Group assignment.  Click the - icon to remove an Account Group pull-down and associated Roles field.
  7. Login Account Group: The Account Group to which the user belongs upon login.  Click the Login Account Group pull-down to edit Account Group assignment.
  8. Delete: Click the trash can icon to delete the user.


Roles and permissions table

Table 1: Permission titles, descriptions and predefined roles
Permission NamePermission DescriptionOrganization AdminAccount AdminRegular User
Accept inbound live sharesBe able to accept a live share of a testxx 
API accessFull access to ThousandEyes APIxxx
Assign agent to account groupCreating agents in and sharing agents to an account groupx  
Assign email address of users to alertsAdd subscriber emails to alertsxx 
Assign management permissionsAssign management permissionsx  
Be able to view my own saved eventsBe able to view events saved by mexxx
Can add or modify tests to consume over 100% resourcesAbility to create and modify tests that would consume more than the purchased resource amount. This permission would only apply if your account has overage enabled.xx 
Create live shares for inside the organizationBe able to create live shares to share with other account groups in the organizationxx 
Create live shares for outside the organizationBe able to share data with other organizationsxx 
Create saved eventsBe able to save an event within viewsxxx
Create snapshot sharesBe able to create and share a snapshot within viewsxxx
Create web transaction testsBe able to create a web transaction tests that records various transactions during a webpage interaction. The "Edit tests" permission is also required for this permission to work.xx 
Delete accountDelete Account Groupx  
Download Endpoint AgentsBe able to download a custom endpoint agent installer for the organization to use within different account groupsxx 
Edit agent notificationsBe able to edit agent notification rules in agent settingsxx 
Edit agents in account groupBe able to modify enterprise agents and their configurations (e.g. proxy settings) in an account groupxx 
Edit alert rulesBe able to create and edit the alert rules for a testxx 
Edit alert suppression windowsBe able to configure and edit an alert suppression windowxx 
Edit all account groupsBe able to create and edit all account group settingsx  
Edit BGP monitorsBe able to create and edit private BGP monitorsxx 
Edit dashboard templates for all users in account groupBe able to edit dashboard templates for all users within an account groupxx 
Edit default timezone settingsBe able to edit organization-wide timezone settingsx  
Edit device notificationsBe able to edit device notifications in device layer viewxx 
Edit endpoint agent monitored domain sets.Be able to edit the monitored domain sets by endpoint agentsxx 
Edit endpoint agent monitored networksBe able to edit the monitored networks by endpoint agentsxx 
Edit endpoint agent settingsBe able to modify endpoint agents and their configurations in an account groupxx 
Edit endpoint testsBe able to edit endpoint testsxx 
Edit Internet Insights - Catalog settingsBe able to modify catalog entriesxx 
Edit labelsEdit labelsxx 
Edit live shares sent by all users in account groupBe able to edit the live shares sent by all users in an account groupxx 
Edit live shares shared by ThousandEyesBe able to edit the live shares shared by ThousandEyesxx 
Edit my domainsBe able to write the domains to be monitoredxx 
Edit organization and account group quotasIn order to edit quotas, you must also be able to view usage and billingx  
Edit own dashboard templatesBe able to edit your personal dashboard template  x
Edit own live sharesBe able to edit own live shares  x
Edit own report snapshotsBe able to edit report snapshots created by you  x
Edit own reportsBe able to edit your reports created by you  x
Edit own saved eventsBe able to edit your own saved eventsx x
Edit own saved events for all users in account groupBe able to edit all saved events within an account groupxx 
Edit own snapshotsBe able to edit your own snapshots  x
Edit Path Visualization interface groupsBe able to edit interface groups in test viewsxx 
Edit payment and contact detailsBe able to edit the billing information and credit card informationx  
Edit reports for all users in account groupBe able to edit all reports in an account groupxx 
Edit rolesBe able to edit the roles. This is a separate tab that will appear in Account Settings to users with this permissionx  
Edit security & authentication settingsBe able to modify security and authentication settings.This is a separate tab that will appear to users with this permissionx  
Edit snapshots for all users in account groupBe able to edit all snapshots in an account groupx  
Edit snapshots shared by all users in account groupBe able to edit all shared snapshots in an account groupxx 
Edit testsBe able to create and edit testsxx 
Edit user email addressesBe able to edit email addresses of all usersxx 
Edit usersBe able to create and edit users in an account groupxx 
Edit users in all account groupsBe able to create and edit users in an organizationx  
Embed own widgetsEmbed your own widgets into other applications  x
Embed widgets for all users in account groupEmbed widgets within an account group in other applicationsxx 
Internet Insights - Catalog settingsBe able to view Internet Insights - Catalog setxxx
Keep session alive on auto-updateBe able to keep the ThousandEyes session alive during an auto-updatexxx
Login via Single Sign-OnBe able to login by using SSOxxx
Login via ThousandEyes login pageBe able to login by typing username and password interactively into ThousandEyesxxx
Set dashboard template as account group defaultBe able to set default dashboards for an account groupxx 
Set report template as account group defaultBe able to set default reports for an account groupxx 
View activity log for all users in account groupBe able to view an account group's activity log. The activity log will appear in a new tab within Account Settings for users with this permissionxx 
View agent notificationsBe able to receive enterprise agent notificiationsxx 
View agents in account groupBe able to view Enterprise Agents settings and their configurations (e.g. proxy settings) in an account groupxxx
View alert rulesBe able to view alert rulesxxx
View alert suppression windowsBe able to view alert suppression windowsxxx
View all account groups settingsBe able to view account group settingsx  
View all usersBe able to view all users in an organizationxx 
View BGP monitorsBe able to view all privately created BGP monitorsxxx
View billingBe able to view the billing tabx  
View device notificationsBe able to receive and view device notificationsxxx
View endpoint agent dataBe able to view endpoint agent dataxxx
View endpoint agent monitored domain setsBe able to view endpoint agent monitored domain setsxxx
View endpoint agent monitored networksBe able to view endpoint agent monitored networksxxx
View endpoint agent settingsBe able to view endpoint agent settingsxxx
View endpoint data that identifies usersBe able to view endpoint data that identifies usersxxx
View endpoint data that identifies visited pagesBe able to view endpoint data that identifies visited pagesxxx
View endpoint testsBe able to view endpoint testsxxx
View labelsBe able to view labels within an account groupxxx
View live shares shared by ThousandEyesBe able to view live shares created by ThousandEyesxxx
View live sharings from all users in account groupBe able to view live shares in an account groupxx 
View my domainsBe able to view my own domainsxxx
View organization usageBe able to view my organization's units and licenses consumptionx  
View own activity logBe able to view my own activity log  x
View own live sharesBe able to view my own live shares  x
View own snapshotsBe able to view snapshots saved by me  x
View reportsBe able to view reportsxxx
View rolesBe able to view the Roles tab within Account Settingsx  
View security & authentication settingsBe able to view the security and authentication settings for an organization within Account Settingsx  
View sensitive data in web transaction scriptsBe able to view sensitive data in transactions scripts in a transaction testxx 
View snapshotsBe able to view snapshots shared to me in an account groupxxx
View snapshots shared by all users in account groupBe able to view snapshots shared by all users in an account groupxx 
View testsBe able to view the tests created in an account groupxxx
View user activity in all account groupsBe able to view the activity log for the organization within Account Settingsx  
 

Related Articles