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

Andor Molnar commented on RANGER-924:
-------------------------------------

[~bosco]
h3. AuthZ

ZooKeeper ACLs are tightly coupled to its internal data structure. All znodes 
in the data tree have an ACL part which could be manipulated by ZooKeeper 
commands if user has the required permission. I see the following options here:
 # Leaving ZooKeeper ACLs intact and teach Ranger how to change ZK ACLs to keep 
them in sync with its internal representation of authorization rules. This 
options doesn't need any change in ZooKeeper, but possibly has a disadvantage: 
if somebody changes ACLs with direct ZooKeeper commands, Ranger database will 
go out of sync which could cause maintenance problems and needs manual 
intervention to fix. 
 # Replace ZooKeeper's {{checkAcl}} method to call Ranger's implementation. In 
this case effective ACLs can only be changed in Ranger, but ZooKeeper commands 
are still present, however they become no-ops. Small ZooKeeper change, not sure 
about the amount of work need on Ranger side.
 # Wire-up everything: all ZK ACL-related commands will effectively call 
Ranger's logic. ACLs will be stored in Ranger database and can be manipulated 
via both Ranger and Zookeeper API.

In terms of performance implications I think calling Ranger might be less 
performant than internal ZooKeeper data, but changing ACLs will not need 
consensus in the quorum, so probably faster. Ranger's implementation might also 
be more sophisticated than current ZK ACLs.
h3. Audit

I think this is pretty straightforward: the implementation of ZK Audit Logs is 
not finalized yet and should be implemented in a plug-in fashion. Ranger will 
be easily hooked up and use instead of the default.
h3.   

> Support Authorization and Auditing for Zookeeper
> ------------------------------------------------
>
>                 Key: RANGER-924
>                 URL: https://issues.apache.org/jira/browse/RANGER-924
>             Project: Ranger
>          Issue Type: Improvement
>            Reporter: Bosco
>            Priority: Major
>
> Most of the Hadoop components are storing their states in Zookeeper. And some 
> products (Kafka and Solr) are even storing security policies in Zookeeper.
> Since there are no human interaction with Zookeeper, very often, setting up 
> access controls to Zookeeper are ignored. However, it is very critical to 
> ensure that proper authorization controls are setup for Zookeeper and all 
> access are audited.
> If would be good if some familiar with Zookeeper can work on a Ranger plugin 
> for Zookeeper. Or help the Ranger team to come with the integration design.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to