Commit a6027b8
committed
Use ServiceAccount impersonation instead of token-based auth
Replace token-based ServiceAccount authentication with Kubernetes
impersonation. This eliminates the need for ServiceAccount resources
to exist in the cluster and improves security posture.
Changes:
- Replace TokenGetter/TokenInjectingRoundTripper with impersonation
- Remove SyntheticPermissions feature gate and synthetic auth code
- Update operator-controller to always use cluster-admin permissions
(previously conditional on BoxcutterRuntime feature gate)
- Update ClusterRole to grant full cluster-admin permissions instead
of limited subset
Security benefits:
- ServiceAccount resources no longer need to exist in the cluster
- Eliminates risk of highly-privileged ServiceAccounts being mounted
by unintended or malicious pods in the same namespace
- OLM impersonates the ServiceAccount name and is subject to RBAC
permissions without requiring actual ServiceAccount credentials
Documentation updates:
- Update derive-service-account.md to explain impersonation and
recommend NOT creating ServiceAccount resources
- Update install-extension.md tutorial with security warnings
- Remove ServiceAccount resource from sample YAML
- Update API type definitions to remove "must exist" requirements
- Regenerate CRDs and API reference docs
Existing ClusterExtensions continue to work unchanged - the API is the
same, and RBAC that was previously configured will continue to work
exactly as before. Users can safely delete installer ServiceAccount
resources after upgrading to this version of operator-controller.1 parent c06f27f commit a6027b8
File tree
26 files changed
+140
-933
lines changed- api/v1
- cmd/operator-controller
- config/samples
- docs
- api-reference
- draft/howto
- howto
- tutorials
- hack/demo
- helm/olmv1
- base/operator-controller/crd
- experimental
- standard
- templates/rbac
- internal/operator-controller
- action
- authentication
- controllers
- features
- manifests
26 files changed
+140
-933
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
| 52 | + | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
73 | | - | |
| 72 | + | |
74 | 73 | | |
75 | 74 | | |
76 | 75 | | |
| |||
374 | 373 | | |
375 | 374 | | |
376 | 375 | | |
377 | | - | |
| 376 | + | |
378 | 377 | | |
379 | 378 | | |
380 | 379 | | |
381 | 380 | | |
382 | 381 | | |
383 | | - | |
384 | | - | |
385 | 382 | | |
386 | 383 | | |
387 | 384 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
67 | 66 | | |
68 | 67 | | |
69 | 68 | | |
| |||
645 | 644 | | |
646 | 645 | | |
647 | 646 | | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
| 647 | + | |
653 | 648 | | |
654 | 649 | | |
655 | 650 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
339 | 339 | | |
340 | 340 | | |
341 | 341 | | |
342 | | - | |
343 | | - | |
| 342 | + | |
| 343 | + | |
344 | 344 | | |
345 | 345 | | |
346 | 346 | | |
| |||
439 | 439 | | |
440 | 440 | | |
441 | 441 | | |
442 | | - | |
| 442 | + | |
443 | 443 | | |
444 | 444 | | |
445 | 445 | | |
| |||
448 | 448 | | |
449 | 449 | | |
450 | 450 | | |
451 | | - | |
| 451 | + | |
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
5 | 8 | | |
6 | 9 | | |
7 | 10 | | |
| |||
252 | 255 | | |
253 | 256 | | |
254 | 257 | | |
255 | | - | |
| 258 | + | |
256 | 259 | | |
257 | 260 | | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
258 | 264 | | |
259 | 265 | | |
260 | 266 | | |
| |||
300 | 306 | | |
301 | 307 | | |
302 | 308 | | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
309 | 317 | | |
310 | 318 | | |
311 | 319 | | |
| |||
324 | 332 | | |
325 | 333 | | |
326 | 334 | | |
327 | | - | |
| 335 | + | |
328 | 336 | | |
329 | 337 | | |
330 | 338 | | |
| |||
349 | 357 | | |
350 | 358 | | |
351 | 359 | | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
352 | 363 | | |
353 | 364 | | |
354 | 365 | | |
| |||
0 commit comments