Create Access Control Lists (ACLs) for SQL API
Configure table-level access control using the egress_sql and read operations to grant Service Accounts query access to specific tables through the SQL API.
Before you begin
Role required: security_admin
Make sure the following prerequisites are in place:
- You have created a Service Account and assigned it the sn_odbc_rest_access or sn_jdbc_rest_access role.
- You have identified which ServiceNow tables need to be accessible via the SQL API.
About this task
Access to tables through the SQL API is not granted globally. For each table that a Service Account needs to query, you must create two Access Control Lists (ACLs): one for the egress_sql operation (which controls SQL API data export) and one for the read operation (which controls record-level access). A Service Account can only query tables for which both ACLs have been explicitly configured.
You must repeat this procedure for each table and each role combination that requires SQL API access. If you have multiple Service Accounts with different roles, you may need to create separate ACLs for each role and table combination.
Procedure
Result
You have successfully configured table-level access control for the SQL API. The Service Account can now query the tables for which both egress_sql and read ACLs have been created, subject to the role requirements you specified.
Remember that access is granted on a per-table basis. If you need to grant access to additional tables, or if you create additional Service Accounts with different roles, you must repeat this procedure to create the appropriate ACLs.