GitHub user prabhjyotsingh opened a pull request:

    https://github.com/apache/zeppelin/pull/986

    [Zeppelin 946] [WIP] Permissions not honoring group

    ### What is this PR for?
    Error:
    Insufficient privileges to write notebook.
    Allowed users or roles: [admin, zeppelinWrite]
    But the user randerson belongs to: [randerson]
    It's seems clear that user randerson isn't mapped to any roles, or groups 
(even though he of course is a member of the zeppelinWrite group in AD and as a 
result also part of the local admin Role). A TCPDUMP reveals that during login, 
all of my group memberships are in fact returned during the ldap bind 
operation. However, when I attempt to modify a notebook, a call is never made 
to AD, to pull back my group memberships. It doesn't seem to look at my local 
group memberships (/etc/group) either.
    
    ### What type of PR is it?
    [Bug Fix]
    
    ### Todos
    * [x] - fix for permissions not honoring group
    * [x] - read roles from shiro.ini
    * [x] - at times group name was displaying instead of user/principal name.
    * [ ] - doc
    
    ### What is the Jira issue?
    [ZEPPELIN-946](https://issues.apache.org/jira/browse/ZEPPELIN-946)
    
    ### How should this be tested?
    Use one of the following setting for LDAP/AD in shiro.ini
    
        [main]
        activeDirectoryRealm = 
org.apache.zeppelin.server.ActiveDirectoryGroupRealm
        activeDirectoryRealm.systemUsername = userNameA
        activeDirectoryRealm.systemPassword = passwordA
        activeDirectoryRealm.searchBase = 
CN=Users,DC=SOME_GROUP,DC=COMPANY,DC=COM
        activeDirectoryRealm.url = ldap://ldap.test.com:389
        activeDirectoryRealm.groupRolesMap = 
"CN=aGroupName,OU=groups,DC=SOME_GROUP,DC=COMPANY,DC=COM":"group1"
        
        
        ldapRealm = org.apache.zeppelin.server.LdapGroupRealm
        # search base for ldap groups (only relevant for LdapGroupRealm):
        ldapRealm.contextFactory.environment[ldap.searchBase] = 
dc=COMPANY,dc=COM
        ldapRealm.contextFactory.url = ldap://ldap.test.com:389
        ldapRealm.userDnTemplate = uid={0},ou=Users,dc=COMPANY,dc=COM
        ldapRealm.contextFactory.authenticationMechanism = SIMPLE
        
        [roles]
        group1 = *
        group2 = *
        group3 = *
        
        [urls]
        /api/version = anon
        #/** = anon
        /** = authc
    
    
    
    
    
    ### Screenshots (if appropriate)
    
    ### Questions:
    * Does the licenses files need update? no
    * Is there breaking changes for older versions? no
    * Does this needs documentation? no


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/prabhjyotsingh/incubator-zeppelin ZEPPELIN-946

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/zeppelin/pull/986.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #986
    
----
commit 4194f931f723f22331c3931cb5811d79b1ad1a78
Author: Prabhjyot Singh <prabhjyotsi...@gmail.com>
Date:   2016-06-09T11:51:11Z

    sometime it dispalys groupName instead of principal

commit e8f1f97756d325f3f01545b02e889808b809740a
Author: Prabhjyot Singh <prabhjyotsi...@gmail.com>
Date:   2016-06-09T11:51:48Z

    fix for permissions not honoring group

commit ed54a92194bdb52bac2be0e16d9d27272b2379b1
Author: Prabhjyot Singh <prabhjyotsi...@gmail.com>
Date:   2016-06-09T18:06:00Z

    read roles from shiro.ini

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to