ограничить ресурсы определенным namespace? Для Lens требуется дать возможность смотреть метрики для ограниченных учеток, но требуется только дать доступ к namespace с prometheus-operator.
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: test-admin
rules:
- apiGroups: ["*"]
resources: ["namespaces", "customresourcedefinitions", "nodes", "services", "services/proxy"]
verbs: ["get", "list", "watch"]
С таким конфигом все работает, но дает пользователю смотреть сервисы в других namespace, чего не хотелось бы. Возможно ли как-то ограничить ресурс services для одного namespace?
сначала надо гуглить, а только потом спрашивать. одна из первых ссылок в гугле https://stackoverflow.com/questions/59062716/limit-listed-kubernetes-namespaces-by-access
Сделай не ClusterRole а Role
Кривой совет
Роли ничего не ограничивают. Это просто список прав. Ограничивает роль биндинги. И кластер роль биндинги.
Ты можешь в рольбиндинге связать кластерную роль с са,юзером или группой. И права описанные в кластерной роли будут действовать в одном нс. Где рольбиндинг находитсч
Как лучше ?
Записал себе что так можно
А отучился бы на слерме - знал бы давно про это
Ничего там не ограничивает. Роли и биндинги только расширяют возможности))
Ну да. Описаны ресурсы к которым разрешается действия из verbs
Это не то. Так у меня уже настроено. Мне нужно именно для кластер роли ограничение сделать на выборку ресурсов "services", "services/proxy" только для конкретного NS. Сейчас если задать для Cluster роли ресурс "services", "services/proxy", то обычная Роль, которая биндится на нее - будет видеть все сервисы в различных NS, так как Кластерная роль это позволяет. В общем решилось прописыванием в Lens url до прометеус оператора вручную.
Обсуждают сегодня