Adding User Roles
Roles contain permissions for users to manage the server. They can be reused and they eliminate the overhead of granting permissions to users individually.
Throughout this documentation, we use the following roles that are typically used in many enterprises. You can also define different user roles depending on your requirements.
- admin: The API management provider who hosts and manages the API Gateway and is responsible for creating users in the system, assigning them roles, managing databases, security, etc. The Admin role is also used to access the WSO2 Admin Portal (
https://<Server Host>:9443/admin
), where you can define workflow tasks, throttling policies, analytics configurations, etc. The Admin role is available by default with the credentials admin/admin. - creator: A creator is typically a person in a technical role who understands the technical aspects of the API (interfaces, documentation, versions etc.) and uses the API publisher to provision APIs into the API store. The creator uses the API Store to consult ratings and feedback provided by API users. Creator can add APIs to the store but cannot manage their lifecycle.
- publisher: A person in a managerial role and overlooks a set of APIs across the enterprise and controls the API lifecycle, subscriptions and monetization aspects. The publisher is also interested in usage patterns for APIs and has access to all API statistics.
- subscriber: A user or an application developer who searches the API store to discover APIs and use them. S/he reads the documentation and forums, rates/comments on the APIs, subscribes to APIs, obtains access tokens and invokes the APIs.
Follow the instructions below to create the creator
, publisher
and subscriber
roles in the API Manager.
Create user roles
- Log in to the management console (https://localhost:9443/carbon) as admin (default credentials are admin/admin).
In the Main menu, click Add under Users and Roles.
Click Add New Role.
Enter the name of the user role (e.g.,
creator
) and click Next.Tip: The Domain drop-down list contains all user stores configured in the system. By default, you only have the PRIMARY user store. To configure secondary user stores, see Configuring Secondary User Stores.
The permissions page opens. Select the permissions according to the role that you create. The table below lists the permissions of the
creator
,publisher
andsubscriber
roles:Roles Permissions UI creator - Configure > Governance and all underlying permissions.
- Login
- Manage > API > Create
- Manage > Resources > Govern and all underlying permissions
publisher - Login
- Manage > API > Publish
subscriber
- Login
- Manage > API > Subscribe
Click Finish once you are done adding permissions.
When a user creates an application and subscribes to an API, a role is created automatically as shown below.
"Application/<username>_<applicationName>_PRODUCTION"
These roles are not assigned any permissions when created. The application is visible only to users of that particular role. For other users to be able to view the application, a user with admin privileges has to assign the role to the users.
To add roles using APIs, you can use the RemoteUserStoreManagerService (an admin service of the WSO2 Carbon platform).
- Set the <HideAdminServiceWSDLs> element to false in <APIM_HOME>/repository/conf/carbon.xml file and restart the server.
- If you have started the server in default configurations, use the following URL in your browser to see the WSDL of the admin service: https://localhost:9443/services/RemoteUserStoreManagerService?wsdl.
- Follow the instructions to add a role using RemoteUserStoreManagerService.