<?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: Hide apps based on app name in a stream in Management &amp; Governance</title>
    <link>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081195#M29690</link>
    <description>&lt;P&gt;I'm not entirely sure if this would work, but perhaps you could have the generated apps saved to a separate stream that's specifically intended for this purpose, and for that stream all apps are not shown by default, and a security rule allows access only in cases where the app name is like *username? Security rules with exclusions tend to be tricky, but this approach works around that. &lt;/P&gt;
&lt;P&gt;Otherwise, perhaps someone else who is more knowledgeable than I am about security rules can help with getting it done without an extra stream.&lt;/P&gt;</description>
    <pubDate>Wed, 07 Jun 2023 13:59:26 GMT</pubDate>
    <dc:creator>Or</dc:creator>
    <dc:date>2023-06-07T13:59:26Z</dc:date>
    <item>
      <title>Hide apps based on app name in a stream</title>
      <link>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081179#M29687</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;We have security set on stream level (custom properties) and not on app level.&amp;nbsp;As a result users who have access to a stream can see all apps within that stream. This also means that these users can see, in case of ODAG -- with or without section access -- also the generated apps of all users.&lt;/P&gt;
&lt;P&gt;We would like to create a security rule to allow users with access to the stream to see all apps BUT for the ODAG generated ones only the ones created by user itself.&lt;/P&gt;
&lt;P&gt;To give an example:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Stream A&lt;/STRONG&gt; with following apps:&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;demo1&lt;/LI&gt;
&lt;LI&gt;demo2&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;demo_odag&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;demo_odag_template&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;demo_odag_template_&amp;lt;domain&amp;gt;-userID1&lt;/LI&gt;
&lt;LI&gt;demo_odag_template_&amp;lt;domain&amp;gt;-userID2&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;So all users with access to the stream should be able to see:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;demo1&lt;/LI&gt;
&lt;LI&gt;demo2&lt;/LI&gt;
&lt;LI&gt;demo_odag&lt;/LI&gt;
&lt;LI&gt;demo_odag_template&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;UserID1 should additionally also see "demo_odag_template_&amp;lt;domain&amp;gt;-userID1" but not the one from UserID2&lt;/P&gt;
&lt;P&gt;UserID2 should additionally also see "demo_odag_template_&amp;lt;domain&amp;gt;-userID2" but not the one from UserID1&lt;/P&gt;
&lt;P&gt;UserID3 should not see either&amp;nbsp;"demo_odag_template_&amp;lt;domain&amp;gt;-userID1" nor&amp;nbsp;"demo_odag_template_&amp;lt;domain&amp;gt;-userID2"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does anyone have a security rule suggestion on this since the ODAG apps are generated at runtime?&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2023 13:43:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081179#M29687</guid>
      <dc:creator>J_Sprengers</dc:creator>
      <dc:date>2023-06-07T13:43:37Z</dc:date>
    </item>
    <item>
      <title>Re: Hide apps based on app name in a stream</title>
      <link>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081182#M29688</link>
      <description>&lt;P&gt;No suggestion for security rules,&amp;nbsp; but ODAG by default places the generated apps in the user's Work space rather than in a stream. It sounds like that might be what you want to do?&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2023 13:46:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081182#M29688</guid>
      <dc:creator>Or</dc:creator>
      <dc:date>2023-06-07T13:46:52Z</dc:date>
    </item>
    <item>
      <title>Re: Hide apps based on app name in a stream</title>
      <link>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081190#M29689</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That is indeed correct. I forgot to mention this.&lt;/P&gt;
&lt;P&gt;We have a multi node (D/A/P) configuration where the WORK is only available in in the D(evelopment) node, whereas the A(cceptance) &amp;amp; P(ublished) are basically only read-only nodes. For ODAG the generated apps are therefor placed in the stream itself and not in the WORK.&lt;/P&gt;
&lt;P&gt;The question for the security also applies on another purpose where we want to hide (technical / data model) apps from end users as well in the P(ublished) node.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2023 13:53:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081190#M29689</guid>
      <dc:creator>J_Sprengers</dc:creator>
      <dc:date>2023-06-07T13:53:14Z</dc:date>
    </item>
    <item>
      <title>Re: Hide apps based on app name in a stream</title>
      <link>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081195#M29690</link>
      <description>&lt;P&gt;I'm not entirely sure if this would work, but perhaps you could have the generated apps saved to a separate stream that's specifically intended for this purpose, and for that stream all apps are not shown by default, and a security rule allows access only in cases where the app name is like *username? Security rules with exclusions tend to be tricky, but this approach works around that. &lt;/P&gt;
&lt;P&gt;Otherwise, perhaps someone else who is more knowledgeable than I am about security rules can help with getting it done without an extra stream.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Jun 2023 13:59:26 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2081195#M29690</guid>
      <dc:creator>Or</dc:creator>
      <dc:date>2023-06-07T13:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: Hide apps based on app name in a stream</title>
      <link>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2088203#M29691</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We solved the issue by duplicating the default Stream security rule and created a customized one to replace it.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BEFORE:&lt;/P&gt;
&lt;P&gt;(resource.resourcetype = "App" and resource.stream.HasPrivilege("read")) &lt;BR /&gt;or ((resource.resourcetype = "App.Object" and resource.published ="true" &lt;BR /&gt;and resource.objectType != "app_appscript" and resource.objectType != "loadmodel") &lt;BR /&gt;and resource.app.stream.HasPrivilege("read"))&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;AFTER:&lt;/P&gt;
&lt;P&gt;(&lt;BR /&gt;(resource.resourcetype = "App" and resource.stream.HasPrivilege("read")) &lt;BR /&gt;or ((resource.resourcetype = "App.Object" and resource.published ="true" &lt;BR /&gt;and resource.objectType != "app_appscript" and resource.objectType != "loadmodel") &lt;BR /&gt;and resource.app.stream.HasPrivilege("read") ))&lt;/P&gt;
&lt;P&gt;and (!(resource.name like "*&amp;lt;domain&amp;gt;*") &lt;BR /&gt;)&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jun 2023 10:03:27 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Management-Governance/Hide-apps-based-on-app-name-in-a-stream/m-p/2088203#M29691</guid>
      <dc:creator>J_Sprengers</dc:creator>
      <dc:date>2023-06-27T10:03:27Z</dc:date>
    </item>
  </channel>
</rss>

