Back to results for “RBAC”
ArgoCD › RBAC

How do you grant fine-grained permissions like sync but not delete?

Advanced

Answer

List only the allowed actions in policy lines, omitting others (default deny). For example allow get and sync but not delete or override. Because ArgoCD RBAC is deny-by-default, granting sync without a delete rule means the user can trigger syncs but cannot delete the application.
p, role:operator, applications, get, '*/*', allow
p, role:operator, applications, sync, '*/*', allow
# no delete rule -> delete denied
Real-world example On-call operators can sync any app to recover from drift but cannot delete apps, limiting accidental damage.

Common follow-ups: Is ArgoCD RBAC deny-by-default? | How do you allow sync but block delete?