ServiceNow Quickstart
Please make sure that the ServiceNow System Requirements are met.
Create a ServiceNow technical user with sufficient table access rights
The ServiceNow agent should use a technical user in ServiceNow to access the data to be crawled. While it is possible to use an administrator account for test crawls like proofs of concept, for improved security a technical user that is used exclusively by the ServiceNow Connector should be created.
Please proceed with performing the following steps.
1. Create the role
To avoid going back and forth the user’s role is created first.
-
Go to System Security > Users and Groups > Roles.
-
Click New.
-
Give the new rule a speaking name (e.g., raytion_connector_role).
-
Ensure that the Application is set to Global, and that Elevated privilege is unchecked.
-
Optionally enter a description.
-
Click Submit.
-
Edit the new role.
-
Under Contains Roles, click on Edit and add the role snc_read_only.
2. Create the technical user and assign the role
Then the technical user is created and the role from above assigned.
-
Go to System Security > Users and Groups > Users.
-
Click New.
-
Give the user a speaking User ID (e.g.
raytion_connector). -
Set a secure password.
-
Leave all other text fields empty, if possible.
-
Check Web service access only, if available.
-
Ensure that
-
Active is checked, and
-
Password needs reset, Locked Out, and Internal Integration User are not checked.
-
-
Click on Submit.
-
Edit the new user and go to the Roles tab.
-
Click on Edit and add the role from 1. Create the role.
3. Grant read access to needed tables
The technical user needs read access for all the tables and columns/fields that should be accessible
by the connector. This includes tables for extracting the actual content like kb_knowledge,
tables for relations, tables for ACL constructions and
also tables for extracting principal information, if needed.
Table overview
Click to open basic tables
For a content synchronization please grant access to the following tables:
-
For content:
-
sys_db_objectthe technical user will look up here the full table names that are needed while crawling
-
-
For attachments:
-
sys_attachmentfor attachment metadata -
sys_attachment_docfor attachment file data
-
-
For ACL metadata construction:
-
sys_dictionaryandsys_glide_objectthe technical user needs to check whether security constraints are explictly set upon a single cell of a row (if so, the entire record is not crawled, as the connector does not support this feature yet. A notice is logged.) -
sys_security_aclfor conditions and scripts -
sys_security_acl_rolerelations between conditions, scripts and roles -
sys_security_operation -
sys_security_type -
user_criteriafor user criteria -
sys_user_rolerelations between users and roles -
sys_user_grouprelations between users and groups -
sys_userthe technical user fetches the user id and references tocore_company,cmn_departmentandcmn_locationthat can be used in user criteria -
core_companycompanies for reconstructing user criteria -
cmn_departmentdepartments for reconstructing user criteria -
cmn_locationlocations for reconstructing user criteria
-
Please note that even a content synchronization for a public search at the moment needs access for ACL construction.
And for a principal synchronization please grant access to the following tables:
-
For principals:
-
sys_userthe user name is stored as principal. The ID is used in the following relation tables to fetch more principal information -
sys_user_grouprelations between users and groups -
sys_user_grmemberused for transitive group memberships -
sys_user_has_rolerelations between users and roles -
sys_user_role_containsused for transitive role memberships
-
Click to open additional tables for knowledge base
For a content synchronization please grant access to the following tables:
-
For content:
-
kb_knowledge -
kb_knowledge_base
-
-
For ACL metadata construction:
-
kb_uc_can_read_mtomFetches user criteria for allow ACLs -
kb_uc_cannot_read_mtomFetches user criteria for deny ACLs (if deny ACLs are applied the related record is not crawled, as the connector does not support this feature. A notice is logged.)
-
Click to open additional tables for service catalog
For a content synchronization please grant access to the following tables:
-
For content:
-
sc_cat_item
-
-
For ACL metadata construction:
-
sc_cat_item_user_criteria_mtomFetches user criteria for allow ACLs -
sc_cat_item_user_criteria_no_mtomFetches user criteria for deny ACLs (if deny ACLs are applied the related record is not crawled, as the connector does not support this feature. A notice is logged.)
-
Granting access
Access is granted by creating and assigning ACLs to the role in ServiceNow. Please note that you need ACLs both for the table itself and for the table’s columns/fields to make sure the technical user has properly access. This e.g. means for the table kb_knowledge you need two ACLs, one with -- None -- and one with * in the second dropdown box (step 8).
Please go to System Security > Access Control (ACL), and for each table:
-
Click New.
-
Ensure that
-
Type is set to record,
-
Application is set to Global,
-
Active is checked,
-
Admin overrides and Advanced are not checked,
-
Protection policy is
-- None --, and -
the Condition is empty.
-
-
Set Operation to read.
-
Under Name, choose the name of the table in the first dropdown box and
-- None --in the second. -
Under Requires role, add the role from 1. Create the role.
-
Click Submit.
-
Click New again.
-
Follow the steps above again, but choose the name of the table in the first dropdown box and
*in the second dropdown box under Name. -
Click Submit.