ACLs
For ACLs you first need access to the table, then to the field. Think of it as walking up to a house. You can't get in the house (table) without the door being unlocked. Once inside, the rooms, are the rows/fields. So those need to be unlocked as well to go in to those (table.* or table.row/field).
- For table.none means that you are applying the ACL at the table level.
- For table.*, means that you are applying this for all rows/fields on that table which don't have their own specific table.field ACL. So it's more of a "meta-ACL", if you will.
- Then there's table.row/field, means you are applying this for that specific field
Example of a row level ACL (from chatGPT)
- Let's say you have an "Incident" table in ServiceNow, which contains records of various incidents reported by users. You want to restrict access to certain incidents based on their priority. You can define a row-level ACL that allows only users with a specific role, such as "Manager," to view and update incidents with a priority of "High."
- In this case, the row-level ACL script would check the user's role and the priority of the incident being accessed. If the user has the "Manager" role and the incident has a priority of "High," the ACL grants access. Otherwise, it denies access to the record.
What is meant by masking?
e.g. When I create a new ACL to specify what a role can do on a specific table, it says that I am masking the old ACL
Masking means to cover something up! In the scenario below the yellow is masking the new ACL
Green- it passed
Red - it failed
Empty or grey icon - Indicates the ACL evaluation did not need to be performed
A blue checkmark,x, or empty circle - Indicates that the ACL was taken from a cached result of a previous ACL check. The icons mean the same as the above.
What are the 4 ACL checks? These are the checks on that ACL
1. IAccessHandler
2. Roles
3. Condition
4. Script

Comments
Post a Comment