Skip to content

Commit 3f502a3

Browse files
committed
Update role and clusterRole permissions
Signed-off-by: chiragkyal <ckyal@redhat.com> Remove resourceNames from role and rolebinding Signed-off-by: chiragkyal <ckyal@redhat.com>
1 parent c4b6625 commit 3f502a3

4 files changed

Lines changed: 15 additions & 93 deletions

File tree

bundle/manifests/external-secrets-operator.clusterserviceversion.yaml

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ metadata:
204204
categories: Security
205205
console.openshift.io/disable-operand-delete: "true"
206206
containerImage: openshift.io/external-secrets-operator:latest
207-
createdAt: "2025-08-19T13:00:56Z"
207+
createdAt: "2025-08-20T13:34:45Z"
208208
features.operators.openshift.io/cnf: "false"
209209
features.operators.openshift.io/cni: "false"
210210
features.operators.openshift.io/csi: "false"
@@ -429,8 +429,6 @@ spec:
429429
resources:
430430
- customresourcedefinitions
431431
verbs:
432-
- create
433-
- delete
434432
- get
435433
- patch
436434
- update
@@ -586,46 +584,11 @@ spec:
586584
- get
587585
- patch
588586
- update
589-
- apiGroups:
590-
- rbac.authorization.k8s.io
591-
resourceNames:
592-
- external-secrets-cert-controller
593-
- external-secrets-controller
594-
resources:
595-
- clusterrolebindings
596-
verbs:
597-
- create
598-
- delete
599-
- get
600-
- patch
601-
- update
602587
- apiGroups:
603588
- rbac.authorization.k8s.io
604589
resources:
605590
- clusterrolebindings
606591
- clusterroles
607-
verbs:
608-
- list
609-
- watch
610-
- apiGroups:
611-
- rbac.authorization.k8s.io
612-
resourceNames:
613-
- external-secrets-cert-controller
614-
- external-secrets-controller
615-
- external-secrets-edit
616-
- external-secrets-servicebindings
617-
- external-secrets-view
618-
resources:
619-
- clusterroles
620-
verbs:
621-
- create
622-
- delete
623-
- get
624-
- patch
625-
- update
626-
- apiGroups:
627-
- rbac.authorization.k8s.io
628-
resources:
629592
- rolebindings
630593
- roles
631594
verbs:

config/rbac/role.yaml

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,6 @@ rules:
9191
resources:
9292
- customresourcedefinitions
9393
verbs:
94-
- create
95-
- delete
9694
- get
9795
- patch
9896
- update
@@ -248,46 +246,11 @@ rules:
248246
- get
249247
- patch
250248
- update
251-
- apiGroups:
252-
- rbac.authorization.k8s.io
253-
resourceNames:
254-
- external-secrets-cert-controller
255-
- external-secrets-controller
256-
resources:
257-
- clusterrolebindings
258-
verbs:
259-
- create
260-
- delete
261-
- get
262-
- patch
263-
- update
264249
- apiGroups:
265250
- rbac.authorization.k8s.io
266251
resources:
267252
- clusterrolebindings
268253
- clusterroles
269-
verbs:
270-
- list
271-
- watch
272-
- apiGroups:
273-
- rbac.authorization.k8s.io
274-
resourceNames:
275-
- external-secrets-cert-controller
276-
- external-secrets-controller
277-
- external-secrets-edit
278-
- external-secrets-servicebindings
279-
- external-secrets-view
280-
resources:
281-
- clusterroles
282-
verbs:
283-
- create
284-
- delete
285-
- get
286-
- patch
287-
- update
288-
- apiGroups:
289-
- rbac.authorization.k8s.io
290-
resources:
291254
- rolebindings
292255
- roles
293256
verbs:

hack/validate-rbac-resourcenames.sh

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,6 @@ validate_deployments() {
109109
validate_resource_type "Deployments" "deployments" "Deployment" "extract_asset_names"
110110
}
111111

112-
validate_clusterroles() {
113-
validate_resource_type "ClusterRoles" "clusterroles" "ClusterRole" "extract_asset_names"
114-
}
115-
116-
validate_clusterrolebindings() {
117-
validate_resource_type "ClusterRoleBindings" "clusterrolebindings" "ClusterRoleBinding" "extract_asset_names"
118-
}
119-
120112
validate_webhooks() {
121113
validate_resource_type "ValidatingWebhookConfigurations" "validatingwebhookconfigurations" "ValidatingWebhookConfiguration" "extract_asset_names"
122114
}
@@ -125,6 +117,14 @@ validate_crds() {
125117
validate_resource_type "CustomResourceDefinitions" "customresourcedefinitions" "" "extract_crd_names"
126118
}
127119

