Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JEP-225: Folders-based access control layer for any credentials provider #266

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

chriskilding
Copy link

No description provided.

@chriskilding
Copy link
Author

Just putting this up early, so that it exists somewhere, and we have a reference point to discuss it.

At this point in time the only thing I need is a JEP number - I have assumed 401 but that's not necessarily right.

Copy link
Member

@oleg-nenashev oleg-nenashev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JEP-401 and JEP-404 are kept for special occasions :)
Speaking seriously, 4xx was supposed to be used for Jenkins X, but it is no longer relevant since JX is not a separate project.

I would suggest JEP-225

@chriskilding chriskilding changed the title JEP-401: Folders-based access control layer for any credentials provider JEP-225: Folders-based access control layer for any credentials provider Jan 30, 2020
jep/225/README.adoc Outdated Show resolved Hide resolved
@chriskilding
Copy link
Author

@oleg-nenashev who would be an appropriate BDFL for this?

@chriskilding
Copy link
Author

looping in @jvz since he expressed interest on the mailing list

@chriskilding
Copy link
Author

chriskilding commented Feb 4, 2020

There are a couple of existing components that provide a generic ACL already:

I am thinking that rather than implement the JEP as a self-contained ACL within the folders plugin, we would get a much more powerful result if we made the generic ACLs aware of folders and credentials as concepts (objects?). Any standard ACL rule could then apply restrictions on these objects, and the rules would be composable with any other rules.

@oleg-nenashev
Copy link
Member

@chriskilding sorry for missing the comments here. I would recommend to use the Developer Mailing list for the technical discussion, not the JEP pull request (see the JEP-1 recommendations). Regarding the BDFL delegate, I would rather recommend somebody from the Jenkins Security team. Maybe @daniel-beck could make a better suggestion

@jglick
Copy link
Member

jglick commented Feb 13, 2020

I would suggest JEP-225

A number is allocated by maintainers if and when the PR is merged. Pointless to guess at it now.

jep/225/README.adoc Outdated Show resolved Hide resolved
- "Only jobs in folders 'foo' and 'bar' can access credential 'baz'".
- "All jobs can access [global] credential 'qux'".

This proposal genericises and supersedes the folder-based credentials ACL in the link:https://plugins.jenkins.io/cloudbees-folder[Cloudbees Folders plugin].
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the folder-based credentials ACL

There is no such thing currently. Perhaps you meant

Suggested change
This proposal genericises and supersedes the folder-based credentials ACL in the link:https://plugins.jenkins.io/cloudbees-folder[Cloudbees Folders plugin].
This proposal genericises and supersedes the folder-based credentials storage in the link:https://plugins.jenkins.io/cloudbees-folder[Cloudbees Folders plugin].

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If a credential is stored in FoldersCredentialProvider, only jobs in the respective folder can use it. I would see this as a very simplistic form of access control over credentials (albeit with only one kind of rule).

@oleg-nenashev
Copy link
Member

A number is allocated by maintainers if and when the PR is merged. Pointless to guess at it now.

We do not have other JEPs in the queue at the moment, so it is not a problem IMHO

Co-Authored-By: Jesse Glick <[email protected]>
@oleg-nenashev
Copy link
Member

@chriskilding Hi, are you still interested in it? Do you have enough information to proceed?

@chriskilding
Copy link
Author

I'm juggling a few other PRs at the moment which are higher priority for our teams, but yes the plan is to keep going with this.

Probably the biggest thing I need to proceed is a clear overview of the main ACL systems which would be changed as part of this feature. We started working that out on the mailing list but it's a bit hazy atm.

@jeffpearce
Copy link

jeffpearce commented Mar 4, 2020 via email

@oleg-nenashev oleg-nenashev self-requested a review March 10, 2020 11:48
@oleg-nenashev
Copy link
Member

@jeffpearce It is better to discuss such topics and organize walkthroughs in the developer mailing list

@oleg-nenashev
Copy link
Member

@chriskilding @jeffpearce Hi, are you still interested in this JEP?

@chriskilding
Copy link
Author

Hi Oleg, I've been taken off to work on other things for the moment but I may come back to this in the future.

rtyler added a commit to jglick/jep that referenced this pull request Sep 7, 2020
225 is currently pending for jenkinsci#266 so I am
skipping over it
@timja
Copy link
Member

timja commented Dec 22, 2021

@chriskilding still interested? 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants