Какие разрешения нужны Helm для кластера Helm 3 и K8s с RBAC (сертификаты X509)? Я думаю, он создает ConfigMaps для информации о выпуске?
Я настроил свой кластер (k3d), чтобы иметь некоторые правила RBAC, а также создал сертификат для идентификации моего пользователя для
kubectl
команды. Я установил для пользователя
Role
через
RoleBinding
в определенном пространстве имен.
Я хочу сделать так, чтобы они могли создавать
Deployment
с,
Pod
с,
Service
s, но не создавать или. Если я это сделаю, смогут ли они использовать Helm для установки чего-либо? Разве Helm не хранит информацию о выпусках в
Secret
s или
ConfigMap
с?
Нужно ли мне предоставлять пользователю доступ для создания этих вещей?
Пример роли
#################################################################################
################################## Example Role #################################
#################################################################################
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: my-role
namespace: my-namespace
rules:
- apiGroups: ["", "extensions", "apps"]
# Leaving out "configmaps" and "secrets"
resources: ["pods","deployments","services"]
verbs: ["*"]
1 ответ
Да, к сожалению, придется. Но с другой стороны, вы можете наложить ограничения, определяя глаголы как
["get, list, create"]
нет
["*"]
Это дает полную власть. Я предлагаю вам проверить https://kubernetes.io/docs/reference/access-authn-authz/rbac, чтобы получить четкое представление и определить свои потребности и способности на стороне кубернетов.
Примеры глаголов:
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
Также вы можете проверить свои способности пользователей с помощью инструмента can-i по ссылке ниже.
https://kubernetes.io/docs/reference/access-authn-authz/authorization/
Надеюсь, эти ссылки помогут вам.
Кстати, посмотрите диаграммы и файлы yaml для Kind: labels.
Это то, к чему вам понадобится доступ.