The configuration, addition and deletion of Roles is done via the 'Users and Roles' section of the Configuration menu. Once within 'Users and Roles', click on the 'Roles' tab:
In this view, you can choose:
add a new Role using the 'Add New' button
to edit or delete a Role using the contextual menu
export the list of Roles via the 'Export' button
filter the list of Roles using the filters within the column headers:
## Adding a Role
To add a new Role, click on the 'Add New' button:
The 'New Role' configuration window is displayed:
There are six tabs within the 'New Role' window:
###### Role tab
Assigns a name and description to the Role. If Multi-tenancy is enabled, it will be displayed here.
###### BSM tab
Defines the access control and visibility for Business Service Monitoring, i.e. can users within this Role add Business Services or Components, and also which Business Services can they see when logged in.
If the 'Allows ability to view BSM analysis screens (BSM)' checkbox is not checked, then the rest of the options will be hidden.
**Authorised for Business Services** This section is where you can determine which Business Services the user can view (via dashboards), and which ones they can both view and edit. In our example, we are not going to configure any access for editing and viewing BSM items.
You can control which Business Services are available for a Role from a 'top down' or from a 'bottom up' approach.
Choose the specific business service in the Authorised for Business Services field. If you select View All, then all Business Services will be available including any new Business Services created in the future. Access to the Business Service will allow visibility of all components of the Business Service.
Components will be automatically selected based on your existing status object permissions (based on Host Group / Service Group intersection or Hashtags). **Note:** The 'intersection' is explained in detail within the 'Status Objects' tab.
Permissions for components are automatically granted based on the existing status object definitions. If VIEWALL is specified, then all components are visible. Otherwise, it is based on the Host Group/Service Group intersection and Hashtags. You need to see all hosts for the component to be visible.
**Note:** If the component consists of 20 Service Checks, then the user will need to have permission to all 20 Service Checks in order for the component to be visible.
If you select the 'Grant permissions to Business Services' checkbox, then the Business Services associated with all your components will be visible.
###### Status Access
Defines what users assigned this Role can do within Opsview Monitor when logged in; e.g. can they view dashboards, create dashboards, send notifications, etc.
Within this tab you can configure what access rights users of this Role have, i.e. can they create and edit dashboards, view Flow data, send notifications, and so on. In this tab, we need to check 'VIEWSOME' ('Allows viewing of status information for some objects'), where 'some objects' are the items they are allowed to view as per the 'Status Objects' tab.
We should also check, NAVOPTIONS, RRDGRAPHS, TESTSOME, DOWNTIMESOME, and ACTIONSOME.
###### Status Objects
Defines which objects the users within this Role can see, including Host Groups, Service Groups, and Hashtags.
Within Status Objects, you will need to set the combination of Host Groups and Service Groups to restrict access as required.
Alternatively, we can tag those Hosts and Service Checks with a Hashtag, i.e. 'opsview-servers', and then select that within 'Authorised for Hashtags'.
Defines which objects and sections the users within this Role can configure, e.g. can they access the 'Hashtags' section of the Configuration menu.
Within the Configuration tab, you can define the Host Groups that users can edit (and thus the hosts within). You can also define other items users can configure within the monitoring software, i.e. can they edit the hosts they have access to view, can they edit other users, and so forth.
The administrative permissions are defined within this tab, and determine if users within this Role can Apply global save new passwords or view reporting.
Once you have configured the above six tabs, click 'Submit Changes' and your new Role will be created:
We can now apply this new Role to a test user, as below:
Note the Role is set to 'Opsview Servers'. After saving the new user and completing an Apply Changes (from the Configuration menu), you can now log in with the new user and see that the permissions have been correctly applied.
## Current Role Definitions
**Note**: If you make changes to a role, you may need to Apply Changes via the Configuration menu - (marked by '(AC)' below).
These are the access levels:
VIEWALL - View all (AC). This will also include all Business Services and Business Components
VIEWSOME - View some (AC) - see below for the definition of _some_
ACTIONALL - Action all (AC)
ACTIONSOME - Action some (AC) - see below for the definition of _some_
Action ability includes: setting acknowledgments, editing the built-in wiki. Note, setting downtime requires DOWNTIMESOME
DOWNTIMEALL - See DOWNTIMESOME (AC)
DOWNTIMESOME - Can set downtime for their list of objects. See below for the definition of _some_ (AC)
TESTALL - Can run the Test Service Check function
TESTSOME - As TESTALL, but see below for the definition of _some_
TESTCHANGE - Can run the Test Service Check function and have the ability to change the arguments for troubleshooting
DASHBOARD - Allows access to the dashboard
DASHBOARDEDIT - Allows the user to make private changes to their dashboard.
VIEWPORTACCESS - Viewport access
RRDGRAPHS - RRD graphs
If RRD graphs are set to public, then /graph and /rrdgraph will be available to non-logged in users. They will also be allowed to view all hosts and all services
If RRD graphs are set to authenticated users, then the hosts and services allowed to be accessed will be restricted to the subset of the host group and service group intersection.
NOTIFYSOME - Notify some (AC) - see below for the definition of _some_
CONFIGUREHOSTS - Can view configuration for hosts
You choose which points in the Host group hierarchy this role has, which means only hosts within those host groups are allowed to be configured. To be able to configure all hosts, select the top level host group
If you select any monitoring servers, you are only allowed to mark hosts against these particular monitoring servers
CONFIGUREKEYWORDS - Can view configuration for Hashtags (formerly called Keywords). Note that a user with this access would be able to get a list of all Service Checks, Hosts, and Contacts for the system
CONFIGUREPROFILES - Can view configuration for shared notification profiles for their role. If the user also has ADMINACCESS, they can see profiles for all roles (A = recommended Admins only as Opsview needs to list all objects for configuring)
CONFIGURENETFLOW - Can configure NetFlow
CONFIGUREVIEW - Can view configuration of everything else that does not have its own access point above. As new access points are created, less will be covered by CONFIGUREVIEW
CONFIGURESAVE - Can save configuration changes. Removing this access effectively gives a view only ability to look at the configuration data (note that some passwords will be visible)
RELOADACCESS - Allows to apply changes from the Configuration menu and put changes into production.
ADMINACCESS - Admin access, including audit log access
REPORTUSER - Allows access to Opsview Reporting Module
REPORTADMIN - Allows administrator access in Opsview Reporting Module
NETFLOW - Allows ability to view the NetFlow dashlets
PASSWORDSAVE - Can change their own password
NAGVIS - Allows access to Nagvis
**Note**: ADMINACCESS does not allow access to everything. Currently, it is used for administrator access, but as more granular access points are added, the items within ADMINACCESS will decrease (but upgrade scripts will ensure that new access points are split appropriately).
On initial systems, these roles will exist:
### Public (**Note**: Only RRD graphs and Viewport access make sense to be public)
### Authenticated User
### Admin role
Apply changes access (reload)
### View all, change some
### View some, change some
### View all, change none
### View some, change none
## Selection of objects
For access levels which refer to _some_, this is the selection of objects based on the role.
The selection consists of the union of:
the intersection of the Authorised for Host Groups and Authorised for Service Groups tick boxes, so only services from the specified service groups that exist on a host from the specified host groups will be included in the subset
the list of authorized keywords
This allows you to 'slice' the services that you can see on a host.
We recommend that you use service groups to match your team function or areas of responsibility (for example: Windows, Unix, Database, Network, Monitoring). You can use the host group hierarchy however you choose: some implementations are based on locations while others are based on priority (production, test, development).
When Opsview sets up notifications, you will receive the relevant host alerts for the services you have access to. If you do not want host notifications, you can disable them at the contact's notification profile.
**Note**: A contact must have at least 1 service on a host to be within the subset. This means that selecting _All host groups_, but only, say, the _Database_ Service Group, would mean that a Contact can see only Hosts with database services. Hosts without any database services would not be in this subset.
### All my administrators do not have CONFIGURESAVE
If you have locked out all administrators by removing CONFIGURESAVE, you can add it back to your role by running the following in the opsview database:
This will add CONFIGURESAVE to the 'Administrator' role (whose id is usually 10).