best practices for acl ?

elizabeth keen
Giga Contributor

what are the best practices for creating a acl in servicenow ? 

1 ACCEPTED SOLUTION

shubham jagtap
Tera Guru

Hi, 

I would suggest these points before creating a new ACL:

1. Search for all the ACLs for that particular table you want to create on and categorise them for row level, field level types, never duplicate any ACL conditions which may turn irritating at later stages.

2. Use scripting if there is a similar ACL available, say your table and field with the role is already available, you can edit it instead of creating a new one.

3. You can also verify the base table (say check for task ACLs before writing a new ACL at incident level) and know things for parent child relation at ACL level.

Creating a new ACL will be easy for a new table but not for the existing ones. Recheck contradicting ACLs if any found, debug asap before going ahead. This would help you to make the process easy and no workarounds needed in future.

you can refer below link :

https://www.servicenowguru.com/showcase/servicenow-security-tips/

https://community.servicenow.com/community?id=community_question&sys_id=13968f25db1cdbc01dcaf3231f96...

https://docs.servicenow.com/bundle/geneva-servicenow-platform/page/administer/contextual_security/co...

https://community.servicenow.com/community?id=community_question&sys_id=52a08365db98dbc01dcaf3231f96...

https://docs.servicenow.com/bundle/kingston-security-management/page/product/planning-and-policy/con...

https://docs.servicenow.com/bundle/london-it-service-management/page/product/change-management/task/...

 

After going throw this mark it as correct/helpfull

Thanks

 

View solution in original post

2 REPLIES 2

shubham jagtap
Tera Guru

Hi, 

I would suggest these points before creating a new ACL:

1. Search for all the ACLs for that particular table you want to create on and categorise them for row level, field level types, never duplicate any ACL conditions which may turn irritating at later stages.

2. Use scripting if there is a similar ACL available, say your table and field with the role is already available, you can edit it instead of creating a new one.

3. You can also verify the base table (say check for task ACLs before writing a new ACL at incident level) and know things for parent child relation at ACL level.

Creating a new ACL will be easy for a new table but not for the existing ones. Recheck contradicting ACLs if any found, debug asap before going ahead. This would help you to make the process easy and no workarounds needed in future.

you can refer below link :

https://www.servicenowguru.com/showcase/servicenow-security-tips/

https://community.servicenow.com/community?id=community_question&sys_id=13968f25db1cdbc01dcaf3231f96...

https://docs.servicenow.com/bundle/geneva-servicenow-platform/page/administer/contextual_security/co...

https://community.servicenow.com/community?id=community_question&sys_id=52a08365db98dbc01dcaf3231f96...

https://docs.servicenow.com/bundle/kingston-security-management/page/product/planning-and-policy/con...

https://docs.servicenow.com/bundle/london-it-service-management/page/product/change-management/task/...

 

After going throw this mark it as correct/helpfull

Thanks

 

scott barnard1
Kilo Sage

ACL useful practice

 

  1. Read the documentation. 
  2. Get a personal dev instance and do the learning plans.
  3. Know the difference between Row level and Field level ACL.
  4. Review all the ACL's on the table that you are thinking of fiddling with before you fiddle. 
  5. Be as specific as you can. If you only want to lock down one field limit your acl to that field etc.
  6. OOTB system includes ACL components from global and some parent tables so be aware that the acl you think you are modifying may not be against the table you think. Always check. Don't mod the system wide ones unless totally confident. Scratch that just don't touch them 😛
  7. Don't test as admin
  8. If your testing gives an unexpected result beware of the other acl's as they may be interfering with the result that you are after.

 

I put the caution at the start as you need to be very careful when you do ACL's. You have to elevate your privilege beyond admin to work on them. Given you can trash the system as admin and you are raising your level when you do this you are in a position to wreak havoc if you don't know what you are doing.