You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@zeppelin.apache.org by Igor Yakushin <iv...@uchicago.edu> on 2016/11/06 03:30:44 UTC

under what userid should Zeppelin run?

Hi All,
Under what userid should Zeppelin run? The documentation does not seem 
to mention it.
Thank you,
Igor

Re: under what userid should Zeppelin run?

Posted by Jeff Zhang <zj...@gmail.com>.
I think you are referring impersonation. It is still in progress.

Here's one related ticket

https://issues.apache.org/jira/browse/ZEPPELIN-1320




moon soo Lee <mo...@apache.org>于2016年11月7日周一 上午10:48写道:

> Zeppelin already have three different modes for interpreter process
> management.
>
>  - shared : share a single process per note
>  - scoped: share a single process but create instance inside per note
>  - isolated : create a new process per note.
>
> Now community also is actively working on bring this ability to not only
> per note but also per user as well. Here's related issues. And i think
> we'll have those features really soon.
> https://issues.apache.org/jira/browse/ZEPPELIN-1210
> https://issues.apache.org/jira/browse/ZEPPELIN-1236
>
> Let me know if you have any other questions.
>
> Thanks,
> moon
>
> On Sun, Nov 6, 2016 at 5:45 PM Igor Yakushin <iv...@uchicago.edu> wrote:
>
>
>
> On 11/06/2016 07:30 PM, moon soo Lee wrote:
> > Hi Igor,
> >
> > Zeppelin runs with user id that execute bin/zeppelin-daemon.sh or
> > bin/zeppeiln.sh. And all interpreter processes are running with the
> > same user id at the moment. So you'll need to change your user id to
> > appropriate one for your job and start Zeppelin.
>
> Hi Moon,
> So do I understand correctly that at the moment one cannot run a single
> Zeppelin server for all the users to connect to and each user is
> supposed to run his own instance of the server?
> Zeppelin can use ldap for authentication so I thought that I can run it
> as root. But later I discovered that %sh would give root access to all
> the users!!!
> Is there a way around it? Like running it under some service account?
> With Jupyter, for example, there is JupyterHub that allows that: each
> user only has access to his account. Nothing like that for Zeppelin?
> Thank you,
> Igor
>
> --
> Igor Yakushin, Ph.D.
> Computational Scientist
> Kavli Institute for Cosmological Physics, ERC #413
> Research Computing Center, room #2
> The University of Chicago
> 773-834-5313 <(773)%20834-5313>
> https://rcc.uchicago.edu
>
>

Re: under what userid should Zeppelin run?

Posted by moon soo Lee <mo...@apache.org>.
Interpreters can be restarted from 'interpreter' menu, or individual user
can restart interpreter in 'interpreter binding' menu on each Notes. Second
method available in 0.7.0-SNAPSHOT.

'Job' menu (in 0.7.0-SNAPSHOT) supposed to provide at a glance view of all
jobs running on Zeppelin and will help admin manage the resources.

Hope this helps.

Thanks,
moon

On Mon, Nov 7, 2016 at 3:21 PM York Huang <yo...@gmail.com> wrote:

