Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 369707 - LTS Authorization and Authentication
Summary: LTS Authorization and Authentication
Status: RESOLVED FIXED
Alias: None
Product: Working Groups
Classification: Eclipse Foundation
Component: LTS (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---   Edit
Assignee: LTS Infrastructure Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 369701 369702 369703 369704
  Show dependency tree
 
Reported: 2012-01-25 12:00 EST by Andrea Ross CLA
Modified: 2014-05-27 09:01 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Ross CLA 2012-01-25 12:00:53 EST
This ticket is for tracking discussion and work related to the authorization and authentication scheme used for Long Term Support (LTS).
Comment 1 Andrea Ross CLA 2012-01-31 09:52:02 EST
Currently, we expect a few principle levels of authorization for Long Term Support (LTS):
1) Public, which currently is planned to have no access to the LTS forge
2) LTS regular/basic, which will have access to some LTS resources, but not all
3) LTS premium, which will have access to all LTS resources
and
4) In addition, committers will have access to some elements of the LTS forge.

Elements that will be authenticated and authorized include:
a) LTS members-only downloads site
b) LTS code repository
c) LTS Hudson instance
d) LTS Build servers

In addition, we anticipate some premium LTS features may be:
i) Bugzilla groups to keep bugs private to a given LTS member until they are fixed.
ii) Potential for group authorization and authentication of LTS member private cloned code repositories. e.g. Company X wants some/all their employees to all have commit to a Company X specific code repository.
Comment 2 Andrea Ross CLA 2012-02-10 15:55:24 EST
Increasing priority
Comment 3 Andrea Ross CLA 2012-03-14 13:24:51 EDT
More elements that will be A&A'd include:
* A Nexus instance for LTS
* A Nexus instance for a given company's private area/forge (within LTS)
* If not encapsulated within Nexus, Orbit for LTS and potentially a company-specific instance of Orbit.
Comment 4 Andrea Ross CLA 2012-03-14 13:51:25 EDT
Also:

Regarding #4, committer access, currently they are planned to have read-only access to git, but no access to binaries nor will they be able to run builds on the LTS build farm.
Comment 5 Wayne Beaton CLA 2012-03-16 11:18:07 EDT
(In reply to comment #1)
> Elements that will be authenticated and authorized include:
> a) LTS members-only downloads site
> b) LTS code repository
> c) LTS Hudson instance
> d) LTS Build servers

Is this the only intended level of granularity?

i.e. will regular Eclipse committers have uniform access within the LTS forge, or is their access to projects within the LTS forge restricted to only those projects they have access to in the public forge?
Comment 6 Andrea Ross CLA 2012-03-16 11:29:06 EDT
I believe since committers have read-only access to all projects in the community forge, read-only access to all projects in LTS isn't crazy. If we can do project-by-project without too much overhead it's worth considering.

For maintenance committers this is even more interesting. There are two ways to approach it:

1) Everyone gets the minimum possible access. e.g. just the project they requested/work on. <= generally always a good idea, but much more work to administer. It may lead to frivolous requests.

2) Everyone gets the maximum access.<= obviously less work to administer, but scary from a code scrutiny perspective.
Comment 7 Wayne Beaton CLA 2012-03-17 00:39:36 EDT
(In reply to comment #6)
> I believe since committers have read-only access to all projects in the
> community forge, read-only access to all projects in LTS isn't crazy. If we can
> do project-by-project without too much overhead it's worth considering.

I think that I understand what you mean, but... Clarification: *everybody* has read access to all projects. Each committer has read/write access to *some* projects.
Comment 8 Denis Roy CLA 2012-06-18 10:55:21 EDT
I believe most of this, if not all, can/should be handled through LDAP groups.  We should perhaps use the same LDAP service which supports eclipse.org, since there will be overlap in eclipse.org users and LTS users.
Comment 9 Andrea Ross CLA 2012-06-18 14:39:39 EDT
I agree. Using the same LDAP instance makes good sense.

There should be a group for:
a) access to binaries on a release by release basis (Juno, Kepler, L-whatever, etc.)
b) read-only access to all code. We can adjust this later if we need it to be project by project read-only
c) read-write access to a given company's repositories. i.e. a maintenance committer
d) read-write access to the common/central LTS repositories. i.e. a maintenance integrator.


Revisiting Wayne's comment to be sure of clarity, as I think we're thinking the same thing. Only committers have read-only access to LTS projects. The LTS common/central repositories aren't public. It has been said that committers should ask for access & be subject to a special LTS agreement rather than have it automatically granted.

And company specific repositories can only be accessed by people the company designates.

The maintenance integrator role is new as per our last discussion on this a ways back, but I believe it makes good sense.

Once we're in agreement, I'll run it by the LTS IWG as part of the meeting on June 29th.
Comment 10 Andrea Ross CLA 2012-06-29 14:37:51 EDT
A few ideas building on the discussion so far. In LDAP, ...

ou=LTS_basic <= people with LTS participant access. Can download binaries. They should *not* be able to access LTS source code.

ou=LTS_premium <= people with LTS premium access, Can: a) download binaries b) read-only access to the central LTS repositories. 

ou=LTS_<company> <= people with a) read/write access to company specific LTS forge b) read/write access to bugs in the company bugzilla group c) d) access to company Hudson jobs. The company controls who's in this group by selecting ids from ou=Community.

ou=LTS_<company>_admin <= the person or people who administers the list of who has access to that company's area.

ou=LTS_integrator <= selected representatives with write access to central LTS repositories, LTS download site, and corresponding hudson jobs.

In order to maintain privacy in the company specific areas, we'll want to use something like gerrit on the central repositories to enable the change control process. Otherwise integrators would need to use bugzilla to find out about potential updates.

Also need to think about incentives for integrators so work is reasonably balanced across members.
Comment 11 Denis Roy CLA 2013-05-21 15:56:48 EDT
I'm pretty sure we have this all figured out now.  Reopen if something is missing.
Comment 12 Denis Roy CLA 2014-05-27 09:01:20 EDT
Moving to the Working Groups section.