[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13016621#comment-13016621
 ] 

Eugene Koontz commented on ZOOKEEPER-938:
-----------------------------------------


> Thanks for addressing some of my previous comments in your new patch. Before 
> I comment further, I'd like to understand what use cases you plan to 
> support. In your documentation, you explained a znode can have any number of 
> <scheme:expression,perms> pairs for specifying the authentication scheme, 
> principal name, and permissions for that principal. Is this the only way to 
> specify permissions? How does it scale to thousands of users for a single 
> node? And if I have a user that needs to access a ZooKeeper tree with 
> thousands of nodes, do I have to add this user to every node? In addition to 
> USER, > do you have a GROUP concept for specifying permissions?

Hi Kan, I simply made the existing permission functionality useable with SASL. 
Adding groups and testing scalability are outside of the scope of this bug. 

> As you may already know, Hadoop doesn't use authentication specific names (we 
> call them long-names) for specifying permissions. Instead, we convert 
> long-names to Hadoop internal short-names using configured rules, and use 
> short-names for specifying permissions and permission checking. This has the 
> benefits of specifying permissions for a user regardless of which 
> authentication scheme the user might use to access the system. It makes 
> authorization 
> policy independent of authentication. It can also map different external 
> users to the same internal user.

That sounds interesting but again it is outside the scope of this bug, I think.


> support Kerberos Authentication
> -------------------------------
>
>                 Key: ZOOKEEPER-938
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-938
>             Project: ZooKeeper
>          Issue Type: New Feature
>          Components: java client, server
>            Reporter: Eugene Koontz
>            Assignee: Eugene Koontz
>             Fix For: 3.4.0
>
>         Attachments: NIOServerCnxn.patch, ZOOKEEPER-938.patch, 
> ZOOKEEPER-938.patch, jaas.conf, sasl.patch
>
>
> Support Keberos authentication of clients. 
> The following usage would let an admin use Kerberos authentication to assign 
> ACLs to authenticated clients.
> 1. Admin logs into zookeeper (not necessarily through Kerberos however). 
> 2. Admin decides that a new node called '/mynode' should be owned by the user 
> 'zkclient' and have full permissions on this.
> 3. Admin does: zk> create /mynode content kerb:zkcli...@foofers.org:x:cdrwa
> (note: for now, the dummy ':x' is a placeholder for the password, and is 
> required by the zk command parser. The user's actual password is not stored 
> within Zookeeper; simply put 'x' there.)
> 4. User 'zkclient' logins to kerberos using the command line utility 'kinit'.
> 5. User connects to zookeeper server using a Kerberos-enabled version of 
> zkClient (ZookeeperMain).
> 6. Behind the scenes, the client and server exchange authentication 
> information. User is now authenticated as 'zkclient'.
> 7. User accesses /mynode with permissions 'cdrwa'.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to