120+
validate_roles() {
121+
validate_resource_type "Roles" "roles" "Role" "extract_asset_names"
122+
}
123+
124+
validate_rolebindings() {
125+
validate_resource_type "RoleBindings" "rolebindings" "RoleBinding" "extract_asset_names"
126+
}
127+
128128
main() {
129129
local exit_code=0
130130

@@ -133,14 +133,14 @@ main() {
133133

134134
validate_deployments || exit_code=1
135135
echo
136-
validate_clusterroles || exit_code=1
137-
echo
138-
validate_clusterrolebindings || exit_code=1
139-
echo
140136
validate_webhooks || exit_code=1
141137
echo
142138
validate_crds || exit_code=1
143139
echo
140+
validate_roles || exit_code=1
141+
echo
142+
validate_rolebindings || exit_code=1
143+
echo
144144

145145
if [[ $exit_code -eq 0 ]]; then
146146
echo "All RBAC resourceNames validations passed!"

pkg/controller/external_secrets/controller.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,7 @@ type Reconciler struct {
9696
// +kubebuilder:rbac:groups=operator.openshift.io,resources=externalsecrets/finalizers,verbs=update
9797
// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;watch;create;update;patch
9898

99-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles,verbs=list;watch
100-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterroles,verbs=get;create;update;patch;delete,resourceNames=external-secrets-controller;external-secrets-cert-controller;external-secrets-edit;external-secrets-view;external-secrets-servicebindings
101-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterrolebindings,verbs=list;watch
102-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=clusterrolebindings,verbs=get;create;update;patch;delete,resourceNames=external-secrets-controller;external-secrets-cert-controller
103-
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles;rolebindings,verbs=get;list;watch;create;update;patch;delete
99+
// +kubebuilder:rbac:groups=rbac.authorization.k8s.io,resources=roles;rolebindings;clusterroles;clusterrolebindings,verbs=get;list;watch;create;update;patch;delete
104100
// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=validatingwebhookconfigurations,verbs=list;watch
105101
// +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=validatingwebhookconfigurations,verbs=get;create;update;patch,resourceNames=externalsecret-validate;secretstore-validate
106102
// +kubebuilder:rbac:groups="",resources=events;secrets;services;serviceaccounts,verbs=get;list;watch;create;update;delete;patch
@@ -113,7 +109,7 @@ type Reconciler struct {
113109
// +kubebuilder:rbac:groups="",resources=serviceaccounts/token,verbs=create
114110
// +kubebuilder:rbac:groups="",resources=configmaps,verbs=get;list;watch;create;update;patch;delete
115111
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=list;watch
116-
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;create;update;patch;delete,resourceNames=externalsecrets.external-secrets.io;secretstores.external-secrets.io;clustersecretstores.external-secrets.io;clusterexternalsecrets.external-secrets.io;pushsecrets.external-secrets.io;clusterpushsecrets.external-secrets.io;acraccesstokens.generators.external-secrets.io;clustergenerators.generators.external-secrets.io;ecrauthorizationtokens.generators.external-secrets.io;gcraccesstokens.generators.external-secrets.io;generatorstates.generators.external-secrets.io;githubaccesstokens.generators.external-secrets.io;grafanas.generators.external-secrets.io;mfas.generators.external-secrets.io;passwords.generators.external-secrets.io;quayaccesstokens.generators.external-secrets.io;sshkeys.generators.external-secrets.io;stssessiontokens.generators.external-secrets.io;uuids.generators.external-secrets.io;vaultdynamicsecrets.generators.external-secrets.io;webhooks.generators.external-secrets.io;externalsecrets.operator.openshift.io;externalsecretsmanagers.operator.openshift.io
112+
// +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;update;patch,resourceNames=externalsecrets.external-secrets.io;secretstores.external-secrets.io;clustersecretstores.external-secrets.io;clusterexternalsecrets.external-secrets.io;pushsecrets.external-secrets.io;clusterpushsecrets.external-secrets.io;acraccesstokens.generators.external-secrets.io;clustergenerators.generators.external-secrets.io;ecrauthorizationtokens.generators.external-secrets.io;gcraccesstokens.generators.external-secrets.io;generatorstates.generators.external-secrets.io;githubaccesstokens.generators.external-secrets.io;grafanas.generators.external-secrets.io;mfas.generators.external-secrets.io;passwords.generators.external-secrets.io;quayaccesstokens.generators.external-secrets.io;sshkeys.generators.external-secrets.io;stssessiontokens.generators.external-secrets.io;uuids.generators.external-secrets.io;vaultdynamicsecrets.generators.external-secrets.io;webhooks.generators.external-secrets.io;externalsecrets.operator.openshift.io;externalsecretsmanagers.operator.openshift.io
117113
// +kubebuilder:rbac:groups=external-secrets.io,resources=clusterexternalsecrets;clustersecretstores;clusterpushsecrets;externalsecrets;secretstores;pushsecrets,verbs=get;list;watch;create;update;patch;delete;deletecollection
118114
// +kubebuilder:rbac:groups=external-secrets.io,resources=clusterexternalsecrets/finalizers;clustersecretstores/finalizers;externalsecrets/finalizers;pushsecrets/finalizers;secretstores/finalizers;clusterpushsecrets/finalizers,verbs=get;update;patch
119115
// +kubebuilder:rbac:groups=external-secrets.io,resources=clusterexternalsecrets/status;clustersecretstores/status;externalsecrets/status;pushsecrets/status;secretstores/status;clusterpushsecrets/status,verbs=get;update;patch

0 commit comments

Comments
 (0)