<?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 Re: Zeppelin notebook permissions not effective in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216144#M178054</link>
    <description>&lt;P&gt;The issue got resolved. I had to take out the line "securityManager.realms = $activeDirectoryRealm" from my config and that resolved the issue. I dont see anything wrong in the line I took out. However, I believe this is an optional config.&lt;/P&gt;</description>
    <pubDate>Mon, 15 May 2017 05:45:36 GMT</pubDate>
    <dc:creator>ekanthb</dc:creator>
    <dc:date>2017-05-15T05:45:36Z</dc:date>
    <item>
      <title>Zeppelin notebook permissions not effective</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216141#M178051</link>
      <description>&lt;P&gt;I have integrated Zeppelin with AD. The authentication works fine. However, the authorization works partially. i.e. the authorisation is effective on "interpreter" and "configurations" URLS but not effective on Notebooks.&lt;/P&gt;&lt;P&gt;
I have a user User1 who is a member of AD_Group1 which is associated with the "admin" role in Shiro. I have a dashboard for which I have configured AD_Group1 as reader, writer and owner.
When I login as User1 and try to access the dashboard, I am getting the message "But the user User1 belongs to: [User1]". Clearly, Zeppelin is not aware of the group membership of the user.
Below mentioned is my Shiro configuration: &lt;/P&gt;&lt;P&gt;&lt;EM&gt;[users] &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;admin = password1 &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[main] &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;activeDirectoryRealm = org.apache.zeppelin.server.ActiveDirectoryGroupRealm&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;
activeDirectoryRealm.systemUsername = user1 &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;activeDirectoryRealm.systemPassword = pwd &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#activeDirectoryRealm.hadoopSecurityCredentialPath = jceks://user/zeppelin/zeppelin.jceks &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;activeDirectoryRealm.searchBase = DC=testcore,DC=test,DC=dir,DC=org,DC=com &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;activeDirectoryRealm.url = ldaps://testcore.test.dir.org.com:636 &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;activeDirectoryRealm.groupRolesMap = "CN=APPADMIN,OU=Managed,OU=Groups,DC=testcore,DC=test,DC=dir,DC=org,DC=com":"admin"
activeDirectoryRealm.authorizationCachingEnabled = true &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;activeDirectoryRealm.principalSuffix = @testcore.test.dir.org.com &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;securityManager.sessionManager = $sessionManager &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;securityManager.sessionManager.globalSessionTimeout = 86400000 &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;shiro.loginUrl = /api/login &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;securityManager.realms = $activeDirectoryRealm&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;
[roles] &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;admin = * &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;[urls] &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/api/version = anon &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/api/interpreter/** = authc, roles[admin]&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;
/api/configurations/** = authc, roles[admin] &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/api/credential/** = authc, roles[admin] &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#/** = anon
/** = authc&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;
I dont see a call made to AD to check the group membership when a Notebook is accessed. These are the logs that I see when I access the Notebook: &lt;/P&gt;&lt;P&gt;&lt;EM&gt;DEBUG [2017-04-11 10:34:39,042] ({qtp1170794006-15} AbstractEventDriver.java[incomingFrame]:103) - incomingFrame(TEXT[len=126,fin=true,rsv=...,masked=true]) 
&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;DEBUG [2017-04-11 10:34:39,042] ({qtp1170794006-15} NotebookServer.java[onMessage]:106) - RECEIVE &amp;lt;&amp;lt; GET_NOTE
DEBUG [2017-04-11 10:34:39,042] ({qtp1170794006-15} NotebookServer.java[onMessage]:107) - RECEIVE PRINCIPAL &amp;lt;&amp;lt; user1 &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;DEBUG [2017-04-11 10:34:39,042] ({qtp1170794006-15} NotebookServer.java[onMessage]:108) - RECEIVE TICKET &amp;lt;&amp;lt; b2512330-0a0f-4631-9913-c688d1c9d7f2 &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;DEBUG [2017-04-11 10:34:39,043] ({qtp1170794006-15} NotebookServer.java[onMessage]:109) - RECEIVE ROLES &amp;lt;&amp;lt; []
INFO [2017-04-11 10:34:39,043] ({qtp1170794006-15} NotebookServer.java[sendNote]:423) - New operation from 10.60.179.195 : 49895 : user1 : GET_NOTE : 2CC4Z4DEX &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;INFO [2017-04-11 10:34:39,043] ({qtp1170794006-15} NotebookServer.java[permissionError]:411) - Cannot read. Connection readers [user1]. Allowed readers [APPADMIN]&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;
DEBUG [2017-04-11 10:34:39,044] ({qtp1170794006-15} WebSocketRemoteEndpoint.java[sendString]:385) - sendString with HeapByteBuffer@669d45b[p=0,l=235,c=235,r=235]={&amp;lt;&amp;lt;&amp;lt;{"op":"AUTH_INFO"...us","roles":""}&amp;gt;&amp;gt;&amp;gt;} &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;However, when I access the "interpreter" or "configurations" url, I get the below logs which explain why the config is effective for URLs: &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;DEBUG [2017-04-11 10:38:58,087] ({qtp1170794006-16 - /api/interpreter/setting} ActiveDirectoryGroupRealm.java[getRoleNamesForUser]:286) - Groups found for user [user1]: [CN=APPADMIN,OU=Managed,OU=Groups,DC=testcore,DC=test,DC=dir,DC=org,DC=com] &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;DEBUG [2017-04-11 10:38:58,087] ({qtp1170794006-16 - /api/interpreter/setting} ActiveDirectoryGroupRealm.java[getRoleNamesForGroups]:316) - User is member of group [CN=APPADMIN,OU=Managed,OU=Groups,DC=testcore,DC=test,DC=dir,DC=org,DC=com] so adding role [admin]&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;
The above issue was a known issue with Zeppelin and it is supposed to be fixed in my Zeppelin version.
Please see the defect URL here: &lt;A href="https://github.com/apache/zeppelin/pull/986" target="_blank"&gt;https://github.com/apache/zeppelin/pull/986&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Any help is appreciated.&lt;/P&gt;</description>
      <pubDate>Mon, 01 May 2017 07:17:59 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216141#M178051</guid>
      <dc:creator>ekanthb</dc:creator>
      <dc:date>2017-05-01T07:17:59Z</dc:date>
    </item>
    <item>
      <title>Re: Zeppelin notebook permissions not effective</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216142#M178052</link>
      <description>&lt;A rel="user" href="https://community.cloudera.com/users/16175/ekanthb.html" nodeid="16175"&gt;@Ekantheshwara  Basappa&lt;/A&gt;&lt;P&gt;Can you try adding this config in your [urls] section and restart zeppelin&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/api/notebook/** = authc&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 May 2017 08:00:16 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216142#M178052</guid>
      <dc:creator>kbadani</dc:creator>
      <dc:date>2017-05-02T08:00:16Z</dc:date>
    </item>
    <item>
      <title>Re: Zeppelin notebook permissions not effective</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216143#M178053</link>
      <description>&lt;P&gt;&lt;A rel="user" href="https://community.cloudera.com/users/14767/kbadani.html" nodeid="14767"&gt;@Kshitij Badani&lt;/A&gt; &lt;/P&gt;&lt;P&gt;Thanks Kshitij for your response.&lt;/P&gt;&lt;P&gt;I tried it but the result is same. To be precise, the permissions on the Notebooks work fine when I use the AD User. However, it doesnt work when I use a AD group. For example, if I configure user1 to be the 'reader' of the notebook note1, user1 can read the note1. When I configure group1 to be the 'reader' of the note1, then user1, who is a member of group1 is NOT able to read the note1.&lt;/P&gt;&lt;P&gt;Even while setting up the note permissions, I can look up the AD User in the search text box but NOT the AD group. &lt;/P&gt;&lt;P&gt;Do you have any suggestion for me to trouble shoot this ?&lt;/P&gt;</description>
      <pubDate>Tue, 02 May 2017 10:33:40 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216143#M178053</guid>
      <dc:creator>ekanthb</dc:creator>
      <dc:date>2017-05-02T10:33:40Z</dc:date>
    </item>
    <item>
      <title>Re: Zeppelin notebook permissions not effective</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216144#M178054</link>
      <description>&lt;P&gt;The issue got resolved. I had to take out the line "securityManager.realms = $activeDirectoryRealm" from my config and that resolved the issue. I dont see anything wrong in the line I took out. However, I believe this is an optional config.&lt;/P&gt;</description>
      <pubDate>Mon, 15 May 2017 05:45:36 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Zeppelin-notebook-permissions-not-effective/m-p/216144#M178054</guid>
      <dc:creator>ekanthb</dc:creator>
      <dc:date>2017-05-15T05:45:36Z</dc:date>
    </item>
  </channel>
</rss>

