Вот хорошая статья о том, как ее настроить: https://jeremievallee.com/2018/05/28/kubernetes-rbac-namespace-user.html.
В целом, ваша конфигурация в порядке, я изменил строку - apiGroups: rbac.authorization.k8s.io
, измененную на:
- apiGroups: ["", "extensions", "apps"]
Затем применяются следующие шаги:
- Создать
develop
пространство имен
$ kubectl create namespace develop
Создание RBAC из вашей конфигурации.
$ kubectl apply -f rbac.yaml
Чтение IP-адреса кластера, токена и сертификата CA.
$ kubectl cluster-info
$ kubectl get secret develop-user-token-2wsnb -o jsonpath={.data.token} -n develop | base64 --decode
$ kubectl get secret develop-user-token-2wsnb -o "jsonpath={.data['ca\.crt']}" -n develop
Заполните файл
~/.kube/config
(как описано в руководстве
) Измените контекст на
develop
Пользователь имеет доступ только к службам проверкив пространстве имен
develop
.
$ kubectl get service my-service -n mynamespace
Error from server (Forbidden): services "my-service" is forbidden: User "system:serviceaccount:develop:develop-user" cannot get services in the namespace "mynamespace"
$ kubectl get service my-service -n develop
hError from server (NotFound): services "my-service" not found