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

Add rbac on plugins #21177

Open
slim-azaiz opened this issue Dec 14, 2024 · 5 comments
Open

Add rbac on plugins #21177

slim-azaiz opened this issue Dec 14, 2024 · 5 comments
Labels
component:cmp Config Management Plugin related issues component:multi-tenancy Features related to app projects enhancement New feature or request more-information-needed Further information is requested

Comments

@slim-azaiz
Copy link

Summary

Add rbac on plugins would resolve argocd multitenancy if we are using argo vault plugin

Proposal

How do you think this should be implemented?

    - p, proj:devteam-b:admin, plugin: plugin b, use, devteam-b/*, allow

This policy specifies that the devteam-b project administrators (proj:devteam-b:admin) are allowed to use the plugin-b plugin within the scope of resources under devteam-b/*. This way, only users or services within the devteam-b project can access and use the plugin for their resources, ensuring proper multitenancy.

@slim-azaiz slim-azaiz added the enhancement New feature or request label Dec 14, 2024
@andrii-korotkov-verkada andrii-korotkov-verkada added the component:rbac Issues related to Openshift and Racher label Dec 22, 2024
@andrii-korotkov-verkada
Copy link
Contributor

What's the exact semantic? Is it using plugins at all for everything, or would it be restricted to specific applications? Would it be even possible to define a generic system for all kinds of plugins?

@andrii-korotkov-verkada andrii-korotkov-verkada added the more-information-needed Further information is requested label Dec 22, 2024
@agaudreault
Copy link
Member

resolve argocd multitenancy if we are using argo vault plugin

@slim-azaiz Can you add the motivation to this issue? What are the current problems your are facing that you want to resolve? How is this plugin used?

This seems like a reasonable request, but I don't understand the necessity.

@slim-azaiz
Copy link
Author

With the actual version of argo vault plugin we can not ensure multi tenancy if we have one shared argocd instance because there is no rbac on plugins and we can not guarantee that teamA can not use teamB plugin as plugins are global for the actual version not scoped by namespace

@agaudreault agaudreault added component:multi-tenancy Features related to app projects component:cmp Config Management Plugin related issues and removed component:rbac Issues related to Openshift and Racher labels Jan 23, 2025
@agaudreault
Copy link
Member

Actually, this should not be related to RBAC then, because it is the application itself that is using the plugin, not the users.

The access control mechanisms for an Application are defined in the AppProject. So this would be an additional configuration in the AppProject that can explicitly allow or deny tools to be used as source.

Since we are trying to move away from rendering secret in plugins, I don't think the "argo vault plugin" use case would be enough to implement that feature. And perhaps the tenancy mechanisms should be implemented within the plugin.

But there might be other use cases to have rendering tools restricted to some applications, so I think we can leave this issue open for some time to collect potential use cases.

@crenshaw-dev
Copy link
Member

I think the addition of the ARGOCD_PROJECT_NAME to the build environment might make it easier to implement tenancy at the plugin level: #21586

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:cmp Config Management Plugin related issues component:multi-tenancy Features related to app projects enhancement New feature or request more-information-needed Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants