Разрешить группе пользователей определенные действия

Пользователи с ролью k8s.user по умолчанию не могут создавать или удалять ресурсы в кластере. Однако таким пользователям можно предоставить права на выполнение определенных действий.

В инструкции описан пример предоставления прав на создание секретов для группы пользователей с ограниченной ролью. Аналогично можно предоставить права на создание других ресурсов.

  1. Создайте группу пользователей.

  2. Добавьте пользователей в группу.

  3. Создайте ClusterRole для секретов:

    1. Сохраните манифест в файл cloudru-group-secret-creater.yaml:

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
      name: cloudru-group-secret-creater
      rules:
      - apiGroups: [""]
      resources: ["secrets"]
      verbs: ["create"]
    2. Выполните команду:

      kubectl create -f cloudru-group-secret-creater.yaml
  4. Чтобы назначить права группе пользователей, создайте ClusterRoleBinding:

    1. Сохраните манифест в файл cloudru-rb-group-secret-creater.yaml:

      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
      name: cloudru-rb-group-secret-creater
      subjects:
      - kind: Group
      name: "<id-group>"
      apiGroup: rbac.authorization.k8s.io
      roleRef:
      kind: ClusterRole
      name: cloudru-group-secret-creater
      apiGroup: rbac.authorization.k8s.io

      Где <id-group> — идентификатор ранее созданной группы.

    2. Выполните команду:

      kubectl create -f cloudru-rb-group-secret-creater.yaml

Теперь пользователи из группы могут создавать секреты.

Evolution