The back office is a way for users to interact with microservices, and it could be done so through performing CRUD actions. IAM service is a very important core service because it ensures that the company’s data and information across all microservices are secured from unauthorized access.
IAM service consists of users, roles, groups, and policy management. Users can create policies, groups, and roles. As users get assigned different roles, they are authorized to use different features in the back office. The mockups were built in Sketch.
Research users • Hold workshops • Provide wireframe • Design mockup
Managing roles isn’t a daily task. We planned to build an IAM service for the new back office which is planned to replace the old system. At that time there were about 2300 users using 55 roles in that old system.
Before designing the role service, we interviewed colleagues who had experience of using the old system and other back offices’ role services.
Interview outline:
According to the interview, these were the points of improvement that could be done to the old system:
Design logic we got from the interviews:
While designing, we found some logic-related problems. We invited the PO (product owner) and design team to brainstorm solutions based on different journeys.
These are the solutions to integrate most of them into:
Designed the wireframe and flow document for the team and users to review. Once the wireframe passed, I designed the mockups.
Here I present the main flows: SSO Connection, Superuser login, Role Management, Assign Users to Role, and User Login.
This is the SSO connection flow. Our role service is not a data owner. The data owner is a 3rd party active directory. (Microsoft or Google would be examples of 3rd parties.) Here is the list of benefits of syncing data from 3rd party:
There are 2 ways of accounts synchronization for different scenarios: auto sync and semi-auto sync. The former syncs all the accounts to the back office and the latter allows users to select which accounts to sync with the back office.
The usage of superusers is for the system's first setup. Instead of logging in to the system by SSO, Superusers log in to the system via system-created accounts and passwords. Superusers will be asked to set up and verify phone numbers upon the initial login. Superusers can also reset the default account and password afterward.
Role management is one of the functions of role service. Users can check roles in a list or a hierarchy view that shows the parent of each role. To prevent the system from losing the manager, we separate roles into two types: team role and system role. Team roles include customized roles and a default role, which is the admin. System roles include 4 default role service-related roles, which manage users, roles, and policies (role's permission group) of the back office. Users can customize team roles by copying permissions from existing roles or selecting policies manually.
Users can choose to assign users manually or batch assign users to specific roles. Apart from batch assigning, pasting the email address list in the build-in batch selections also allows the system to detect non-existent accounts.
Select orientation first, then log in to the back office with the company email. Here we take Microsoft as an example.