Use the escalate verb for clusterroleaggregator rather than cluster-admin permissions

This commit is contained in:
Jordan Liggitt 2019-08-08 17:59:12 -04:00
parent f4e39afea0
commit 8b155e82d8
2 changed files with 10 additions and 10 deletions

View File

@ -85,9 +85,8 @@ func buildControllerRoles() ([]rbacv1.ClusterRole, []rbacv1.ClusterRoleBinding)
addControllerRole(&controllerRoles, &controllerRoleBindings, rbacv1.ClusterRole{
ObjectMeta: metav1.ObjectMeta{Name: saRolePrefix + "clusterrole-aggregation-controller"},
Rules: []rbacv1.PolicyRule{
// this controller must have full permissions to allow it to mutate any role in any way
rbacv1helpers.NewRule("*").Groups("*").Resources("*").RuleOrDie(),
rbacv1helpers.NewRule("*").URLs("*").RuleOrDie(),
// this controller must have full permissions on clusterroles to allow it to mutate them in any way
rbacv1helpers.NewRule("escalate", "get", "list", "watch", "update", "patch").Groups(rbacGroup).Resources("clusterroles").RuleOrDie(),
},
})
addControllerRole(&controllerRoles, &controllerRoleBindings, rbacv1.ClusterRole{

View File

@ -119,15 +119,16 @@ items:
name: system:controller:clusterrole-aggregation-controller
rules:
- apiGroups:
- '*'
- rbac.authorization.k8s.io
resources:
- '*'
- clusterroles
verbs:
- '*'
- nonResourceURLs:
- '*'
verbs:
- '*'
- escalate
- get
- list
- patch
- update
- watch
- apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata: