ACL in Service-now Access Control List (ACL) What is ACL? ACL is a list which allows the users to have different access like create, write, read, delete and etc to particulartable of the fields of table. Users with specified roles can only access the given operations like create, write, delete, read, execute. Scripts are used on the bases of condition for true and false. Only those users can give access to another users who have security administrator privilege. These are some operations used in ACL Create: – This operation enables user to create a new record in the table. Write:- This operation enables user to edit the existing record in the table Read: – This operation enables user to read the records in the table but not to edit. Delete: -This operation enables user to remove the existing records from the table. Execute:- This operation enables user to run the scripts on record or UI policies. Types of ACL Record ACL In Record ACL we need to satisfy the Field ACL and Table ACL. In this if ACL is applied to parent table then the ACL will be automatically applied on the child table. Field ACL In Field ACL we apply ACL to particular Fields so that the only those fields will be visible to the user. To make all fields visible we need to select (*). Table ACL In Table ACL we apply ACL on table so that the whole table will be visible to the user. Only the table will be visible but not the records. Records will be visible if field ACL is also applied. To make whole table visible we need to select (*). How to Create an ACL? Example : – Create an ACL where following Conditions should meet. If state=In Progress then only ITIL role users can edit the state field. If state=Resolved then only Admin role users can edit the state fields. If state=closed and “current user” and the “User Name” are same then only user can edit the state field. If state=new, anyone can edit the field. If state=closed, all the fields for all the user should see as read-only. Procedure to create ACL I have created the table called User ACL now I am going to apply the ACL to this table. The first thing which you need to do is elevate the system_admin role. Then go to Navigation Bar and click ACL and select Access Control Once you reach to the above show page you will find that each table will be having inbuilt ACLs. If you want to makechanges on any particular table you can edit in the existing ACL itself by adding a role and writing the script for thatparticular operation. I have created a new ACL for this condition and written a code also and the condition is if stateis closed then all fields should be read-only to the users. The condition is if state is closed and the current user and username are same then only user can edit. For this conditionI have applied ACL to the state field and written code and in condition field I have given if state is closed so that it willwork when state is in closed. The condition is if the state is new anyone can edit this so I have written a ACL for only state field and given conditionas the state is new. The Condition is if the state is resolved only admin can edit it so I have created an ACL for edit the state field only withthe condition state is resolved. The condition is if the state is in progress then only ITIL user should edit it. So I have created an ACL with edit to thestate field only and given role as ITIL and condition as State is in progress. Created one additional ACL for read and write for the whole table without any user. Output If state=In Progress then only ITIL role users can edit the state field. If state=Resolved then only Admin role users can edit the state fields. If state=closed and “current user” and the “User Name” are same then only user can edit the state field. If state=new, anyone can edit the field. If state=closed, all the fields for all the user should see as read-only. ACL Assignment Create a Table with one Auto number field.Create 2 sting field i.e. first name and last nameCreate State field with following values 1.New 2.In Progress 3.Resolved 4.Closed Create one reference field if user as User Name Requirements: 1. if state=In Progress then only ITIL role user’s can edit the state field. 2. if state=Resolved then only Admin role user’s can edit the state fields. 3. if state=closed and “current user” and the “User Name” are same then only user can edit the state field. 4. if state=new, any one can edit the field. 5. if state=closed, all the fields for all the user should see as readonly. (except the req 3)