Reduce submariner-operator RBAC permissions

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
This commit is contained in:
Tom Pantelis
2024-05-07 10:48:40 -04:00
committed by Daniel Farrell
parent 3b86e6d331
commit ca3fa92e6e
+89 -70
View File
@@ -9,62 +9,77 @@ metadata:
chart: {{ template "submariner.chart" . }} chart: {{ template "submariner.chart" . }}
app: {{ template "submariner.name" . }} app: {{ template "submariner.name" . }}
rules: rules:
- apiGroups: - apiGroups:
- "" - ""
resources: resources:
- pods # For metrics
- services - services
- services/finalizers verbs:
- endpoints - get
- persistentvolumeclaims - create
- events - update
- configmaps - apiGroups:
- secrets - ""
verbs: resources:
- '*' # Temporarily needed for network-plugin syncer removal
- apiGroups: - serviceaccounts
- apps resourceNames:
resources: - submariner-networkplugin-syncer
- deployments verbs:
- daemonsets - delete
- replicasets - apiGroups:
- statefulsets - apps
verbs: resources:
- '*' - deployments
- apiGroups: - daemonsets
- monitoring.coreos.com verbs:
resources: - create
- servicemonitors - delete
verbs: - get
- get - list
- create - patch
- apiGroups: - update
- apps - watch
resourceNames: - apiGroups:
- {{ template "submariner.fullname" . }} - monitoring.coreos.com
resources: resources:
- deployments/finalizers # Needed for openshift monitoring
verbs: - servicemonitors
- update verbs:
- apiGroups: - get
- "" - create
resources: - apiGroups:
- pods - apps
verbs: resourceNames:
- get - {{ template "submariner.fullname" . }}
- apiGroups: resources:
- apps - deployments/finalizers
resources: verbs:
- replicasets - update
verbs: - apiGroups:
- get - submariner.io
- apiGroups: resources:
- submariner.io - brokers
resources: - brokers/status
- '*' - submariners
- servicediscoveries - submariners/status
verbs: - servicediscoveries
- '*' - servicediscoveries/status
verbs:
- get
- list
- watch
- create
- update
- delete
- apiGroups:
- submariner.io
resources:
- gateways
verbs:
- get
- list
- watch
--- ---
kind: RoleBinding kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
@@ -435,9 +450,10 @@ rules:
- update - update
- delete - delete
- watch - watch
- apiGroups: # pods, services and nodes are looked up to figure out network settings - apiGroups:
- "" - ""
resources: resources:
# Needed for network settings discovery
- pods - pods
- services - services
- nodes - nodes
@@ -451,27 +467,20 @@ rules:
- dnses - dnses
verbs: verbs:
- get - get
- list
- watch
- update - update
- apiGroups: - apiGroups:
- config.openshift.io - config.openshift.io
resources: resources:
# Needed for network settings discovery
- networks - networks
resourceNames:
- cluster
verbs: verbs:
- get - get
- list
- apiGroups:
- ""
resources:
- namespaces
verbs:
- get
- list
- watch
- apiGroups: - apiGroups:
- monitoring.coreos.com - monitoring.coreos.com
resources: resources:
# Needed for openshift monitoring
- servicemonitors - servicemonitors
verbs: verbs:
- get - get
@@ -479,11 +488,21 @@ rules:
- apiGroups: - apiGroups:
- apps - apps
resources: resources:
# Needed for Flannel CNI discovery
- daemonsets - daemonsets
verbs: verbs:
- get
- list - list
- watch - apiGroups:
- rbac.authorization.k8s.io
resources:
# Temporarily needed for network-plugin syncer removal
- clusterroles
- clusterrolebindings
resourceNames:
- ocp-submariner-networkplugin-syncer
- submariner-networkplugin-syncer
verbs:
- delete
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding