<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Combining Table and Field ACL rules in ITSM forum</title>
    <link>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533300#M105079</link>
    <description>&lt;P&gt;As we know, ServiceNow distinguishes between &lt;EM&gt;table&lt;/EM&gt; and &lt;EM&gt;field&lt;/EM&gt; level ACL rules. If both exist for a particular field, they both must evaluate to true in order to grant the specified access. &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;I have a situation where I need a field rule to essentially trump a table rule&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;, and am trying to wrap my head around the best way of doing so. A generic example:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; height: 8pt; padding: 0px;"&gt; &amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The CI Owner (&lt;EM&gt;owned_by&lt;/EM&gt;) should have write access to all fields on the CI record &lt;SPAN style="text-decoration: underline;"&gt;except&lt;/SPAN&gt; &lt;EM&gt;u_custom_field_1&lt;/EM&gt;.&lt;/LI&gt;&lt;LI&gt;Only members of the "Custom Group" group should be allowed to edit &lt;EM&gt;u_custom_field_1&lt;/EM&gt;, on &lt;SPAN style="text-decoration: underline;"&gt;any&lt;/SPAN&gt; CI.&lt;/LI&gt;&lt;/UL&gt;&lt;P style="min-height: 8pt; height: 8pt; padding: 0px;"&gt; &amp;nbsp;&lt;/P&gt;&lt;P&gt;As I see it, I can accomplish most of the above by one table level ACL rule against &lt;EM&gt;cmdb_ci&lt;/EM&gt; that provides write access based on the &lt;EM&gt;owned_by &lt;/EM&gt;value, and one field level ACL rule that checks if the user is a member of "Custom Group". That will prevent the CI Owner from editing this field if he/she is not in this group, as both rules must evaluate to true. However, for the same reason, members of "Custom Group" also cannot edit this field unless they are the CI Owner, due to the table level rule. This is undesirable.&lt;/P&gt;&lt;P style="min-height: 8pt; height: 8pt; padding: 0px;"&gt; &amp;nbsp;&lt;/P&gt;&lt;P&gt;My "brute force" approach to this problem would be to create field level ACL rules for every single field that I'm using on &lt;EM&gt;cmdb_ci&lt;/EM&gt;, but for maintainability reasons that is obviously not a preferred option. Are there any alternatives? Could I approach the problem differently altogether?&lt;/P&gt;</description>
    <pubDate>Mon, 21 Jul 2014 19:39:38 GMT</pubDate>
    <dc:creator>daja</dc:creator>
    <dc:date>2014-07-21T19:39:38Z</dc:date>
    <item>
      <title>Combining Table and Field ACL rules</title>
      <link>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533300#M105079</link>
      <description>&lt;P&gt;As we know, ServiceNow distinguishes between &lt;EM&gt;table&lt;/EM&gt; and &lt;EM&gt;field&lt;/EM&gt; level ACL rules. If both exist for a particular field, they both must evaluate to true in order to grant the specified access. &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;I have a situation where I need a field rule to essentially trump a table rule&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;, and am trying to wrap my head around the best way of doing so. A generic example:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; height: 8pt; padding: 0px;"&gt; &amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;The CI Owner (&lt;EM&gt;owned_by&lt;/EM&gt;) should have write access to all fields on the CI record &lt;SPAN style="text-decoration: underline;"&gt;except&lt;/SPAN&gt; &lt;EM&gt;u_custom_field_1&lt;/EM&gt;.&lt;/LI&gt;&lt;LI&gt;Only members of the "Custom Group" group should be allowed to edit &lt;EM&gt;u_custom_field_1&lt;/EM&gt;, on &lt;SPAN style="text-decoration: underline;"&gt;any&lt;/SPAN&gt; CI.&lt;/LI&gt;&lt;/UL&gt;&lt;P style="min-height: 8pt; height: 8pt; padding: 0px;"&gt; &amp;nbsp;&lt;/P&gt;&lt;P&gt;As I see it, I can accomplish most of the above by one table level ACL rule against &lt;EM&gt;cmdb_ci&lt;/EM&gt; that provides write access based on the &lt;EM&gt;owned_by &lt;/EM&gt;value, and one field level ACL rule that checks if the user is a member of "Custom Group". That will prevent the CI Owner from editing this field if he/she is not in this group, as both rules must evaluate to true. However, for the same reason, members of "Custom Group" also cannot edit this field unless they are the CI Owner, due to the table level rule. This is undesirable.&lt;/P&gt;&lt;P style="min-height: 8pt; height: 8pt; padding: 0px;"&gt; &amp;nbsp;&lt;/P&gt;&lt;P&gt;My "brute force" approach to this problem would be to create field level ACL rules for every single field that I'm using on &lt;EM&gt;cmdb_ci&lt;/EM&gt;, but for maintainability reasons that is obviously not a preferred option. Are there any alternatives? Could I approach the problem differently altogether?&lt;/P&gt;</description>
      <pubDate>Mon, 21 Jul 2014 19:39:38 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533300#M105079</guid>
      <dc:creator>daja</dc:creator>
      <dc:date>2014-07-21T19:39:38Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Table and Field ACL rules</title>
      <link>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533301#M105080</link>
      <description>&lt;P&gt;The following should work, provided other ACLs do not interfere.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- Write ACL on &amp;lt;table&amp;gt;.&amp;lt;none&amp;gt; where script evaluates to true for current.owned_by is current user or current user is a member of the "Custom Group" group&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- Write ACL on &amp;lt;table&amp;gt;.* where script evaluates to true for current.owned_by&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;- Write ACL on &amp;lt;table&amp;gt;.u_custom_field_1 where script evaluates to true for current user is a member of the "Custom Group" group&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&amp;lt;table&amp;gt;.u_custom_field_1 will be evaluated first, which will only allow write access to this field for members of the group. &amp;nbsp; The &amp;lt;table&amp;gt;.* ACL will allow write access for all other fields on this table to the CI owner. &amp;nbsp; The table level ACL will grant access to both conditions.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 29 Jul 2014 14:45:07 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533301#M105080</guid>
      <dc:creator>cbweiner</dc:creator>
      <dc:date>2014-07-29T14:45:07Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Table and Field ACL rules</title>
      <link>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533302#M105081</link>
      <description>&lt;P&gt;Thanks Chad, this helped solve my problem!&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 06 Aug 2014 16:31:44 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533302#M105081</guid>
      <dc:creator>daja</dc:creator>
      <dc:date>2014-08-06T16:31:44Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Table and Field ACL rules</title>
      <link>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533303#M105082</link>
      <description>&lt;P&gt;Hi Daja,&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I do have the same requirement, wherein CI's can be edited by CI owners who can be identified by the owned_by field, here is an attempt from my side to achieve this but with no success.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;var ra = false;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;if(gs.getUserID() == current.owned_by) //gs.getUserID() would give me the sys_id of logged in user, but I am not sure how can I get the current value of opened owned_by CI&lt;/P&gt;&lt;BR /&gt;&lt;P&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/P&gt;&lt;BR /&gt;&lt;P&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ra= true;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;ra;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I am also looking on how can we refer to the opened record from ACL, current variable is not the correct way.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Any assistance from your end would be highly appreciated!!!&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 15 Dec 2017 09:20:51 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533303#M105082</guid>
      <dc:creator>pradeepshokeen8</dc:creator>
      <dc:date>2017-12-15T09:20:51Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Table and Field ACL rules</title>
      <link>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533304#M105083</link>
      <description>&lt;P&gt;Hey Chad,&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;I have a different problem and I was hoping you could help me:&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;1. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Config Management Lead should be able to update all fields on Application Table&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;2. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Custom Role should be able to edit only 1 custom field on Application Table. But none of the other fields.&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;How can we do this? As soon as I write a field level ACL for the custom field, it overrides the table level ACL and then the Config Management Lead is not able to edit the field if the user is not having the Custom Role. &lt;/P&gt;&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Config Management Lead - Record Level ACL &lt;/P&gt;&lt;BR /&gt;&lt;P&gt;Custom Role - Field Level ACL to edit the field&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 18 Dec 2017 16:15:09 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533304#M105083</guid>
      <dc:creator>prashantdharne</dc:creator>
      <dc:date>2017-12-18T16:15:09Z</dc:date>
    </item>
    <item>
      <title>Re: Combining Table and Field ACL rules</title>
      <link>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533305#M105084</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Have you found solution for above query?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Custom Role should be able to edit only 1 custom field on Application Table. But none of the other fields.&lt;/P&gt;
&lt;P&gt;How can we do this? As soon as I write a field level ACL for the custom field, it overrides the table level ACL and then the Config Management Lead is not able to edit the field if the user is not having the Custom Role.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;please share it with me. I also have same requirement.&lt;/P&gt;</description>
      <pubDate>Thu, 26 May 2022 09:47:51 GMT</pubDate>
      <guid>https://www.servicenow.com/community/itsm-forum/combining-table-and-field-acl-rules/m-p/533305#M105084</guid>
      <dc:creator>Prati</dc:creator>
      <dc:date>2022-05-26T09:47:51Z</dc:date>
    </item>
  </channel>
</rss>

