Hi all,
We propose below behaviors for users if they want to use Ranger as ACL. We
appreciate any comment and feedback from you. Thanks a lot! RPS is the
Range Plugin Service which embeds HAWQ Ranger plugin and provides a RESTful
API.
1. Build RPS in HAWQ
1. ./configure --with-python --with-perl --with-rps (Add one option
--with-rps for building rps)
2. Make -j8
3. Make -j8 install. It will generate one jar file(
ranger-plugin-admin*.jar) which needs to be registered to Ranger
server, and also will generate information for RRS, under directory
/usr/local/hawq/ranger/.
2. Init HAWQ with Ranger off
3. Register HAWQ service to Ranger
1. Copy ranger-plugin-admin*.jar and postgresql*.jar to Ranger Server
2. Run register_hawq.sh to register HAWQ service into Ranger and
create a service named as "hawq"
4. Configure GUCs for HAWQ, specifying Ranger on
5. Add one entry for Ranger server access in pg_hba.conf of HAWQ master
6. Restart HAWQ, which will automatically RPS also given that Ranger is
set as ACL type
7. Define policy in Ranger UI
8. HAWQ starts work with ACL managed by Ranger
And below are the GUC list for configuring Ranger.
- In hawq-site.xml
- hawq_acl_type (ACL type of HAWQ, can be set to *standalone* or
*ranger) *
- hawq_rps_address_host (the host/suffix/port information for rps)
- hawq_rps_address_suffix
- hawq_rps_address_port
- In ranger-hawq-security.xml file for configuring Ranger
- ranger.plugin.hawq.service.name (name of the Ranger service containing
policies for this HAWQ instance)
- ranger.plugin.hawq.policy.source.impl (class to retrieve policies
from the source)
- ranger.plugin.hawq.policy.rest.url (the access point to Ranger
server)
- ranger.plugin.hawq.policy.pollIntervalMs (how often to poll for
changes in policies in Ranger server)
- ranger.plugin.hawq.policy.cache.dir (directory where Ranger
policies are cached after successful retrieval from the source)
- ranger.plugin.hawq.policy.rest.client.connection.timeoutMs
(RangerRESTClient
Connection Timeout in Milliseconds)
- ranger.plugin.hawq.policy.rest.client.read.timeoutMs (RangerRESTClient
read Timeout in Milliseconds)
- ranger.plugin.hawq.policy.rest.ssl.config.file (path to the file
containing SSL details to contact Ranger Admin)
Best Regards,
Lili