Role Based Access Control (RBAC)
Overview of Role Based Access Control (RBAC) in Application Modernization Accelerator and how it works.
What is RBAC
Role Based Access Control (RBAC) is a widely-adopted security model that restricts system access based on a user's role within an organization rather than granting permissions to individual users. In RBAC, permissions are assigned to roles, and users are then assigned to those roles, inheriting the associated permissions. This approach follows the principle of least privilege, ensuring users have only the access necessary to perform their job functions.
- Simplified Management: Instead of managing permissions for each individual user, administrators assign users to predefined roles, making it easier to onboard new users and modify access as job responsibilities change
- Enhanced Security: By limiting access based on roles, RBAC reduces the risk of unauthorized access and helps prevent security breaches
- Scalability: As organizations grow, RBAC scales efficiently without requiring individual permission management for each new user
- Compliance and Auditing: RBAC makes it easier to demonstrate compliance with regulatory requirements and provides clear audit trails of who has access to what resources
In Application Modernization Accelerator, RBAC is implemented by mapping OAuth2 groups to AMA roles and workspaces. This allows you to leverage your existing identity management infrastructure to control user access to Application Modernization Accelerator.
How RBAC works in AMA
Application Modernization Accelerator allows you to map OAuth2 groups to AMA roles and workspaces:
- Any users that belong to mapped OAuth2 groups will receive the matching access
- Any users that do not belong to any mapped OAuth2 groups will not be able to access any data in AMA
AMA Roles
In Application Modernization Accelerator there are 3 possible roles, each with more capabilities than the previous role:
- Admin: Can assign roles and create and delete workspaces
- Writer: Can modify the contents of any workspace and create groups and add tags
- Reader: Can view data only
Workspace Access
Additionally, OAuth2 groups can be mapped to specific workspaces and will not be able to see any workspace they are not mapped to.
Mapping the initial Admin role
Once RBAC has been enabled, the next user to access the UI will be redirected to the RBAC access screen.
This user will be presented with a list of OAuth2 groups that they belong to and MUST select one of those groups to be mapped to the AMA admin role.
Mapping roles in AMA
The Admin user can map roles and workspaces in Application Modernization Accelerator:
- Choose the 'Roles and permissions' option in the left hand menu
- When creating a mapping, the user enters the OAuth2 group they want to map and they select the AMA role they want to map to
Mapping workspace access in AMA
When mapping a role in Application Modernization Accelerator there is an option to enable Workspace access:
- Toggle Workspace access on to enable this option
- Select the workspaces that you want this OAuth2 mapping to have access to
Enabling audit tracking
Audit tracking can be enabled on Application Modernization Accelerator if RBAC has been enabled.
All Create, Delete and Update actions will be logged along with the user id and relevant information. This id can be resolved to the specific user by looking it up in the OAuth2 server.
Access to the audit log is limited to users with the Admin role and can be accessed via the swagger interface only.