<?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>topic Re: Engine API GetScript Empty in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034416#M18053</link>
    <description>&lt;P&gt;You can try and add additional rule explicitly "targeting" specific user(s) and the script. Its a bit of a trial and error (imo) with security rules. But in general security rules are "permissive". Which means that if there are 2 security rules applied in the current case and one of them returns "true" and the other one "false" then the result will be "true"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you check the context of the "RootAdmin" security rule you'll see that it is "QMC". Which means that RootAdmin have meaning only in QMC and such users have full control but only in QMC. In the Hub RootAdmin privileges have no meaning and you'll have to have a rule with Hub context that specifies the script (being a Hub "entity") permissions. (Such as the "Stream" security rule or another).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Stefan&lt;/P&gt;</description>
    <pubDate>Mon, 06 Feb 2023 12:29:39 GMT</pubDate>
    <dc:creator>stefanstoichev123</dc:creator>
    <dc:date>2023-02-06T12:29:39Z</dc:date>
    <item>
      <title>Engine API GetScript Empty</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034329#M18048</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I recently tried to get some App Scripts via the Engine API. But I noticed,&amp;nbsp; I sometimes get empty scripts as result. After testing a little bit with the engine explorer I found Apps which I own, I can get the script of. Apps I don't own not, besides me being root admin. So my question is, is there any security rule I need to modify to also getScripts of Apps I do not own?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best&lt;/P&gt;</description>
      <pubDate>Mon, 06 Feb 2023 08:57:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034329#M18048</guid>
      <dc:creator>Necator</dc:creator>
      <dc:date>2023-02-06T08:57:07Z</dc:date>
    </item>
    <item>
      <title>Re: Engine API GetScript Empty</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034412#M18051</link>
      <description>&lt;P&gt;As far as i know there is only one default security rule that is related to the app scripts. The rule name is "Stream".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;(
   resource.resourcetype = "App" 
   and resource.stream.HasPrivilege("read")
) 
or 
(
  (    
         resource.resourcetype = "App.Object" 
     and resource.published ="true" 
     and resource.objectType != "app_appscript" 
     and resource.objectType != "loadmodel"
   ) 
   and 
     resource.app.stream.HasPrivilege("read")
)&lt;/LI-CODE&gt;
&lt;P&gt;In the second part of the rule there is &lt;STRONG&gt;and resource.objectType != "loadmodel"&lt;/STRONG&gt; part. This part governs the script availability.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#FF0000"&gt;&lt;STRONG&gt;WARNING&lt;/STRONG&gt;&lt;/FONT&gt;: this is a base rule. Modifying it have consequences that affect all users of the system!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Stefan&lt;/P&gt;</description>
      <pubDate>Mon, 06 Feb 2023 12:04:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034412#M18051</guid>
      <dc:creator>stefanstoichev123</dc:creator>
      <dc:date>2023-02-06T12:04:27Z</dc:date>
    </item>
    <item>
      <title>Re: Engine API GetScript Empty</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034414#M18052</link>
      <description>&lt;P&gt;Thanks for the info Stefan,&lt;/P&gt;
&lt;P&gt;is there any other way to grant rootAdmin access to all scripts? It kinda feels weird, that&amp;nbsp; a role called rootAdmin, doesn't have all privilges per default?&lt;/P&gt;</description>
      <pubDate>Mon, 06 Feb 2023 12:18:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034414#M18052</guid>
      <dc:creator>Necator</dc:creator>
      <dc:date>2023-02-06T12:18:34Z</dc:date>
    </item>
    <item>
      <title>Re: Engine API GetScript Empty</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034416#M18053</link>
      <description>&lt;P&gt;You can try and add additional rule explicitly "targeting" specific user(s) and the script. Its a bit of a trial and error (imo) with security rules. But in general security rules are "permissive". Which means that if there are 2 security rules applied in the current case and one of them returns "true" and the other one "false" then the result will be "true"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you check the context of the "RootAdmin" security rule you'll see that it is "QMC". Which means that RootAdmin have meaning only in QMC and such users have full control but only in QMC. In the Hub RootAdmin privileges have no meaning and you'll have to have a rule with Hub context that specifies the script (being a Hub "entity") permissions. (Such as the "Stream" security rule or another).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Stefan&lt;/P&gt;</description>
      <pubDate>Mon, 06 Feb 2023 12:29:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034416#M18053</guid>
      <dc:creator>stefanstoichev123</dc:creator>
      <dc:date>2023-02-06T12:29:39Z</dc:date>
    </item>
    <item>
      <title>Re: Engine API GetScript Empty</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034682#M18058</link>
      <description>&lt;P&gt;It may also be possible to utilize the QMC context rule by including the header&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN&gt;X-Qlik-Security:&amp;nbsp; Context=ManagementAccess;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://help.qlik.com/en-US/sense-developer/November2022/Subsystems/ProxyServiceAPI/Content/Sense_ProxyServiceAPI/ProxyServiceAPI-Injected-Req-Headers-X-Qlik-Security.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-developer/November2022/Subsystems/ProxyServiceAPI/Content/Sense_ProxyServiceAPI/ProxyServiceAPI-Injected-Req-Headers-X-Qlik-Security.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;-Rob&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2023 00:13:07 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034682#M18058</guid>
      <dc:creator>rwunderlich</dc:creator>
      <dc:date>2023-02-07T00:13:07Z</dc:date>
    </item>
    <item>
      <title>Re: Engine API GetScript Empty</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034793#M18059</link>
      <description>&lt;P&gt;Hi Rob,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;is there a specific QMC Context Security rule or are you talking about something different ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2023 08:23:34 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2034793#M18059</guid>
      <dc:creator>Necator</dc:creator>
      <dc:date>2023-02-07T08:23:34Z</dc:date>
    </item>
    <item>
      <title>Re: Engine API GetScript Empty</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2035126#M18063</link>
      <description>&lt;P&gt;What Context=ManagementAccess does is apply the Security Context of "Only in QMC". Same as using the dropdown in QMC Audit.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rwunderlich_0-1675791192605.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/99898iA32A2771CDBA0982/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rwunderlich_0-1675791192605.png" alt="rwunderlich_0-1675791192605.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Or in a Security Rule Def:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="rwunderlich_1-1675791286146.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/99899i6F4241749F5420B9/image-size/medium?v=v2&amp;amp;px=400" role="button" title="rwunderlich_1-1675791286146.png" alt="rwunderlich_1-1675791286146.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-Rob&lt;/P&gt;</description>
      <pubDate>Tue, 07 Feb 2023 17:35:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Engine-API-GetScript-Empty/m-p/2035126#M18063</guid>
      <dc:creator>rwunderlich</dc:creator>
      <dc:date>2023-02-07T17:35:04Z</dc:date>
    </item>
  </channel>
</rss>

