Я пытаюсь ограничить пользователя на панели управления kubernetes, который подключается к kubectl после того, как я создал для него .crt и соответствующую конфигурацию.
Я успешно ограничил то, что он может делать со следующей ролью. Yaml
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: development
name: dev
rules:
- apiGroups: [""]
resources: ["pods", "services", "crontabs", "pods/log"]
verbs: ["create", "get", "update", "list", "delete"]
- apiGroups: ["batch"]
resources: ["cronjobs", "jobs"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["create", "get", "update", "list", "delete"]
и привязка кластера
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: kubernetes-dashboard-susann
rules:
- apiGroups: [""]
resources: ["services/proxy"]
resourceNames: ["https:kubernetes-dashboard:"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- nonResourceURLs: ["/ui", "/ui/*", "/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/*"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
чтобы он мог получить доступ к приборной панели. Проблема в том, что я хочу, чтобы он имел доступ только к пространству имен development
.
Я уже немного искал, и некоторые решения, похоже, включают создание учетной записи службы, и другая проблема может быть связана с тем, что разрешения на просмотр панели мониторинга предоставляются для роли кластера и не могут быть размещены в пространстве имен.
Есть ли лучший подход к решению этой проблемы?