This is an automated email from the ASF dual-hosted git repository.

bridgetb pushed a commit to branch gh-pages
in repository https://gitbox.apache.org/repos/asf/drill.git


The following commit(s) were added to refs/heads/gh-pages by this push:
     new 90543e7  add config custom znode acl doc
90543e7 is described below

commit 90543e7719330b9e2676894b82ceb4b54968988f
Author: Bridget Bevens <[email protected]>
AuthorDate: Tue Dec 18 19:56:47 2018 -0800

    add config custom znode acl doc
---
 ...093-configuring-custom-acls-to-secure-znodes.md | 33 ++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git 
a/_docs/configure-drill/securing-drill/093-configuring-custom-acls-to-secure-znodes.md
 
b/_docs/configure-drill/securing-drill/093-configuring-custom-acls-to-secure-znodes.md
new file mode 100644
index 0000000..965d69d
--- /dev/null
+++ 
b/_docs/configure-drill/securing-drill/093-configuring-custom-acls-to-secure-znodes.md
@@ -0,0 +1,33 @@
+---
+title: "Configuring Custom ACLs to Secure znodes"
+date: 2018-12-08
+parent: "Securing Drill"
+---  
+
+Drill uses ZooKeeper for dynamic service discovery in a cluster; ZooKeeper 
uses the Curator framework and Service Discovery recipe to discover services. 
In addition to discovering services, Drill uses ZooKeeper to store certain 
cluster-level configuration and query profile information in znodes. A znode is 
an internal data tree in ZooKeeper that stores coordination- and 
execution-related information. Each time a Drillbit starts up and establish a 
new session with Zookeeper (using the Cur [...]
+
+ZooKeeper uses ACLs (access control lists) to control access to znodes and 
secure the information they store. ACLs specify sets of ids and permissions 
that are associated with the ids. The ZooKeeper ACLs are set such that only the 
Drillbit process user can access (create, delete, read, write, administer) all 
the ZooKeeper nodes in a Drill cluster, except for the service discovery 
znodes. When a Drillbit shuts-down, the ZooKeeper session ends and the znode is 
removed.  
+
+Prior to Drill 1.15, ZooKeeper ACLs in secure and unsecure clusters were set 
to [world:all], meaning that all users had create, delete, read, write, and 
administrator access to the zknodes. Starting in Drill 1.15, ACLs in unsecure 
clusters are set to [world:all]. ACLs in secure clusters are set to [authid: 
all], which provides only the authenticated user that created the znode with 
full access. Discovery znodes (znodes with the list of Drillbits) have an 
additional ACL set to [world:read [...]
+
+##Securing znodes
+Complete the following steps to create a custom ACL and secure znodes:  
+
+1. Write a class that implements the `ZKACLProvider` interface. This class 
will contain the ACLs that need to be set on the znodes. You can use  the 
[`ZKSecureACLProvider` class as a sample 
reference](https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/coord/zk/ZKSecureACLProvider.java).
  
+2. Add the following dependency to the `pom` file of the project module 
created:  
+
+               <groupId>org.apache.drill.exec</groupId>
+               <artifactId>drill-java-exec</artifactId>  
+3. Refer to the steps listed at 
[https://drill.apache.org/docs/manually-adding-custom-functions-to-drill/]({{site.baseurl}}/docs/manually-adding-custom-functions-to-drill/)
 to create a JAR and then add the JAR to Drill's classpath.  
+4. In `$DRILL_HOME/conf/drill-override.conf`, set `zk.acl_provider` to the 
`ZKACLProviderTemplate` type.  
+5. Restart Drill.
+  
+When you restart Drill, the ACL, as mentioned in your custom class, is applied 
to the znode created when Drill starts.
+
+For additional information, refer to:  
+
+- 
[https://zookeeper.apache.org/doc/trunk/zookeeperOver.html](https://zookeeper.apache.org/doc/trunk/zookeeperOver.html)
  
+- 
[https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#sc_ZooKeeperAccessControl](https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#sc_ZooKeeperAccessControl)
  
+- 
[https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zookeeper+and+SASL](https://cwiki.apache.org/confluence/display/ZOOKEEPER/Zookeeper+and+SASL)
+
+

Reply via email to