> Thanks moon.
>
> One more question may not be so related. How can user shut down individual
> notebook and its interpreter? How does the administrator monitor the
> running interpreter and shut it down if running out of resources?
>
> On 8 November 2016 at 05:33, moon soo Lee <mo...@apache.org> wrote:
>
> Thanks Igor for valuable feedbacks.
> For that reason, i've seen some companies instantiate Zeppelin inside of
> container per person, or restrict usage of certain type of interpreters.
> I expect Zeppelin will have impersonation soon and mitigate that problem
> from the next release.
>
> York,
> Yes, you can run multiple Zeppelin instances with different configurations.
> bin/zeppelin-daemon.sh accepts --config parameter. You can have multiple
> configuration directories and point them with --config parameter.
>
> Thanks,
> moon
>
> On Sun, Nov 6, 2016 at 10:39 PM York Huang <yo...@gmail.com>
> wrote:
>
> Also if I want to run all Zeppelin instances from one Linux machine, do I
> have to create the Zeppelin binaries for each user with different ports so
> that multiple instances can run in the same box?
>
> Sent from my iPhone
>
> On 7 Nov 2016, at 5:17 PM, Igor Yakushin <iv...@uchicago.edu> wrote:
>
> Upon reading the documentation and coming with JupyterHub experience, it
> was natural to assume that Zeppelin should run as root, one daemon for all
> the users, especially considering that one can use it with ldap.
>
> One should put it into the documentation with big red letters:
> *NEVER RUN ZEPPELIN AS ROOT !!! *
>
> Also, the daemon itself should check if it is running as root and die with
> violent complaints if yes. This is a major security problem.
>
> This was not obvious at all to me that each user should run his own daemon
> on his account. I know at least one more place that made the same mistake
> as me and runs Zeppelin under root.
>
>
>

Re: under what userid should Zeppelin run?

Posted by York Huang <yo...@gmail.com>.
Thanks moon.

One more question may not be so related. How can user shut down individual
notebook and its interpreter? How does the administrator monitor the
running interpreter and shut it down if running out of resources?

On 8 November 2016 at 05:33, moon soo Lee <mo...@apache.org> wrote:

> Thanks Igor for valuable feedbacks.
> For that reason, i've seen some companies instantiate Zeppelin inside of
> container per person, or restrict usage of certain type of interpreters.
> I expect Zeppelin will have impersonation soon and mitigate that problem
> from the next release.
>
> York,
> Yes, you can run multiple Zeppelin instances with different configurations.
> bin/zeppelin-daemon.sh accepts --config parameter. You can have multiple
> configuration directories and point them with --config parameter.
>
> Thanks,
> moon
>
> On Sun, Nov 6, 2016 at 10:39 PM York Huang <yo...@gmail.com>
> wrote:
>
>> Also if I want to run all Zeppelin instances from one Linux machine, do I
>> have to create the Zeppelin binaries for each user with different ports so
>> that multiple instances can run in the same box?
>>
>> Sent from my iPhone
>>
>> On 7 Nov 2016, at 5:17 PM, Igor Yakushin <iv...@uchicago.edu> wrote:
>>
>> Upon reading the documentation and coming with JupyterHub experience, it
>> was natural to assume that Zeppelin should run as root, one daemon for all
>> the users, especially considering that one can use it with ldap.
>>
>> One should put it into the documentation with big red letters:
>> *NEVER RUN ZEPPELIN AS ROOT !!! *
>>
>> Also, the daemon itself should check if it is running as root and die
>> with violent complaints if yes. This is a major security problem.
>>
>> This was not obvious at all to me that each user should run his own
>> daemon on his account. I know at least one more place that made the same
>> mistake as me and runs Zeppelin under root.
>>
>>

Re: under what userid should Zeppelin run?

Posted by moon soo Lee <mo...@apache.org>.
Thanks Igor for valuable feedbacks.
For that reason, i've seen some companies instantiate Zeppelin inside of
container per person, or restrict usage of certain type of interpreters.
I expect Zeppelin will have impersonation soon and mitigate that problem
from the next release.

York,
Yes, you can run multiple Zeppelin instances with different configurations.
bin/zeppelin-daemon.sh accepts --config parameter. You can have multiple
configuration directories and point them with --config parameter.

Thanks,
moon

On Sun, Nov 6, 2016 at 10:39 PM York Huang <yo...@gmail.com> wrote:

