All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: "Barros Pena, Belen" <belen.barros.pena@intel.com>
Cc: "toaster@yoctoproject.org" <toaster@yoctoproject.org>
Subject: Re: [RFC] Toaster access control
Date: Tue, 28 Oct 2014 13:43:53 +0000	[thread overview]
Message-ID: <1414503833.7967.147.camel@ted> (raw)
In-Reply-To: <D07030E2.4C9AD%belen.barros.pena@intel.com>


On Fri, 2014-10-24 at 15:37 +0000, Barros Pena, Belen wrote:
> How both approaches compare?
> 
> * In the top-down approach, the fundamental unit for user management is a
> Toaster instance; in the distributed approach, the fundamental unit for
> user management is a Toaster project.
> 
> * The top-down approach requires a central place for user management that
> can only be accessed by the all powerful administrator(s). This central
> place is outside and above Toaster projects. In the distributed approach,
> user management takes place within a Toaster project.
> 
> * In the top-down approach, the user management task falls on the all
> powerful administrator(s). In the distributed approach, user management is
> shared between all project creators.
> 
> * The top-down approach is request-based: I must solicit access to Toaster
> to the all powerful administrator, who then decides which projects I can
> access and what I can do in Toaster. The distributed approach is
> invitation-based: the project creator invites me to access her project.
> 
> * In the top-down approach, there is normally one all powerful
> administrator and then a whole bunch of Toaster users. In the distributed
> approach, there are a whole bunch of project creators and a whole bunch of
> project users.
> 
> Which approach do I like best? The distributed one, of course. This is why:
> 
> 1. Because so far we have designed Toaster to be project based. For
> example, although there is a global layer list in the Toaster database
> that spans all projects, layers are only exposed in the context of a
> certain project. There are no Toaster pages outside of projects, apart
> from the landing page. The distributed approach to access control reflects
> this currently existing structure, which keeps things nice and simple.
> 
> 2. Because it avoids the need for a global administration interface. There
> are Toaster projects, and within a project you have a list of the people
> who have access to that project.
> 
> 3. Because it shares the responsibility of user management: no single
> person has to deal with this very annoying task. The responsibility is
> shared between all project creators.
> 
> 4. Because it makes user management easier: no need to deal with a list of
> a million users, and give each of them access to 50 projects. User lists
> are broken down by project, which means shorter lists. Project access
> granting happens organically, instead of in a single go. Inviting existing
> users to a project is easy because we keep a global list of users that
> spans all projects, even if we choose not to show it: typing a name should
> provide you suggestions from existing users, and you can select one of
> them or create a new one as needed.
> 
> 5. Because it avoids the need for sophisticated user management features,
> such as Active Directory integration (don't laugh:
> https://wiki.jenkins-ci.org/display/JENKINS/Active+Directory+plugin),
> which we are in no position to deliver.
> 
> But I am just the designer: what the hell do I know? So it would be good
> to find out which approach you prefer and why.

I think this is fine, however there is a "but" coming. I believe there
will be some "site" configuration which people will desire, for example
whether users can or cannot invite other users to projects or can create
new users. Some of these operations will need to be restricted to some
set of users.

So whilst I like the idea, there will be a pressure towards elements of
the other model and there are some reasons for that which we should try
and consider if we can.

I feel I'm explaining that badly, I hope this is understandable...

Cheers,

Richard





  parent reply	other threads:[~2014-10-28 13:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-24 15:37 [RFC] Toaster access control Barros Pena, Belen
2014-10-28 12:02 ` Mihail, StanciuX
2014-10-29 12:16   ` Barros Pena, Belen
2014-10-29 13:11     ` Richard Purdie
2014-10-29 13:38       ` Barros Pena, Belen
2014-10-28 13:43 ` Richard Purdie [this message]
2014-10-29 12:25   ` Barros Pena, Belen
2014-10-29 14:48 ` Reyna, David

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1414503833.7967.147.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=belen.barros.pena@intel.com \
    --cc=toaster@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.