Skip to content

Commit 63c40fb

Browse files
authored
Merge pull request #57 from Vedant-Deshpande/RHAIENG-3476-Audit-RBAC-Controller
Audit RBAC for Spark Operator controller
2 parents e7bddea + 1b9fca9 commit 63c40fb

File tree

3 files changed

+25
-125
lines changed

3 files changed

+25
-125
lines changed

config/rbac/clusterrole.yaml

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,44 @@ metadata:
88
app.kubernetes.io/instance: spark-operator
99
app.kubernetes.io/component: controller
1010
rules:
11-
# Core resources
11+
# Core resources - verbs are tailored per resource to follow least privilege
1212
- apiGroups: [""]
13-
resources:
14-
- pods
15-
- configmaps
16-
- services
17-
- persistentvolumeclaims
18-
verbs: [create, delete, deletecollection, get, list, patch, update, watch]
13+
resources: [pods]
14+
verbs: [create, delete, get, list, update, watch]
1915
- apiGroups: [""]
20-
resources: [events]
21-
verbs: [create, patch, update]
16+
resources: [configmaps]
17+
verbs: [create, get, list, patch, update, watch]
2218
- apiGroups: [""]
23-
resources: [nodes]
24-
verbs: [get]
19+
resources: [services]
20+
verbs: [create, delete, get, list, patch, update, watch]
2521
- apiGroups: [""]
26-
resources: [resourcequotas]
27-
verbs: [get, list, watch]
22+
resources: [persistentvolumeclaims]
23+
verbs: [list, watch]
24+
- apiGroups: [""]
25+
resources: [events]
26+
verbs: [create, patch, update]
2827
# CRDs
28+
# Used for the optional Volcano scheduler
2929
- apiGroups: [apiextensions.k8s.io]
3030
resources: [customresourcedefinitions]
3131
verbs: [get]
3232
# Ingresses
3333
- apiGroups: [extensions, networking.k8s.io]
3434
resources: [ingresses]
35-
verbs: [create, delete, get, list, update, watch]
35+
verbs: [create, delete, get, update]
3636
# SparkApplication CRDs
3737
- apiGroups: [sparkoperator.k8s.io]
38-
resources: [sparkapplications, scheduledsparkapplications, sparkconnects]
39-
verbs: [create, delete, get, list, patch, update, watch]
38+
resources: [sparkapplications]
39+
verbs: [create, delete, get, list, watch]
40+
- apiGroups: [sparkoperator.k8s.io]
41+
resources: [scheduledsparkapplications]
42+
verbs: [get, list, watch]
43+
- apiGroups: [sparkoperator.k8s.io]
44+
resources: [sparkconnects]
45+
verbs: [get, list, watch]
4046
- apiGroups: [sparkoperator.k8s.io]
41-
resources: [sparkapplications/finalizers, scheduledsparkapplications/finalizers, sparkconnects/finalizers]
47+
resources: [sparkapplications/finalizers]
4248
verbs: [update]
4349
- apiGroups: [sparkoperator.k8s.io]
4450
resources: [sparkapplications/status, scheduledsparkapplications/status, sparkconnects/status]
45-
verbs: [get, patch, update]
51+
verbs: [update]

config/rbac/leader-election-role.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,4 @@ metadata:
1111
rules:
1212
- apiGroups: [coordination.k8s.io]
1313
resources: [leases]
14-
verbs: [create, delete, get, list, patch, update, watch]
15-
- apiGroups: [""]
16-
resources: [events]
17-
verbs: [create, patch, update]
18-
- apiGroups: [""]
19-
resources: [configmaps]
20-
verbs: [create, delete, get, list, patch, update, watch]
14+
verbs: [create, get, update]

config/rbac/role.yaml

Lines changed: 0 additions & 100 deletions
This file was deleted.

0 commit comments

Comments
 (0)