Overview
Amanda has successfully rolled out her application to her team, and it's caught the attention of another team who also wishes to use it. A primary condition is to maintain the privacy of records across the two teams.
In this exercise, we will compartamentalize telework cases for the users in the Development department and for the users in the Customer support team.
We'll configure this by defining:
- One fulfiller role for each team: Fulfiller_Development and Fulfiller_Customer_Support
- Then we'll define specific access controls for each.
- In the end, one team will have visibility only over requests from users in the Development department while the other team will have access only to requests from the users in the Customer support department.
This will ensure both teams can use the app while maintaining the necessary separation and privacy of data.
Let's get started.
Citizen developers like Amanda need special privileges to configure access controls so Amanda is going to request...
Help from App Engine Admins
- Logged in as Admin
Elevate to Security Admin
Steps ➊ In the top right, click the Avatar ➋ Select Elevate role ➌ Check [✔] security_admin ➍ Click .
Go to App Engine Studio > Security
Steps ➊ In AES, click More ➋ Click Security ➌ Click Add
When Amanda created the app it was only for one team and having only one user role was enough. Now that we need to open the application to another team we need to have more specific roles to ensure proper security.
Create role Fulfiller_Development
Steps ➊ Click build a new role ➋ Click .
Give the role a name and description.
Steps Name Fulfiller_Development Description Fulfiller in the Development department
Give the role the desired permissions
Success
Click
.
Repeat the steps 4 to 7 to create the role Fulfiller_Customer_Support
Steps Name Fulfiller_Customer_Support Description Fulfiller in the Customer Support department
You should see the two new roles in the app
Refine the access controls
- Navigate to the Access Control List (ACL)
Filter the list of records
Filter ➊ Set the filter as shown below ➋ Click Run ➌ Click on the Updated by to get the admin ACL at the top ➍ Open the first record
Review the ACL
Define the condition: Opened by someone in the Development department
We click on the condition field, scroll down to select Show related fields
Select "Opened by ⟹ User fields"
Click again on the field and we can now see the fields inside the Opened by
Scroll down and select department
Click again on the field and then select Opened by Department
Finally set the condition value to Development
Save the record
Notice ServiceNow has generated a description
To secure the data access let's review the other ACL our work
We need to delete any ACL that does not have any restriction
Assign the role to Abel
Open user Abel
Go to the list of users
Steps ➊ Click the All menu ➋ Search for Users ➌ Click on Users
Open the user Abel
Click Edit Roles
Grant Abel the telework user role
Let's test
- Go to App Engine Studio
Preview the Telework case table
Notice we can see all the records
Go back to the admin view & Impersonate Abel
Go back to the Telework case list and Notice we can see all the records