> Also if I want to run all Zeppelin instances from one Linux machine, do I
> have to create the Zeppelin binaries for each user with different ports so
> that multiple instances can run in the same box?
>
> Sent from my iPhone
>
> On 7 Nov 2016, at 5:17 PM, Igor Yakushin <iv...@uchicago.edu> wrote:
>
> Upon reading the documentation and coming with JupyterHub experience, it
> was natural to assume that Zeppelin should run as root, one daemon for all
> the users, especially considering that one can use it with ldap.
>
> One should put it into the documentation with big red letters:
> *NEVER RUN ZEPPELIN AS ROOT !!! *
>
> Also, the daemon itself should check if it is running as root and die with
> violent complaints if yes. This is a major security problem.
>
> This was not obvious at all to me that each user should run his own daemon
> on his account. I know at least one more place that made the same mistake
> as me and runs Zeppelin under root.
>
>

Re: under what userid should Zeppelin run?

Posted by York Huang <yo...@gmail.com>.
Also if I want to run all Zeppelin instances from one Linux machine, do I have to create the Zeppelin binaries for each user with different ports so that multiple instances can run in the same box?

Sent from my iPhone

> On 7 Nov 2016, at 5:17 PM, Igor Yakushin <iv...@uchicago.edu> wrote:
> 
> Upon reading the documentation and coming with JupyterHub experience, it was natural to assume that Zeppelin should run as root, one daemon for all the users, especially considering that one can use it with ldap.
> One should put it into the documentation with big red letters: NEVER RUN ZEPPELIN AS ROOT !!! 
> 
> Also, the daemon itself should check if it is running as root and die with violent complaints if yes. This is a major security problem.
> 
> This was not obvious at all to me that each user should run his own daemon on his account. I know at least one more place that made the same mistake as me and runs Zeppelin under root.
> 
> 

Re: under what userid should Zeppelin run?

Posted by Igor Yakushin <iv...@uchicago.edu>.
Upon reading the documentation and coming with JupyterHub experience, it 
was natural to assume that Zeppelin should run as root, one daemon for 
all the users, especially considering that one can use it with ldap.

One should put it into the documentation with big red letters: *NEVER 
RUN ZEPPELIN AS ROOT !!!
*

Also, the daemon itself should check if it is running as root and die 
with violent complaints if yes. This is a major security problem.

This was not obvious at all to me that each user should run his own 
daemon on his account. I know at least one more place that made the same 
mistake as me and runs Zeppelin under root.



Re: under what userid should Zeppelin run?

Posted by moon soo Lee <mo...@apache.org>.
Hi,

That's right. Until Zeppelin get impersonation implemented that i mentioned
in one of previous email.

Thanks Igor for sharing your interests.

Regards,
moon

On Sun, Nov 6, 2016 at 8:42 PM Igor Yakushin <iv...@uchicago.edu> wrote:

> Hi Moon,
>
> This allows a user to specify who can see his note, right?
>
> But that does not protect the system from users getting root access via
> %sh (or who knows what else) if Zeppelin is running as root?
>
> Thank you,
>
> Igor
>
> On 11/06/2016 08:48 PM, moon soo Lee wrote:
>
> Zeppelin already have three different modes for interpreter process
> management.
>
>  - shared : share a single process per note
>  - scoped: share a single process but create instance inside per note
>  - isolated : create a new process per note.
>
> Now community also is actively working on bring this ability to not only
> per note but also per user as well. Here's related issues. And i think
> we'll have those features really soon.
> https://issues.apache.org/jira/browse/ZEPPELIN-1210
> https://issues.apache.org/jira/browse/ZEPPELIN-1236
>
> Let me know if you have any other questions.
>
> Thanks,
> moon
>
> On Sun, Nov 6, 2016 at 5:45 PM Igor Yakushin <iv...@uchicago.edu> wrote:
>
>
>
> On 11/06/2016 07:30 PM, moon soo Lee wrote:
> > Hi Igor,
> >
> > Zeppelin runs with user id that execute bin/zeppelin-daemon.sh or
> > bin/zeppeiln.sh. And all interpreter processes are running with the
> > same user id at the moment. So you'll need to change your user id to
> > appropriate one for your job and start Zeppelin.
>
> Hi Moon,
> So do I understand correctly that at the moment one cannot run a single
> Zeppelin server for all the users to connect to and each user is
> supposed to run his own instance of the server?
> Zeppelin can use ldap for authentication so I thought that I can run it
> as root. But later I discovered that %sh would give root access to all
> the users!!!
> Is there a way around it? Like running it under some service account?
> With Jupyter, for example, there is JupyterHub that allows that: each
> user only has access to his account. Nothing like that for Zeppelin?
> Thank you,
> Igor
>
> --
> Igor Yakushin, Ph.D.
> Computational Scientist
> Kavli Institute for Cosmological Physics, ERC #413
> Research Computing Center, room #2
> The University of Chicago
> 773-834-5313 <%28773%29%20834-5313>
> https://rcc.uchicago.edu
>
>
> --
> Igor Yakushin, Ph.D.
> Computational Scientist
> Kavli Institute for Cosmological Physics, ERC #413
> Research Computing Center, room #2
> The University of Chicago773-834-5313 <(773)%20834-5313>https://rcc.uchicago.edu
>
>

Re: under what userid should Zeppelin run?

Posted by Igor Yakushin <iv...@uchicago.edu>.
Hi Moon,

This allows a user to specify who can see his note, right?

But that does not protect the system from users getting root access via 
%sh (or who knows what else) if Zeppelin is running as root?

Thank you,

Igor


On 11/06/2016 08:48 PM, moon soo Lee wrote:
> Zeppelin already have three different modes for interpreter process 
> management.
>
>  - shared : share a single process per note
>  - scoped: share a single process but create instance inside per note
>  - isolated : create a new process per note.
>
> Now community also is actively working on bring this ability to not 
> only per note but also per user as well. Here's related issues. And i 
> think we'll have those features really soon.
> https://issues.apache.org/jira/browse/ZEPPELIN-1210
> https://issues.apache.org/jira/browse/ZEPPELIN-1236
>
> Let me know if you have any other questions.
>
> Thanks,
> moon
>
> On Sun, Nov 6, 2016 at 5:45 PM Igor Yakushin <ivy2@uchicago.edu 
> <ma...@uchicago.edu>> wrote:
>
>
>
>     On 11/06/2016 07:30 PM, moon soo Lee wrote:
>     > Hi Igor,
>     >
>     > Zeppelin runs with user id that execute bin/zeppelin-daemon.sh or
>     > bin/zeppeiln.sh. And all interpreter processes are running with the
>     > same user id at the moment. So you'll need to change your user id to
>     > appropriate one for your job and start Zeppelin.
>
>     Hi Moon,
>     So do I understand correctly that at the moment one cannot run a
>     single
>     Zeppelin server for all the users to connect to and each user is
>     supposed to run his own instance of the server?
>     Zeppelin can use ldap for authentication so I thought that I can
>     run it
>     as root. But later I discovered that %sh would give root access to all
>     the users!!!
>     Is there a way around it? Like running it under some service account?
>     With Jupyter, for example, there is JupyterHub that allows that: each
>     user only has access to his account. Nothing like that for Zeppelin?
>     Thank you,
>     Igor
>
>     --
>     Igor Yakushin, Ph.D.
>     Computational Scientist
>     Kavli Institute for Cosmological Physics, ERC #413
>     Research Computing Center, room #2
>     The University of Chicago
>     773-834-5313 <tel:%28773%29%20834-5313>
>     https://rcc.uchicago.edu
>

-- 
Igor Yakushin, Ph.D.
Computational Scientist
Kavli Institute for Cosmological Physics, ERC #413
Research Computing Center, room #2
The University of Chicago
773-834-5313
https://rcc.uchicago.edu


Re: under what userid should Zeppelin run?

Posted by moon soo Lee <mo...@apache.org>.
Zeppelin already have three different modes for interpreter process
management.

 - shared : share a single process per note
 - scoped: share a single process but create instance inside per note
 - isolated : create a new process per note.

Now community also is actively working on bring this ability to not only
per note but also per user as well. Here's related issues. And i think
we'll have those features really soon.
https://issues.apache.org/jira/browse/ZEPPELIN-1210
https://issues.apache.org/jira/browse/ZEPPELIN-1236

Let me know if you have any other questions.

Thanks,
moon

On Sun, Nov 6, 2016 at 5:45 PM Igor Yakushin <iv...@uchicago.edu> wrote:

>
>
> On 11/06/2016 07:30 PM, moon soo Lee wrote:
> > Hi Igor,
> >
> > Zeppelin runs with user id that execute bin/zeppelin-daemon.sh or
> > bin/zeppeiln.sh. And all interpreter processes are running with the
> > same user id at the moment. So you'll need to change your user id to
> > appropriate one for your job and start Zeppelin.
>
> Hi Moon,
> So do I understand correctly that at the moment one cannot run a single
> Zeppelin server for all the users to connect to and each user is
> supposed to run his own instance of the server?
> Zeppelin can use ldap for authentication so I thought that I can run it
> as root. But later I discovered that %sh would give root access to all
> the users!!!
> Is there a way around it? Like running it under some service account?
> With Jupyter, for example, there is JupyterHub that allows that: each
> user only has access to his account. Nothing like that for Zeppelin?
> Thank you,
> Igor
>
> --
> Igor Yakushin, Ph.D.
> Computational Scientist
> Kavli Institute for Cosmological Physics, ERC #413
> Research Computing Center, room #2
> The University of Chicago
> 773-834-5313 <(773)%20834-5313>
> https://rcc.uchicago.edu
>
>

Re: under what userid should Zeppelin run?

Posted by Igor Yakushin <iv...@uchicago.edu>.

On 11/06/2016 07:30 PM, moon soo Lee wrote:
> Hi Igor,
>
> Zeppelin runs with user id that execute bin/zeppelin-daemon.sh or 
> bin/zeppeiln.sh. And all interpreter processes are running with the 
> same user id at the moment. So you'll need to change your user id to 
> appropriate one for your job and start Zeppelin.

Hi Moon,
So do I understand correctly that at the moment one cannot run a single 
Zeppelin server for all the users to connect to and each user is 
supposed to run his own instance of the server?
Zeppelin can use ldap for authentication so I thought that I can run it 
as root. But later I discovered that %sh would give root access to all 
the users!!!
Is there a way around it? Like running it under some service account?
With Jupyter, for example, there is JupyterHub that allows that: each 
user only has access to his account. Nothing like that for Zeppelin?
Thank you,
Igor

-- 
Igor Yakushin, Ph.D.
Computational Scientist
Kavli Institute for Cosmological Physics, ERC #413
Research Computing Center, room #2
The University of Chicago
773-834-5313
https://rcc.uchicago.edu


Re: under what userid should Zeppelin run?

Posted by moon soo Lee <mo...@apache.org>.
Hi Igor,

Zeppelin runs with user id that execute bin/zeppelin-daemon.sh or
bin/zeppeiln.sh. And all interpreter processes are running with the same
user id at the moment. So you'll need to change your user id to appropriate
one for your job and start Zeppelin.

In case of you're interested in impersonation, community is working on it
and you can track related issues
https://issues.apache.org/jira/browse/ZEPPELIN-1320
https://issues.apache.org/jira/browse/ZEPPELIN-1587
https://issues.apache.org/jira/browse/ZEPPELIN-1567
Hope this helps.

Thanks,
moon


On Sat, Nov 5, 2016 at 8:30 PM Igor Yakushin <iv...@uchicago.edu> wrote:

> Hi All,
> Under what userid should Zeppelin run? The documentation does not seem
> to mention it.
> Thank you,
> Igor
>