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 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://<APIM_Host>:<APIM_Port>/admin), where you can define workflow tasks, throttling policies, analytics configurations, etc. The Admin role is available by default with the credentials admin/admin. By default, this role contains all the permissions (including super admin permissions) in the permission tree.
- 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 create APIs in the API Publisher but cannot manage their lifecycle. Governance permission allows the creator to govern, manage and configure the API artifacts.
- 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. The subscriber 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
subscriber roles in the API Manager for example.
Creator, Publisher and Subscriber roles are available by default in API Manager.
Create user roles
- Log in to the management console (https://<APIM_Host>:<APIM_Port>/admin) 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
subscriberroles which are available by default:
Roles Permissions UI Allowed Functions admin All permissions
- Log in to API Publisher, API Store and Admin Portal
- All functions available in the API Publisher, API Store and Admin Portal
- Configure > Governance and all underlying permissions.
- Manage > API > Create
- Manage > Resources > Govern and all underlying permissions
- Log in to API Publisher
- Create APIs
- Edit own APIs
- View APIs created by others
- View API Publisher analytics
- Manage > API > Publish
- Log in to API Publisher
- View and publish APIs created by others
- Manage > API > Subscribe
- Log in to API Store
- Create applications
- Subscribe to APIs
- Obtain access tokens and invoke APIs
- Rate/comment on APIs
- Create forum topics
- View API Store analytics
Click Finish once you are done adding permissions.
When a user creates an application and generates application keys, a role is created automatically in the following format.
These roles do not have any permissions assigned to it, but it is used to manage the visibility of the corresponding service provider that is created in the format of
applicationName>_PRODUCTION'within the Key Manager. The created service provider is only visible to users with the latter mentioned role that has been generated automatically. Only if a user with admin privileges assigns the latter mentioned role to a user, will that user be able to view the details of the service provider that is created per application.