Role-based Permissions

The User Management module in WSO2 products enable role-based access. With this functionality, the permissions enabled for a particular role determines what that user can do using the management console of a WSO2 product. Permissions can be granted to a role at two levels:

  • Super tenant level: A role with super tenant permissions is used for managing all the tenants in the system and also for managing the key features in the system, which are applicable to all the tenants.
  • Tenant level: A role with tenant level permissions is only applicable to individual tenant spaces.

The permissions navigator that you use to enable permissions for a role is divided into these two categories (Super Admin permissions and Admin permissions) as shown below.

Admin permissions tree

You can access the permissions navigator for a particular role by clicking Permissions as shown below.

Change permissions of role

By default, every WSO2 product comes with the following Users, Roles and Permissions configured:

Users:

  • Admin - Has all the permissions in the system enabled by default. Therefore, this is a super tenant, with all permissions enabled. By default, the admin user is assigned to both the admin and the everyone roles.

Info

  • The admin user and admin role is defined and linked to each other in the user-mgt.xml file, stored in the <PRODUCT_HOME>/repository/conf/ directory as shown below.

    <AddAdmin>true</AddAdmin>
    <AdminRole>admin</AdminRole>
    <AdminUser>
        <UserName>admin</UserName>
        <Password>admin</Password>
    </AdminUser>
    These properties can be customized by configuring the <PRODUCT_HOME>/repository/conf/deployment.toml file. For more information, see Configuring the System Administrator

  • The admin role has all the permissions in the system enabled by default. Therefore, this is a super tenant, with all permissions enabled.

Roles:

By default, all WSO2 products have the following roles configured:

  • admin - Provides full access to all features and controls. By default, the admin user is assigned to both the admin and the Internal/everyone roles.
  • Internal/everyone - This is a pre defined role that is used to group all the users (across the user stores) together. When you create a new user, automatically the user belongs to the Internal/everyone role. It does not include any permissions. This role can be used to identify all logged in users.
  • Internal/system - This is another pre defined role which does not include any permissions. Unlike the Internal/everyone role, this role is not assigned to a user by default.
  • Internal/analytics - This role can be assigned to users who do not have the publisher or subscriber roles assigned but need permission to view the analytics dashboards.

In addition to the above, the following roles exist by default.

  1. Internal/creator
  2. Internal/publisher
  3. Internal/subscriber

For more information about managing roles, see Managing User Roles

You will be able to log in to the management console of the product with the admin user defined in the user-mgt.xml file. You can then create new users and roles and configure permissions for the roles using the management console. However, note that you cannot modify the permissions of the admin role. The possibility of managing users, roles and permissions is granted by the User Management permission. For more information, see Configuring the User Realm .

Description of role-based permissions

Note

Note that the descriptions given in this document only explains how permissions control access to operations available on the Management Console (https://<hostname>:9443/carbon). Also, not all the permissions available in the permission tree are listed here. You can get the information related to them throughout the documentation wherever applicable.

Log-in Permissions

The Login permission defined under Admin permissions allows users to log in to the management console of the product. Therefore, this is the primary permission required for using the management console.

Login Permissions

Super Tenant Permissions

The following table describes the permissions at Super Tenant level. These are also referred to as Super Admin permissions.

Permission Description of UI menus enabled
Management permissions:

The Super Admin/Manage permissions are used for adding new tenants and monitoring them.

- Modify/Tenants permission enables the Add New Tenant option in the Configure/Multitenancy menu of the management console, which allows users to add new tenants.
- Monitor/Tenants permission enables the View Tenants option in the Configure/Multitenancy menu of the management console.

Server Admin permissions:
Selecting the Server Admin permission enables the Manage/Shutdown/Restart option in the Main menu of the management console.

Tenant-level permissions

The following table describes the permissions at Tenant level. These are also referred to as Admin permissions.

Info

Note that when you select a node in the Permissions navigator, all the subordinate permissions that are listed under the selected node are also automatically enabled.

Permission level Description of UI menus enabled
Admin

When the Admin permission node is selected, features including the following menus are enabled in the management console:

- Identity/User Stores: This permission allows users to add new user stores and manage them with the management console. Note that only secondary user stores can be added using this option. See the topic on Configuring Secondary User Stores for more details.
- Identity/Identity Providers: See the topic on working with identity providers for details on how to use this option.

- Additionally, all permissions listed under Admin in the permissions navigator are selected automatically.

Admin/Manage/Identity/User Store Management This permission enables the Identity/User Stores option in the Main menu. This option allows users to add new user stores. For more details on User Store Management, see Configuring Secondary User Stores
Admin/Manage/Identity/Claim This permission enables the Identity/Claims option in the Main menu. This option allows users to perform Claim Management. For more details, see Claim Management.
Admin/Manage/Identity/Key Store Management This permission enables the Manage/KeyStores option in the Main menu. This option allows users to add and modify new key stores. For more details on Key Store Management, see Ceating New Key Stores
Admin/Manage/Resources/Browse This permission enables the Browse option under the Registry menu in the main navigator. This option allows users to browse the resources stored in the registry by using the Registry tree navigator.
Admin/Manage/Search This permission enables the Search option under the Registry sub menu in the Main menu. This option allows users to search for specific resources stored in the registry by filling in the search criteria.
Admin/Monitor When the Admin/Monitor permission node is selected, system monitoring related features including the following menus are enabled in the management console:

- Monitor menu /System Statistics: See the topic on system statistics for information on how to use this option.

- Additionally, all permissions listed under Admin/Monitor in the permissions navigator will be enabled automatically.
Top