+1, thanks for the work Marco. On Sat, Jan 6, 2018 at 12:24 AM, Naveen Swamy <[email protected]> wrote:
> this sounds fine to me as long as there is at least one MXNet committer who > is also an admin. > > thanks Marco for making this happen :) > > - Naveen > > On Fri, Jan 5, 2018 at 2:54 PM, Marco de Abreu < > [email protected] > > wrote: > > > I'm proposing following permissions: https://i.imgur.com/uiFBtuW.png. > The > > meaning of every permission is explained at https://wiki.jenkins.io/ > > display/JENKINS/Matrix-based+security. > > > > Any objections? > > > > On Fri, Jan 5, 2018 at 11:03 PM, Marco de Abreu < > > [email protected]> wrote: > > > > > I'm currently working on a prototype of SSO based on GitHub and a few > > > issues arose: > > > > > > We are not able to use the permission strategy which determines the > > access > > > rights based on the read/write permission to a project as the > > > Jenkins-plugin is not able to resolve the link between Jenkins-jobs and > > > GitHub-repositories. Instead I would propose to use a role-based > approach > > > using https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Plugin. In > > > this case we would have three roles: Anonymous, Administrator and > > > Committer. While everybody would authenticate using their regular > GitHub > > > account, the role assignment would have to happen manually. Considering > > > that the amount of administrators and committers doesn't change that > > > frequently, this shouldn't be too much of an issue - auto populating > the > > > status is not possible unfortunately. > > > > > > Reason for splitting Administrators and Committers into two separate > > roles > > > has a security reason. At the moment, we're using Chris Oliviers GitHub > > > credentials to populate the commit status. If all committers would gain > > > full admin rights, they would have access to these credentials. Chris > is > > > not fine with this approach and would like to limit the amount of > people > > > with access to his credentials as much as possible. > > > > > > In order to address his concerns, I propose to add Chris to the > committer > > > as well as to the admin role, while all other committers will only > > receive > > > the committer role without read access to the credentials. In a later > > > email, I will make a proposal for the detailed committer role rights. > You > > > can check all available options at https://wiki.jenkins.io/ > > > display/JENKINS/Matrix-based+security. > > > > > > All people who have access to the underlying AWS account would be > granted > > > the Administrator role with full access. At the moment, this would be > > > Meghna Baijal, Gautam Kumar and myself. > > > > > > An alternative solution would be to create a bot account specifically > for > > > MXNet CI and use its credentials instead of Chris'. This account > requires > > > write permission to the repository, but would give us the advantage > that > > > these credentials would be shared within the committers and thus making > > the > > > restrictions regarding credentials obsolete (and Chris would be happy > not > > > the see his face within every single PR :P ). I've asked around and > > > received the feedback from multiple people that Apache Infra does not > > want > > > to grant bot accounts write permission to a repository, but I would > like > > to > > > confirm back considering that AppVeyor, for example, has a bot account > > with > > > write permission. I would like to check back with a mentor and create > an > > > Apache Infra ticket to request details and permission. > > > > > > I would propose to take both approaches at the same time, meaning we > can > > > start with Chris in the committer AND admin role while trying to get > > > permission for a bot account in the meantime. > > > > > > wdyt? > > > > > > On Fri, Jan 5, 2018 at 8:21 PM, Chris Olivier <[email protected]> > > > wrote: > > > > > >> I am fine without a vote unless a vote is required? Any objections, > > >> anyone? You're sort of adding functionality here, not changing or > > >> restricting... We can always change to Apache later. > > >> > > >> On Fri, Jan 5, 2018 at 11:18 AM, Marco de Abreu < > > >> [email protected]> wrote: > > >> > > >> > I'd be in favour of GitHub. Shall we open a vote or would you like > me > > to > > >> > create a POC with GitHub first and afterwards we can check if that's > > >> > enough? > > >> > > > >> > -Marco > > >> > > > >> > On Fri, Jan 5, 2018 at 8:13 PM, Chris Olivier < > [email protected]> > > >> > wrote: > > >> > > > >> > > Apparently Apache supports OATH, so I am open to either. > > >> > > Good idea for the docker thing. > > >> > > > > >> > > On Fri, Jan 5, 2018 at 11:02 AM, Marco de Abreu < > > >> > > [email protected]> wrote: > > >> > > > > >> > > > GitHub SSO allows the neat feature that login and permission can > > be > > >> > > > selected depending on the access rights a user has to a project. > > >> > Somebody > > >> > > > with write access (committers) would be get different > permissions > > >> than > > >> > > > somebody with only read access. > > >> > > > > > >> > > > We could check back with Apache for SSO, but this would involve > > >> Apache > > >> > > > infra. We could put it up to a vote whether to use GitHub or > > Apache > > >> > SSO. > > >> > > > > > >> > > > In order to reproduce a build failure we have been thinking > about > > >> > > changing > > >> > > > the ci_build.sh in such a way that it can be run manually > without > > >> > > Jenkins. > > >> > > > The setup I took over binds the Jenkins work directory into the > > >> docker > > >> > > > containers and uses a few hacks which are hard to reproduce > > >> locally. We > > >> > > > plan to reengineer this script to make it easier to run > manually. > > >> > > > But making the AMI public is a good idea! We plan to make the > > whole > > >> > > > infrastructure code (based on Terraform) completely public - at > > the > > >> > > moment > > >> > > > it's in a private repository as it contains credentials, but > they > > >> will > > >> > be > > >> > > > moved to KMS soon. It would definitely be a good approach to > just > > >> > supply > > >> > > > the AMI so everybody could recreate the environment in their own > > >> > account. > > >> > > > > > >> > > > -Marco > > >> > > > > > >> > > > Am 05.01.2018 7:51 nachm. schrieb "Chris Olivier" < > > >> > [email protected] > > >> > > >: > > >> > > > > > >> > > > Well, login to the Jenkins server, I would imagine. > > >> > > > > > >> > > > github or Apache SSO (does Apache support OAUTH?) seems like a > > good > > >> > idea > > >> > > as > > >> > > > long as there's a way to not let everyone with a github account > > log > > >> in. > > >> > > > > > >> > > > Access to actual slave machines could be more restricted, I > > imagine. > > >> > > > > > >> > > > Eventually, a public current AMI for a build slave would be good > > in > > >> > order > > >> > > > to reproduce build or test problems that can't be reproduced > > >> locally. > > >> > > > > > >> > > > wdyt? > > >> > > > > > >> > > > > > >> > > > > > >> > > > On Fri, Jan 5, 2018 at 10:41 AM, Marco de Abreu < > > >> > > > [email protected]> wrote: > > >> > > > > > >> > > > > Would it be an acceptable solution if we add SSO or do you > also > > >> want > > >> > > > access > > >> > > > > to the actual AWS account and all machines? > > >> > > > > > > >> > > > > Yes, the build jobs are automatically getting created for new > > >> > branches. > > >> > > > > > > >> > > > > -Marco > > >> > > > > > > >> > > > > Am 05.01.2018 7:35 nachm. schrieb "Marco de Abreu" < > > >> > > > > [email protected]>: > > >> > > > > > > >> > > > > I totally agree, this is not the way it should work in an > Apache > > >> > > Project. > > >> > > > > It's running on an isengard account, meaning it is only > > accessible > > >> > for > > >> > > > > Amazon employees. The problem is that a compromised account > > could > > >> > cause > > >> > > > > damage up to 170,000$ per day. There are alarms in place to > > notice > > >> > > those > > >> > > > > cases, but we still have to be very careful. These high limits > > >> have > > >> > > been > > >> > > > > chosen due to auto scaling being added within the next week's. > > >> > > > > > > >> > > > > I'd be happy to introduce a committer into the CI process and > > all > > >> the > > >> > > > > necessary steps as well as granting them permission. The only > > >> > > restriction > > >> > > > > being that it has to be and Amazon employee and access to > > console, > > >> > > master > > >> > > > > and slave only being possible from the Corp network. > > >> > > > > > > >> > > > > There is no open ticket. What would you like to request? > > >> > > > > > > >> > > > > -Marco > > >> > > > > > > >> > > > > > > >> > > > > Am 05.01.2018 7:22 nachm. schrieb "Chris Olivier" < > > >> > > [email protected] > > >> > > > >: > > >> > > > > > > >> > > > > Like John and other mentors were saying, it's not proper for > CI > > to > > >> > be a > > >> > > > > closed/inaccessible environment. Is it running on an Isengard > > >> > account > > >> > > or > > >> > > > > in PROD or CORP or just generic EC2? I think that we should > > >> remedy > > >> > > this. > > >> > > > > It's very strange that no committers have access at all. Is > > >> there a > > >> > > > ticket > > >> > > > > open to IPSEC? > > >> > > > > > > >> > > > > On Fri, Jan 5, 2018 at 10:17 AM, Marco de Abreu < > > >> > > > > [email protected]> wrote: > > >> > > > > > > >> > > > > > Hello Chris, > > >> > > > > > > > >> > > > > > At the moment this is not possible due Amazon AppSec > > >> (Application > > >> > > > > security) > > >> > > > > > restrictions which does not permit user data and credentials > > on > > >> > these > > >> > > > > > machines. > > >> > > > > > > > >> > > > > > I have been thinking about adding single sign on bound to > > >> GitHub, > > >> > but > > >> > > > we > > >> > > > > > would have to check back with AppSec. > > >> > > > > > > > >> > > > > > Is the reason for your request still the ability to start > and > > >> stop > > >> > > > > running > > >> > > > > > builds? > > >> > > > > > > > >> > > > > > Best regards, > > >> > > > > > Marco > > >> > > > > > > > >> > > > > > Am 05.01.2018 7:11 nachm. schrieb "Chris Olivier" < > > >> > > > [email protected] > > >> > > > > >: > > >> > > > > > > > >> > > > > > Marco, > > >> > > > > > > > >> > > > > > Are all committers able to get login access to the Jenkins > > >> Server? > > >> > > If > > >> > > > > not, > > >> > > > > > why? > > >> > > > > > > > >> > > > > > -Chris > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > > > > > > > >
