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

Agents should check if requested resource from resource proxy belongs to a managed Application #291

Open
jannfis opened this issue Feb 5, 2025 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@jannfis
Copy link
Collaborator

jannfis commented Feb 5, 2025

Is your feature request related to a problem? Please describe.

Right now, the resource proxy can request any resource on the agent systems that the agent has RBAC permissions for. Authorization is done solely by the Argo CD API running on the principal, and the subsequent requests trust this request. As of now, there is no sensible way to carry this authorization to the agent.

Describe the solution you'd like

When the agent receives a request for resource retrieval, it should check whether that resource belongs to an Application managed by Argo CD. Since some resources are not directly managed (for example, pods are indirectly managed through a ReplicaSet, which in turn is usually indirectly managed by something like a Deployment or StatefulSet), the agent should be able to resolve such a relationship (i.e. by following ownerReferences).

If the requested resource is not managed by Argo CD, a 403 should be returned.

In a next step, a sanity check against AppProject permissions can be performed.

Describe alternatives you've considered
n/a

Additional context
n/a

@jannfis jannfis added the enhancement New feature or request label Feb 5, 2025
@jannfis jannfis added this to the v0.2.0 milestone Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant