Hello, is there a better way to override parent's table field specific ACLs other than creating child table's field specific ACLs?

Jedrzej
Kilo Explorer

Hello, is there a better way to override parent's table field specific ACLs other than creating child table's field specific ACLs?

Already read tons of docs and can't find any other solution. 

As ACL processing order is as following:

https://docs.servicenow.com/bundle/helsinki-platform-administration/page/administer/contextual-secur...

 

Cheers

Jedrzej

1 ACCEPTED SOLUTION

I don't think there is another way around it then. You will likely have to create child specific ACL's unfortunately. 

View solution in original post

5 REPLIES 5

Chris D
Kilo Sage
Kilo Sage

In case anybody else stumbles upon this in 2025+, here's the latest source of the OP's (now-dead) link and the image from it:

ACL rule types 

ChrisD_0-1736550812325.png

 

To reiterate Andrew's answer, as you can see, the only ACL that can override parent table.field (2) is table.field (1) - unfortunately you can see that table.* is evaluated after that (4).

Personally I think this is frustratingly counterintuitive and requires a lot more effort than it ought. For our example, we want to limit (nearly) all Requested Item fields to be limited to members of the respective Assignment Group, so you would think that'd be a simple sc_req_item.* write ACL, right? Wrong. Because there's numerous ootb task.[field] write ACLs, now (if you want to be thorough and proper) you need to create a sc_req_item.[field] ACL for each of those, duplicating the condition you put in the sc_req_item.* ACL. And if you ever need to make a minor tweak to that condition? Gotta update .* and all those [field] ACLs 🙃