разрешить доступ ко всем ресурсам в кластере kubernetes, кроме узлов get - PullRequest
0 голосов
/ 05 марта 2019

Команда, у меня ниже роль кластера на kubernetes, которая разрешает доступ ко всему, но я не хочу ограничивать команды уровня узла и разрешать все остальное.

Что изменить ниже?По сути, пользователь должен иметь возможность запускать

kubectl get all --all-namespaces

, но информация об узлах НЕ должна отображаться

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: cluster-admin-test
rules: 
- apiGroups:
- '*'
resources:
- '*'
verbs:
- '*'
- nonResourceURLs:
- '*'
verbs:
- '*'

1 Ответ

0 голосов
/ 05 марта 2019

Правила являются исключительно аддитивными, это означает, что вы не можете ограничивать правила.

Таким образом, вам нужно будет перечислить все доступные ресурсы , но "узлы" с соответствующими операциями

Например:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  annotations:
    rbac.authorization.kubernetes.io/autoupdate: "true"
  labels:
    kubernetes.io/bootstrapping: rbac-defaults
  name: cluster-admin
rules: 
- apiGroups: [""] 
  resources: ["pods","services","namespaces","deployments","jobs"] 
  verbs: ["get", "watch", "list"]

Кроме того, настоятельно не рекомендуется менять роль cluster-admin .Стоит создать новую роль и назначить ей пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...