Как сделать Rolebinding of PodSecurityPolicy с группой? - PullRequest
0 голосов
/ 25 апреля 2019

Работая на кластере Kubernetes с одним узлом, я хочу применить ограничительную политику безопасности pod к группе пользователей, аутентифицированных с помощью openid.Итак, последовательность шагов такая.

  1. Инициализируйте кластер и создайте политики безопасности модуля.
  2. Примените контроллер доступа PodSecurityPolicy на сервере API (который вызывает перезапуск сервера API)
  3. Создайте ClusterRole и RoleBinding для пользователей.

Аутентификация пользователей с помощью openid и выборка их групп работает хорошо, однако ограничение PodSecurityPolicy для этой группы не работает.Примеры ClusterRole и RoleBinding приведены ниже.Если я использую system:authenticated вместо mygroup, политика будет принята для создания новых модулей.

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: psp:restricted
rules:
- apiGroups:
  - extensions
  resources:
  - podsecuritypolicies
  resourceNames:
  - restricted # the psp we are giving access to
  verbs:
  - use
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: psp:restricted
subjects:
- kind: Group
  name: mygroup # My group from openid, DOESN'T WORK.
# name: system:authenticated # all authenticated users, WORKS.
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: psp:restricted # A references to the role above
apiGroup: rbac.authorization.k8s.io
  1. Как настроить политику безопасности модуля RoleBinding для определенной группы?Есть ли ошибки в моих шагах выше.У меня есть другие RoleBinding s в этой группе, которые прекрасно работают.
  2. Вторая проблема заключается в том, что Flannel pod не может появиться, так как кажется, что он выбирает ограничительную политику, которая предотвращаетмонтирование тома и т. д. Я прочитал, что порядок политик имеет значение , и попытался назвать политику с именем, которое сортирует политику как последнюю.Если я вставлю политики намного позже и добавлю PodSecurityPolicy контроллер доступа после инициализации Flannel, все будет хорошо.Есть ли порядок, которому мы должны следовать при вставке политик, контроллеров доступа?
...