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

Reply via email to