From ede6a5446cf4a2d93e1d1a773b11a190d2698dcf Mon Sep 17 00:00:00 2001 From: "liheng.zms" Date: Wed, 20 Dec 2023 10:52:14 +0800 Subject: [PATCH] limit secret & configmaps namespace rbac Signed-off-by: liheng.zms --- config/rbac/role.yaml | 49 ++++++++++++-------- config/rbac/role_binding.yaml | 14 ++++++ pkg/controller/rollout/rollout_controller.go | 2 +- pkg/webhook/server.go | 2 +- 4 files changed, 45 insertions(+), 22 deletions(-) diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 085e944..6e05b24 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -162,14 +162,6 @@ rules: - get - patch - update -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - apiGroups: - "" resources: @@ -196,18 +188,6 @@ rules: - get - patch - update -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - apiGroups: - "" resources: @@ -376,3 +356,32 @@ rules: - get - patch - update + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + creationTimestamp: null + name: manager-role + namespace: system +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch +- apiGroups: + - "" + resources: + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch diff --git a/config/rbac/role_binding.yaml b/config/rbac/role_binding.yaml index 2070ede..40a12a0 100644 --- a/config/rbac/role_binding.yaml +++ b/config/rbac/role_binding.yaml @@ -10,3 +10,17 @@ subjects: - kind: ServiceAccount name: controller-manager namespace: system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: manager-rolebinding + namespace: system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: manager-rolebinding +subjects: +- kind: ServiceAccount + name: controller-manager + namespace: system diff --git a/pkg/controller/rollout/rollout_controller.go b/pkg/controller/rollout/rollout_controller.go index a1fe560..a4bd504 100755 --- a/pkg/controller/rollout/rollout_controller.go +++ b/pkg/controller/rollout/rollout_controller.go @@ -80,7 +80,7 @@ type RolloutReconciler struct { //+kubebuilder:rbac:groups=networking.k8s.io,resources=ingresses/status,verbs=get;update;patch //+kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=httproutes,verbs=get;list;watch;create;update;patch;delete //+kubebuilder:rbac:groups=gateway.networking.k8s.io,resources=httproutes/status,verbs=get;update;patch -//+kubebuilder:rbac:groups=core,resources=configmaps,verbs=get;list;watch +//+kubebuilder:rbac:groups=core,resources=configmaps,verbs=get;list;watch,namespace=system // +kubebuilder:rbac:groups=apps.kruise.io,resources=daemonsets,verbs=get;list;watch;update;patch // +kubebuilder:rbac:groups=apps.kruise.io,resources=daemonsets/status,verbs=get;update;patch //+kubebuilder:rbac:groups=networking.istio.io,resources=virtualservices;destinationrules,verbs=get;list;watch;update;patch diff --git a/pkg/webhook/server.go b/pkg/webhook/server.go index 1d453be..3a9c9e1 100644 --- a/pkg/webhook/server.go +++ b/pkg/webhook/server.go @@ -101,7 +101,7 @@ func SetupWithManager(mgr manager.Manager) error { return nil } -// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=core,resources=secrets,verbs=get;list;watch;create;update;patch;delete,namespace=system // +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=mutatingwebhookconfigurations,verbs=get;list;watch;update;patch // +kubebuilder:rbac:groups=admissionregistration.k8s.io,resources=validatingwebhookconfigurations,verbs=get;list;watch;update;patch // +kubebuilder:rbac:groups=apiextensions.k8s.io,resources=customresourcedefinitions,verbs=get;list;watch;update;patch