Commit 96ff1e0
committed
fix: Remove permissions that don't exist
We're using ArgoCD Service Account Impersonation to deploy. This relies on [Privilege escalation prevention](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#privilege-escalation-prevention-and-bootstrapping)
Currently I'm getting errors like:
```
clusterroles.rbac.authorization.k8s.io "shield-cluster" is forbidden: user "system:serviceaccount:security-system:argocd-deployer" (groups=["system:serviceaccounts" "system:serviceaccounts:security-system" "system:authenticated"]) is attempting to grant RBAC permissions not currently held:
{APIGroups:[""], Resources:["clusterrolebindings"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["clusterroles"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["clusterversions"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["controllerrevisions"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["cronjobs"], Verbs:["get" "list" "watch" "get" "list" "watch"]}
{APIGroups:[""], Resources:["daemonsets"], Verbs:["get" "list" "watch" "get" "list" "watch"]}
{APIGroups:[""], Resources:["deployments"], Verbs:["get" "list" "watch" "get" "list" "watch"]}
{APIGroups:[""], Resources:["horizontalpodautoscalers"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["ingressclasses"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["ingresses"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["jobs"], Verbs:["get" "list" "watch" "get" "list" "watch"]}
{APIGroups:[""], Resources:["networkpolicies"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["pods"], Verbs:["delete"]}
{APIGroups:[""], Resources:["podsecuritypolicies"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["replicasets"], Verbs:["get" "list" "watch" "get" "list" "watch"]}
{APIGroups:[""], Resources:["rolebindings"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["roles"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["secrets"], Verbs:["get" "list" "watch" "get" "list" "watch" "get" "get" "list" "watch"]}
{APIGroups:[""], Resources:["statefulsets"], Verbs:["get" "list" "watch" "get" "list" "watch"]}
{APIGroups:[""], Resources:["storageclasses"], Verbs:["get" "list" "watch"]}
{APIGroups:[""], Resources:["volumeattachments"], Verbs:["get" "list" "watch"]}
...many more
```
This appears to be because the ClusterRoles are misconfigured to reference lots of permissions that do not actually exist.
This PR cleans those up by using the correct api groups to reference them.
In addition it removes some "*" grants, as per least-privilege best practice.1 parent 3a073f1 commit 96ff1e0
2 files changed
Lines changed: 141 additions & 44 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | 41 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | 42 | | |
50 | 43 | | |
51 | 44 | | |
52 | | - | |
53 | 45 | | |
54 | 46 | | |
55 | | - | |
56 | 47 | | |
57 | 48 | | |
58 | 49 | | |
59 | 50 | | |
60 | | - | |
61 | | - | |
62 | 51 | | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | 52 | | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | 53 | | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | 54 | | |
| 55 | + | |
| 56 | + | |
79 | 57 | | |
80 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
81 | 65 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
93 | 83 | | |
94 | 84 | | |
95 | 85 | | |
96 | | - | |
| 86 | + | |
| 87 | + | |
97 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
98 | 92 | | |
99 | 93 | | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
100 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
101 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
102 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
103 | 178 | | |
104 | 179 | | |
105 | | - | |
106 | | - | |
107 | 180 | | |
108 | 181 | | |
109 | 182 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
21 | 29 | | |
22 | 30 | | |
23 | 31 | | |
| |||
29 | 37 | | |
30 | 38 | | |
31 | 39 | | |
32 | | - | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
33 | 49 | | |
34 | 50 | | |
35 | 51 | | |
36 | 52 | | |
37 | | - | |
| 53 | + | |
38 | 54 | | |
39 | 55 | | |
40 | 56 | | |
41 | | - | |
| 57 | + | |
42 | 58 | | |
43 | 59 | | |
44 | 60 | | |
45 | 61 | | |
46 | 62 | | |
47 | 63 | | |
48 | | - | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
49 | 73 | | |
50 | 74 | | |
0 commit comments