Перейти к содержимому

Роли пользователей ​

Заметка

В статье описана работа с ролями с точки зрения интеграции боцмана с Active Directory

Предупреждение

Все действия в статье производятся в управляющем (менеджмент) кластере.

Типы ролей ​

На данный момент существует три типа ролей:

  • Глобальная (GlobalRole)
  • Кластерная (RoleTemplate context: cluster)
  • Проектная (RoleTemplate context: project)

Глобальная роль ​

Глобальная роль это служебный обьект. С её помощью нельзя выдать определённые права на все кластеры - она используется только для выдачи полных прав ко всем кластерам, которые обслуживает данная инсталяция боцмана. Эта роль назначается встроенному аккаунту admin и связанному с ним AD аккаунту.

Кластерная роль ​

Кластерная роль - это способ выдать пользователям доступ ко всем обьектам кластера. Существуют две предварительно созданные роли:

  • Cluster Admin
    • Выдаёт административный доступ ко всем объектам кластера.
  • Cluster Member
    • Выдаёт доступ на чтение почти ко всем объектам кластера и позволяет создавать свои проекты.

Проектная роль ​

Заметка

Подробнее о проектах можно прочитать в статье О проектах

Проектная роль - один из лучших способов выдавать гранулированный доступ к ресурсам кластера.
В боцмане есть набор типовых ролей:

  • Bootsman project viewer
    • Ресурсы проекта доступны в режиме read only
    • Секреты проекта недоступны
    • Настройки проекта недоступны
  • Bootsman project member
    • Все ресурсы проекта доступны в режиме CRUD
    • Настройки проекта недоступны
  • Bootsman project admin
    • Все ресурсы проекта доступны
    • Настройка проекта Доступна в части добавления новых пользователей и управления их правами
    • остальные настройки проекта недоступны

Привязки ролей ​

Привязка ролей используется, чтобы связать роль и объект аутентификационного провайдера (например, AD группы).
Этот функционал работает на уровне управляюшего (management) кластера и автоматически распространяет все необходимые настройки в подчинённые (workload) кластеры.
Для создания привязки постребуется clusterID, который можно узнать с помощью kubectl или в web:

ClusterRoleTemplateBinding ​

Используется для привязки кластерной роли к пользователю/группе, аналогично ClusterRoleBinding в ванильном Kubernetes.
Пример для создания ClusterRoleTemplateBinding

ProjectRoleTemplateBinding ​

Используется для привязки роли к пользователю/группе в конкретном проекте, аналог RoleBinding

Для создания потребуется получить projectID и clusterID:

Проверить созданную привязку можно в меню кластера - Cluster and Project Members image

Пример для создания ProjectRoleTemplateBinding

Проверить созданную привязку можно в меню кластера - Cluster and Project Members image

Команда Боцман