Skip to content

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

Draft
chriskilding wants to merge 10 commits into
jenkinsci:masterfrom
chriskilding:folder-based-acl-for-credentials-providers
Draft

JEP-225: Folders-based access control layer for any credentials provider#266
chriskilding wants to merge 10 commits into
jenkinsci:masterfrom
chriskilding:folder-based-acl-for-credentials-providers

Conversation

@chriskilding
Copy link
Copy Markdown

No description provided.

@chriskilding
Copy link
Copy Markdown
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
Copy Markdown
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
Comment thread jep/225/README.adoc Outdated
@chriskilding
Copy link
Copy Markdown
Author

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

@chriskilding
Copy link
Copy Markdown
Author

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

@chriskilding
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

Comment thread jep/225/README.adoc Outdated
Comment thread jep/225/README.adoc Outdated
- "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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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 <jglick@cloudbees.com>
@oleg-nenashev
Copy link
Copy Markdown
Member

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

@chriskilding
Copy link
Copy Markdown
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
Copy Markdown

jeffpearce commented Mar 4, 2020 via email

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

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

@oleg-nenashev
Copy link
Copy Markdown
Member

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

@chriskilding
Copy link
Copy Markdown
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
Copy Markdown
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