Granting Table Access to a User in ServiceNow
This article explains how to grant table access to a service account in ServiceNow. The process involves creating a role, assigning it to a user, and configuring row-level and field-level access controls.
Prerequisites
- Administrator Role: Ensure you have admin access in ServiceNow.
- Security Admin Role: Elevate to the
security_admin
role to make changes to Access Control Lists (ACLs).
Step 1: Create a User
- Navigate to User Administration > Users.
- Click New to create a new user.
- Fill in the user details, such as
microsoft.copilot
for the User ID andMicrosoft
andCopilot
for the First Name and Last Name respectively. - Click Submit to save the user.
Step 2: Create a Role
- Navigate to User Administration > Roles.
- Click New.
- Enter a unique name for the role (e.g.,
Microsoft Graph Connector Account
). - Click Submit to save the role.
Step 3: Assign the Role to a User
- Navigate to User Administration > Users.
- Open the user record for the intended user (e.g.,
Microsoft Copilot
). - In the Roles related list, click Edit.
- Add the newly created role (
Microsoft Graph Connector Account
). - Click Save to finalize the assignment.
- Click on Update to update the user record.
Step 4: Grant Row-Level Access
To grant access to rows within a specific table, follow these steps:
- Elevate to the
security_admin
role. - Navigate to System Security > Access Control (ACL).
- Click New to create a new ACL record.
- Fill in the following fields:
- Type: Select record.
- Operation: Choose the 'read' operation.
- Name: Enter the table name (e.g.,
sys_dictionary
).
- In the Roles section, add the previously created role (
Microsoft Graph Connector Account
). - Click Submit to save the ACL.
Verification
- Impersonate the user (e.g.,
Microsoft Copilot
). - Access the target table (e.g.,
sys_dictionary
) and confirm that rows are visible. You will notice that though the user can view the rows, the field values are not visible. To grant field-level access, proceed to the next step.
Step 5: Grant Field-Level Access
If the user can view rows but not field values, field-level access must be configured.
- Navigate to System Security > Access Control (ACL).
- Click New to create a new ACL record.
- Fill in these fields:
- Type: Select record.
- Operation: Choose the 'read' operation.
- Name: Enter the table name (e.g.,
sys_dictionary
) and use*
in the field name to apply to all fields.
- In the Roles section, add the previously created role (
Microsoft Graph Connector Account
). - Click Submit to save the ACL.
Final Verification
- Impersonate the user (e.g.,
Microsoft Copilot
). - Confirm that both rows and field values within the target table are now visible.
By following these steps, you have successfully granted table access to a service account in ServiceNow.