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

Enable fine-grained update/delete RBAC enforcement by default #19988

Open
agaudreault opened this issue Sep 18, 2024 · 2 comments
Open

Enable fine-grained update/delete RBAC enforcement by default #19988

agaudreault opened this issue Sep 18, 2024 · 2 comments
Labels
component:rbac Issues related to Openshift and Racher enhancement New feature or request
Milestone

Comments

@agaudreault
Copy link
Member

agaudreault commented Sep 18, 2024

Summary

In 2.12 we introduced new RBAC for fine-grained update/delete in #18124. To keep backward compatibility, the applications, update and applications, delete rbac implicitly grant permissions to update/delete application's resources.

Motivation

Streamline behavior that was not possible without breaking changes.

Proposal

With the new fine-grained RBAC, applications, update and applications, delete give permission to manually edit/delete the Application, while applications, update/* and applications, delete/* are used for applications sub-resources.

The built-in policy should be updated to add applications, update/* and applications, delete/* for role:admin to preserve current privilege.

@agaudreault agaudreault added the enhancement New feature or request label Sep 18, 2024
@agaudreault agaudreault added this to the v3.0 milestone Sep 18, 2024
@todaywasawesome todaywasawesome added the component:rbac Issues related to Openshift and Racher label Sep 19, 2024
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so
we add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

GitHub argoproj#19988, argoproj#20600
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so
we add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

GitHub argoproj#19988, argoproj#20600
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
…oj#19988)

Change applications resource RBAC to use fine-grained update/delete
enforcement by default. This allows us to enforce RBAC on the
application itself, separately from the sub-resources related to it.

(see also argoproj#18124, argoproj#20600)
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so
we add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

This commit to add the gating code is added separately so it will be
easy to either cherry pick that pervious commit or revert this one.

(see also argoproj#18124, argoproj#20600)
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
…oj#19988)

Change applications resource RBAC to use fine-grained update/delete
enforcement by default. This allows us to enforce RBAC on the
application itself, separately from the sub-resources related to it.

(see also argoproj#18124, argoproj#20600)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so
we add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

This commit to add the gating code is added separately so it will be
easy to either cherry pick that pervious commit or revert this one.

(see also argoproj#18124, argoproj#20600)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
…oj#19988)

Change applications resource RBAC to use fine-grained update/delete
enforcement by default. This allows us to enforce RBAC on the
application itself, separately from the sub-resources related to it.

(see also argoproj#18124, argoproj#20600)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so
we add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

This commit to add the gating code is added separately so it will be
easy to either cherry pick that pervious commit or revert this one.

(see also argoproj#18124, argoproj#19988)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so
we add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

This commit to add the gating code is added separately so it will be
easy to either cherry pick that pervious commit or revert this one.

(see also argoproj#18124, argoproj#19988)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
…oj#19988)

Change applications resource RBAC to use fine-grained update/delete
enforcement by default. This allows us to enforce RBAC on the
application itself, separately from the sub-resources related to it.

(see also argoproj#18124, argoproj#20600)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Nov 5, 2024
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so
we add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

This commit to add the gating code is added separately so it will be
easy to either cherry pick that pervious commit or revert this one.

(see also argoproj#18124, argoproj#19988)

Signed-off-by: Matt Finkel <[email protected]>
@andrii-korotkov-verkada
Copy link
Contributor

I think instead of introducing a breaking change we should create a new mechanism for setting permissions for applications themselves only.

Maybe we introduce the new permission terms like update_self or delete_self.

@fffinkel
Copy link
Contributor

fffinkel commented Dec 5, 2024

We're very happy to do that instead. I'll bring it up at the meeting today.

fffinkel added a commit to fffinkel/argo-cd that referenced this issue Jan 7, 2025
…j#20600)

We don't know if this will go out with v3, and furthermore, the name is
not very descriptive.

(see also argoproj#18124, argoproj#19988)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Jan 8, 2025
…oj#19988)

Change applications resource RBAC to use fine-grained update/delete
enforcement by default. This allows us to enforce RBAC on the
application itself, separately from the sub-resources related to it.

(see also argoproj#18124, argoproj#20600)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Jan 8, 2025
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so
we add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

This commit to add the gating code is added separately so it will be
easy to either cherry pick that pervious commit or revert this one.

(see also argoproj#18124, argoproj#19988)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Jan 8, 2025
…j#20600)

We don't know if this will go out with v3, and furthermore, the name is
not very descriptive.

(see also argoproj#18124, argoproj#19988)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Jan 8, 2025
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so we
add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

This commit to add the gating code is added separately so it will be
easy to either cherry pick that pervious commit or revert this one.

(see also argoproj#18124, argoproj#19988)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Jan 8, 2025
…oj#19988)

Change applications resource RBAC to use fine-grained update/delete
enforcement by default. This allows us to enforce RBAC on the
application itself, separately from the sub-resources related to it.

(see also argoproj#18124, argoproj#20600)

Signed-off-by: Matt Finkel <[email protected]>
fffinkel added a commit to fffinkel/argo-cd that referenced this issue Jan 8, 2025
A breaking change was introduced in a previous commit that is planned to
be a part of the next major version of Argo CD (v3) where it's okay to
introduce breaking changes. We want this feature before we hit v3, so we
add a config setting that allows us to explicitly turn this new v3
behavior on in v2. The current v2 behavior is the default, so this
change will not affect folks who do not explicitly opt in.

This commit to add the gating code is added separately so it will be
easy to either cherry pick that pervious commit or revert this one.

(see also argoproj#18124, argoproj#19988)

Signed-off-by: Matt Finkel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:rbac Issues related to Openshift and Racher enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants