Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Simple way to determine what roles can access a table

Marshall Day1
Tera Expert

I am looking to find a simple (hopefully!) way to determine all the roles that can access a specific table. Yes, I can look through all the ACLs and I have even tried the Access Analyzer, but I was just wondering if there is a simple method to find all the roles that have access to the specific table.

Or maybe I am thinking about it the wrong way?

 

I appreciate any answers that can help.

 

Thanks,

Marshall

1 ACCEPTED SOLUTION

Me Being Mustaq
Tera Guru

Hi @Marshall Day1 ,

 

The simplest way to find all roles that can access a specific ServiceNow table is to review the table’s ACLs and their associated roles, typically by querying the relevant platform tables or using list views rather than relying solely on tools like Access Analyzer or manual review.

 

Practical Approaches

  • sys_security_acl_role Table:
    Go to the list view for sys_security_acl_role (type sys_security_acl_role.list in filter navigator) and filter by the table name and desired operation (read, write, etc).​
    This view shows the roles tied to ACLs for your table, letting you quickly export and filter results (e.g., exclude field-level ACLs for a cleaner list).​

MeBeingMustaq_0-1763709154788.png

 

 

  • sys_security_acl Table:
    You can also directly use the sys_security_acl table to see ACL records and their required roles for a given table. Then cross-reference sys_security_acl_role to see which roles are mapped to these ACLs.​

MeBeingMustaq_1-1763709226384.png

 

  • Scripted Query:
    Advanced users can script a query joining ACL and role tables, returning unique roles for a table across all operations. This method is concise and can run in a Script Include or on background scripts

 

 

Please refer to the below link:-

 

If it is helpful, please hit the thumbs button and accept the correct solution by referring to this solution in the future it will be helpful to them.

 

Thanks & Regards,

Mohammed Mustaq Shaik

View solution in original post

2 REPLIES 2

Me Being Mustaq
Tera Guru

Hi @Marshall Day1 ,

 

The simplest way to find all roles that can access a specific ServiceNow table is to review the table’s ACLs and their associated roles, typically by querying the relevant platform tables or using list views rather than relying solely on tools like Access Analyzer or manual review.

 

Practical Approaches

  • sys_security_acl_role Table:
    Go to the list view for sys_security_acl_role (type sys_security_acl_role.list in filter navigator) and filter by the table name and desired operation (read, write, etc).​
    This view shows the roles tied to ACLs for your table, letting you quickly export and filter results (e.g., exclude field-level ACLs for a cleaner list).​

MeBeingMustaq_0-1763709154788.png

 

 

  • sys_security_acl Table:
    You can also directly use the sys_security_acl table to see ACL records and their required roles for a given table. Then cross-reference sys_security_acl_role to see which roles are mapped to these ACLs.​

MeBeingMustaq_1-1763709226384.png

 

  • Scripted Query:
    Advanced users can script a query joining ACL and role tables, returning unique roles for a table across all operations. This method is concise and can run in a Script Include or on background scripts

 

 

Please refer to the below link:-

 

If it is helpful, please hit the thumbs button and accept the correct solution by referring to this solution in the future it will be helpful to them.

 

Thanks & Regards,

Mohammed Mustaq Shaik

Hi Mustaq,

Thanks you so much for this eloquently and clearly worded response. I have already used your process to get the information I needed and it was exactly as I asked, simple.

Thanks again for your time,

Marshall