Skip to content

Commit 9caf5c6

Browse files
committed
[OSPRH-22222] Apply least privilege to RBAC permissions
Reduce RBAC permissions to only those actually used by the operator code, following the principle of least privilege.
1 parent d8cd584 commit 9caf5c6

2 files changed

Lines changed: 40 additions & 38 deletions

File tree

config/rbac/role.yaml

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,6 @@ kind: ClusterRole
44
metadata:
55
name: manager-role
66
rules:
7-
- apiGroups:
8-
- ""
9-
resources:
10-
- pods
11-
verbs:
12-
- create
13-
- delete
14-
- get
15-
- list
16-
- patch
17-
- update
18-
- watch
19-
- apiGroups:
20-
- ""
21-
resources:
22-
- pods/log
23-
verbs:
24-
- get
25-
- apiGroups:
26-
- batch
27-
resources:
28-
- jobs
29-
verbs:
30-
- create
31-
- delete
32-
- get
33-
- list
34-
- patch
35-
- update
36-
- watch
377
- apiGroups:
388
- lightspeed.openstack.org
399
resources:
@@ -99,21 +69,53 @@ apiVersion: rbac.authorization.k8s.io/v1
9969
kind: Role
10070
metadata:
10171
name: manager-role
102-
namespace: openstack-lightspeed
72+
namespace: openshift-lightspeed
10373
rules:
74+
- apiGroups:
75+
- ""
76+
resources:
77+
- pods
78+
verbs:
79+
- get
80+
- list
81+
- watch
82+
- apiGroups:
83+
- ""
84+
resources:
85+
- pods/log
86+
verbs:
87+
- get
88+
- apiGroups:
89+
- batch
90+
resources:
91+
- jobs
92+
verbs:
93+
- create
94+
- delete
95+
- get
96+
- list
97+
- watch
10498
- apiGroups:
10599
- operators.coreos.com
106100
resources:
107101
- clusterserviceversions
108102
verbs:
109-
- create
110103
- delete
111104
- patch
112105
- update
113106
- apiGroups:
114107
- operators.coreos.com
115108
resources:
116109
- installplans
110+
verbs:
111+
- delete
112+
- get
113+
- list
114+
- update
115+
- watch
116+
- apiGroups:
117+
- operators.coreos.com
118+
resources:
117119
- subscriptions
118120
verbs:
119121
- create

internal/controller/openstacklightspeed_controller.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ func (r *OpenStackLightspeedReconciler) GetLogger(ctx context.Context) logr.Logg
6060
// +kubebuilder:rbac:groups=ols.openshift.io,resources=olsconfigs/status,verbs=get;update;patch
6161
// +kubebuilder:rbac:groups=ols.openshift.io,resources=olsconfigs/finalizers,verbs=update
6262
// +kubebuilder:rbac:groups=operators.coreos.com,resources=clusterserviceversions,verbs=get;list;watch
63-
// +kubebuilder:rbac:groups=operators.coreos.com,resources=clusterserviceversions,namespace=openstack-lightspeed,verbs=create;update;patch;delete
64-
// +kubebuilder:rbac:groups=operators.coreos.com,resources=subscriptions,namespace=openstack-lightspeed,verbs=get;list;watch;create;update;patch;delete
65-
// +kubebuilder:rbac:groups=operators.coreos.com,resources=installplans,namespace=openstack-lightspeed,verbs=get;list;watch;create;update;patch;delete
66-
// +kubebuilder:rbac:groups=batch,resources=jobs,verbs=get;list;watch;create;update;patch;delete
67-
// +kubebuilder:rbac:groups="",resources=pods,verbs=create;delete;get;list;patch;update;watch
68-
// +kubebuilder:rbac:groups="",resources=pods/log,verbs=get
63+
// +kubebuilder:rbac:groups=operators.coreos.com,resources=clusterserviceversions,namespace=openshift-lightspeed,verbs=update;patch;delete
64+
// +kubebuilder:rbac:groups=operators.coreos.com,resources=subscriptions,namespace=openshift-lightspeed,verbs=get;list;watch;create;update;patch;delete
65+
// +kubebuilder:rbac:groups=operators.coreos.com,resources=installplans,namespace=openshift-lightspeed,verbs=get;list;watch;update;delete
66+
// +kubebuilder:rbac:groups=batch,resources=jobs,namespace=openshift-lightspeed,verbs=get;list;watch;create;delete
67+
// +kubebuilder:rbac:groups="",resources=pods,namespace=openshift-lightspeed,verbs=get;list;watch
68+
// +kubebuilder:rbac:groups="",resources=pods/log,namespace=openshift-lightspeed,verbs=get
6969

7070
// Reconcile is part of the main kubernetes reconciliation loop which aims to
7171
// move the current state of the cluster closer to the desired state.

0 commit comments

Comments
 (0)