[ 
https://issues.apache.org/jira/browse/HADOOP-5851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

zhiyong zhang updated HADOOP-5851:
----------------------------------

    Attachment: HADOOP-5851.patch

a) add another filter code named LdapIpDirFilter.java, will be installed as a 
deployment descriptor (in web.xml).

b) program flowchart.
      1. IP = HttpServletRequest.getRemoteAddr()
      2. Ldap.search(uniqueMember:cn=IP) to find role. 
          2.a. if nothing found, 403 return
      3. role A was found, from role A, extract userId and HDFS root paths 
allowed, say PLIST. 
      4. log userId. 
      5. get PATH = HttpServletRequest.getPathInfo()
      6. check if PATH or its parents is in PLIST
          6.a. if not, 403 return.
      7. access allowed, filter pass

c) use a Dummy LDAP Object server to do the unit test.

> proxy to call LDAP for IP lookup and get user ID and directories, validate 
> requested URL
> ----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-5851
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5851
>             Project: Hadoop Core
>          Issue Type: New Feature
>          Components: contrib/hdfsproxy
>            Reporter: zhiyong zhang
>            Assignee: zhiyong zhang
>            Priority: Critical
>         Attachments: HADOOP-5851.patch
>
>
> It is easy to manage user accounts using LDAP. by adding support for LDAP, 
> proxy can do IP authorization in a headless fashion. 
> when a user send a request, proxy extract IP address and request PathInfo 
> from the request. then it searches the LDAP server to get the allowed HDFS 
> root paths given the IP address. Proxy will match the user request PathInfo 
> with the allowed HDFS root path, return 403 if it could not find a match. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to