-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/37771/
-----------------------------------------------------------

(Updated Sept. 12, 2015, 12:54 a.m.)


Review request for Falcon.


Changes
-------

Applied feedback!


Bugs: FALCON-1027
    https://issues.apache.org/jira/browse/FALCON-1027


Repository: falcon-git


Description
-------

Today, Falcon doesn’t have doAs capability i.e. it doesn’t support 
impersonation. Support for impersonation or proxyuser functionality (identical 
to Hadoop proxyuser capabilities and conceptually similar to Unix 'sudo') needs 
to be added to REST API’s and CLI(Command
line).


Diffs (updated)
-----

  client/src/main/java/org/apache/falcon/cli/FalconCLI.java d4da302 
  client/src/main/java/org/apache/falcon/cli/FalconMetadataCLI.java 2f57c7d 
  client/src/main/java/org/apache/falcon/client/AbstractFalconClient.java 
282b41b 
  client/src/main/java/org/apache/falcon/client/FalconClient.java 44436d2 
  common/src/main/java/org/apache/falcon/security/CurrentUser.java 4aed5d7 
  common/src/main/java/org/apache/falcon/security/SecurityUtil.java 861f80f 
  common/src/main/java/org/apache/falcon/service/GroupsService.java 
PRE-CREATION 
  common/src/main/java/org/apache/falcon/service/ProxyUserService.java 
PRE-CREATION 
  common/src/main/resources/runtime.properties 23ecc16 
  common/src/main/resources/startup.properties c48188c 
  common/src/test/java/org/apache/falcon/security/CurrentUserTest.java 5780c94 
  common/src/test/java/org/apache/falcon/security/SecurityUtilTest.java e40308e 
  common/src/test/java/org/apache/falcon/service/GroupsServiceTest.java 
PRE-CREATION 
  common/src/test/java/org/apache/falcon/service/ProxyUserServiceTest.java 
PRE-CREATION 
  docs/src/site/twiki/FalconCLI.twiki 8bf3155 
  docs/src/site/twiki/FalconDocumentation.twiki 29d93f7 
  prism/src/main/java/org/apache/falcon/resource/AbstractEntityManager.java 
63c5d39 
  
prism/src/main/java/org/apache/falcon/resource/AbstractSchedulableEntityManager.java
 f9405dc 
  prism/src/main/java/org/apache/falcon/resource/channel/HTTPChannel.java 
78f68ba 
  
prism/src/main/java/org/apache/falcon/resource/proxy/SchedulableEntityManagerProxy.java
 ceabb06 
  
prism/src/main/java/org/apache/falcon/security/FalconAuthenticationFilter.java 
df64b44 
  prism/src/main/java/org/apache/falcon/security/FalconAuthorizationFilter.java 
15e94cd 
  prism/src/main/java/org/apache/falcon/security/HostnameFilter.java 
PRE-CREATION 
  prism/src/main/webapp/WEB-INF/web.xml 551bf56 
  prism/src/test/java/org/apache/falcon/resource/EntityManagerTest.java ea2c40f 
  
prism/src/test/java/org/apache/falcon/security/FalconAuthenticationFilterTest.java
 df85529 
  prism/src/test/java/org/apache/falcon/security/HostnameFilterTest.java 
PRE-CREATION 
  src/conf/runtime.properties b31e6a3 
  src/conf/startup.properties 9925373 
  unit/src/main/java/org/apache/falcon/unit/FalconUnitClient.java eb65cb3 
  unit/src/test/java/org/apache/falcon/unit/FalconUnitTestBase.java 997b301 
  webapp/pom.xml ce37634 
  webapp/src/conf/oozie/conf/oozie-site.xml ded4873 
  webapp/src/main/java/org/apache/falcon/resource/SchedulableEntityManager.java 
1f8cc1b 
  webapp/src/main/webapp/WEB-INF/distributed/web.xml 31d78a2 
  webapp/src/main/webapp/WEB-INF/embedded/web.xml fa2db39 
  webapp/src/main/webapp/WEB-INF/web.xml 2cfd7de 
  webapp/src/test/java/org/apache/falcon/cli/FalconCLIIT.java 0062070 
  webapp/src/test/java/org/apache/falcon/resource/EntityManagerJerseyIT.java 
bcd3bd5 
  webapp/src/test/java/org/apache/falcon/resource/MetadataResourceJerseyIT.java 
eb1dda8 
  webapp/src/test/java/org/apache/falcon/resource/TestContext.java 54671fb 
  webapp/src/test/resources/runtime.properties PRE-CREATION 

Diff: https://reviews.apache.org/r/37771/diff/


Testing
-------

Unit tests and IT tests.
Manual testing : 

* ProxyUSer service not added in startup properties, should throw "Service 
ProxyUserService not registered"
* Super user not added in proxy user setting in startup.properties, shoudl 
throw "java.security.AccessControlException: User <superuser> not defined as 
proxyuser"

CLI:
* Add doAs option in CLI and verify command succeeds
* Commands should succeed without doAs as is an optional arg

REST API:
* pass doAs query param and verify REST requests succeeds
* REST requests should succeed without doAs query param as it is optional


* Perform schedule using doAs user. For other requests if doAs user is not 
passed (say suspend, resume etc.) should get "User <superuser> not authorized 
for Coord job <bundleId>"


Thanks,

Sowmya Ramesh

Reply via email to