Uh oh!
There was an error while loading. Please reload this page.
[Zeppelin-1611] - Support PAM (System User) Authentication - #1589
Conversation
bzz
commented
Nov 3, 2016
Thank you for contribution! There are few things need to be taken care here:
|
hkropp
commented
Nov 3, 2016
Thanks for your feedback @bzz I applied the changes required for 1. and 2.
|
hkropp
commented
Nov 3, 2016
Provided documentation as well. |
👍 for docs in same PR, it looks great. On CI, I think that's relatively minor and if that's too complicated to configure - we can can opt out for manual test run+instruction in docs. Double-checking that we have all Licenses for dependencies (and transitive dependencies) logged is important though. BTW, are you sure that all those commits belong to this branch? |
hkropp
commented
Nov 4, 2016
Cool! Just to be clear the test will simply be ignored with Concerning the licenses we should be fairly save. libpam4j mainly dependence on JNA and maven. JNA version >4 is available as Apache and actually was already introduced with selenium dependency in this project. I rebased and pulled in a way that created a little mess here. What I could do is create a new branch with cherry-picked changes and created a new PR based on this, or? Let me know? I think the Travis build failed because of issue with the other changes, or? |
| ``` | ||
| [main] | ||
| pamRealm=org.apache.zeppelin.realm.PamRealm | ||
| pamRealm.service=sshd |
There was a problem hiding this comment.
Could you also add configuration into conf/shiro.ini.template?
This PR adds [PAM](https://en.wikipedia.org/wiki/Pluggable_authentication_module) authentication support based on the introduced Shiro security implementation. With PAM support system users have immediate access to a secured Zeppelin instance. Feature * [x] - Create PAM realm * [x] - Create test for PAM authentication * [x] - Test with running Zeppelin instance [ZEPPELIN-1611](https://issues.apache.org/jira/browse/ZEPPELIN-1611]) `PamRealmTest` executes an automated test if the environment variables `PAM_USER` and `PAM_PASS` are set. This should be set to system username and password. The test also includes a main function to manually execute the test. Setting the environment variables for example on MacOS for your IDE use `launchctl setenv PAM_USER user` and `launchctl setenv PAM_PASS xxxxx`, the test can then be run from your IDE. * Does the licenses files need update? Yes * Is there breaking changes for older versions? No * Does this needs documentation? Yes
hkropp
commented
Nov 7, 2016
Thank you @bzz and @Leemoonsoo , I rewrote history and added the shiro.ini.template. I think we should be fine here now, or? Please let me know, if you have further remarks. Just so you are aware, I believe this currently does not support the resolution/listing of users and groups in UI for example for notebook authorization. Usernames and groups will stay empty with this. I created ZEPPELIN-1631 as a followup. I already have an idea on how to solve this and might be able to contribute this within next weeks. |
Leemoonsoo
commented
Nov 7, 2016
Tested and LGTM. |
What is this PR for?
This PR adds PAM authentication support based on the introduced Shiro security implementation. With PAM support system users have immediate access to a secured Zeppelin instance.
What type of PR is it?
Feature
Todos
What is the Jira issue?
ZEPPELIN-1611
How should this be tested?
PamRealmTestexecutes an automated test if the environment variablesPAM_USERandPAM_PASSare set. This should be set to system username and password.The test also includes a main function to manually execute the test. Setting the environment variables for example on MacOS for your IDE use
launchctl setenv PAM_USER userandlaunchctl setenv PAM_PASS xxxxx, the test can then be run from your IDE.Screenshots (if appropriate)
Questions: