Mesos doesn't understand user groups yet, so you can't setup ACLs on them.

On Wed, Dec 9, 2015 at 11:33 AM, John Omernik <[email protected]> wrote:

> Well the mesos slaves are running as root, so they can run any task as any
> user. What I believe this is trying to do is using authentication in Mesos,
> ensure that only certain folks, with the secret can run as certain users.
> Thus, if I have a prn_devcontrol principal and secret, that can be used by
> a marathon framework I start. My devs can use that framework, and now they
> can only run tasks as themselves. Now, obviously there are concerns here...
> a single shared password defeats accountability, This would not be a
> concern if I gave a principal to each user.  Of course, then I have to
> restart mesos masters each time I change the ACLs which is also a
> challenge.
>
>
>
> On Wed, Dec 9, 2015 at 11:52 AM, haosdent <[email protected]> wrote:
>
>> >That it would allow a task to run in the devmarathon as any unix user
>> in that group.
>> I think in Linux only root would run task with other user. For normal
>> users, although they are in same group, it also not allowed to run task
>> with other account except use sudo. So "roles" in ACL is more close to what
>> you expect here?
>>
>> On Wed, Dec 9, 2015 at 12:12 AM, John Omernik <[email protected]> wrote:
>>
>>> In crafting my ACLs, I found that I would like to have a situation where
>>> groups were used instead of just user... i.e. if I have a certain frame,
>>> perhaps a dev instance of Marathon, I want folks in the dev group to all be
>>> able to to run frameworks as themselves.  Right now,  have a principal that
>>> can run in any role and with any user, prn_prodcontrol. That works for me.
>>> Then I have a principal that is my devcontrol.  So I register dev Marathon
>>> with that, and now anyone who has my credentials for the dev marathon, can
>>> submit marathon jobs, which is cool, however, they can only do it as
>>> unixdevuser, which is my unix user on every box... that's cool too. Also,
>>> the marathondev framework can only operate in the dev role.
>>>
>>>
>>> {
>>>  "register_frameworks": [
>>>   { "principals": { "values": ["prn_prodcontrol"] }, "roles": { "type":
>>> "ANY"}},
>>>   { "principals": { "values": ["prn_devcontrol"] }, "roles": {"values":
>>> ["dev"]}}
>>>   ]
>>>  "run_tasks": [
>>>   { "principals": { "values": ["prn_prodcontrol"] }, "users": { "type":
>>> "ANY"}},
>>>   { "principals": { "values": ["prn_devcontrol"] }, "users": {"values":
>>> ["unixdevuser"]}}
>>> ]
>>> }
>>>
>>>
>>> What would be ideal is if I have a group marathondevgrp (unix group on
>>> all nodes) and then I register the marathondev framework with principle
>>> prn_devcontrol, having an ACL that stated...
>>>
>>>
>>> {
>>>  "register_frameworks": [
>>>   { "principals": { "values": ["prn_prodcontrol"] }, "roles": { "type":
>>> "ANY"}},
>>>   { "principals": { "values": ["prn_devcontrol"] }, "roles": {"values":
>>> ["dev"]}}
>>>   ]
>>>  "run_tasks": [
>>>   { "principals": { "values": ["prn_prodcontrol"] }, "users": { "type":
>>> "ANY"}},
>>>   { "principals": { "values": ["prn_devcontrol"] }, "users": {"values":
>>> ["marathondevgrp"]}}
>>> ]
>>> }
>>>
>>> That it would allow a task to run in the devmarathon as any unix user in
>>> that group. This would allow me to have dev users run frameworks as
>>> themselves (for data access control on my shared filesystem) and still have
>>> the freedom to submit to marathon (dev).
>>>
>>>
>>> So does ACLs support groups? Is this something that would be difficult
>>> to add?  Thoughts about other approach to achieve similar results?
>>>
>>> Thanks!
>>>
>>> John
>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> Best Regards,
>> Haosdent Huang
>>
>
>

Reply via email to