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

Remove the RBAC namespace controller #5657

Merged
merged 1 commit into from
May 8, 2024
Merged

Conversation

negz
Copy link
Member

@negz negz commented May 8, 2024

Description of your changes

Fixes #5227

I'm confident no-one uses this controller. It's been disabled by default since Crossplane v1.13, and since v1.15 anyone who tries to enable it would get an error linking to the deprecation tracking issue (#5260). No-one has raised any concerns about removing it.

I have:

Need help with this checklist? See the cheat sheet.

I'm confident no-one uses this controller. It's been disabled by default
since Crossplane v1.13, and since v1.15 anyone who tries to enable it
would get an error linking to the deprecation tracking issue. No-one has
raised any concerns about removing it.

Signed-off-by: Nic Cope <nicc@rk0n.org>
@negz negz added this to the v1.17 milestone May 8, 2024
@negz negz requested a review from a team as a code owner May 8, 2024 06:47
@negz negz requested a review from phisco May 8, 2024 06:47
Copy link
Contributor

@phisco phisco left a comment

Choose a reason for hiding this comment

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

LGTM 🙏

@negz negz merged commit ed8cfda into crossplane:master May 8, 2024
16 of 17 checks passed
@negz negz deleted the all-gone branch May 8, 2024 17:18
@jeremypng
Copy link

jeremypng commented Sep 4, 2024

I guess the ship has probably sailed on this one, but we are using option 4 from #4043 to control accepting claims in a particular namespace.

We create an Azure User Assigned Identity->Federated Identity->AKS Service Account that has the namespaced rolebinding of crossplane-admin and then use the namespace annotations to control what claims are allowed to be managed in that namespace by that user.

The feature actually works really well and allows our web app to securely manage Azure infrastructure without having carte blanche access to the crossplane API or the Azure API. So in theory, if our webapp was compromised, the bad actors would only have access to the predetermined claim definitions in Azure (bad enough, but not enough to take over the subscription).

@negz
Copy link
Member Author

negz commented Sep 5, 2024

@jeremypng Yes unfortunately the ship has sailed. From what I can gather you may have been the only folks using this feature. Sorry!

FWIW I think this controller was pretty self-contained, so if you're up for maintaining it it should be relatively straightforward to take the code that was deleted in this PR and package it up as a standalone controller that can be deployed alongside Crossplane. I'd be happy for that to live in crossplane-contrib if anyone is interested in maintaining it.

@jeremypng
Copy link

I think it would be easier for us to just create a role for our Crossplane claims and apply that rolebinding to the user instead of the crossplane-admin role. We're not in a position to take on ownership of that code. At the end of the day, I guess the RBAC controller was just a convenience method. As much YAML as we have, what's a few hundred more lines... Thanks for the response.

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

Successfully merging this pull request may close these issues.

Remove the All RBAC manager mode
3 participants