Тема
Роли пользователей
Заметка
В статье описана работа с ролями с точки зрения интеграции боцмана с 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 
Пример для создания ProjectRoleTemplateBinding
Проверить созданную привязку можно в меню кластера - Cluster and Project Members 






