Управление доступом на основе ролей
В Тarantool Cluster Manager реализована система управления доступом на основе ролей. Она обеспечивает гибкое управление доступом к функциям TCM, подключенным кластерам и хранимым данным. Система доступа TCM использует три основные сущности: разрешения, роли и пользователей (учетные записи). Они работают следующим образом:
- Разрешения соответствуют конкретным функциям или объектам в TCM (административные разрешения) или операциям с кластерами (кластерные разрешения).
- Роли - это предопределенные наборы административных разрешений, назначаемые пользователям.
- Пользователи имеют роли, определяющие их права доступа к функциям и объектам TCM, а также кластерные разрешения, назначаемые для каждого кластера индивидуально.
Разрешения определяют доступ к конкретным действиям, которые пользователи могут выполнять в TCM. Например, существуют разрешения для просмотра подключенных кластеров или управления пользователями.
В TCM есть два типа разрешений: административные и кластерные.
-
Административные разрешения предоставляют доступ к функциям TCM. Они определяют, какие страницы и элементы управления доступны пользователям в веб-интерфейсе. Как правило, разрешения на чтение определяют страницы, отображаемые в левом меню. Разрешения на запись определяют доступность элементов управления для работы с объектами на страницах. Например, пользователи с разрешением на чтение кластеров могут просматривать страницу Clusters, но не видят кнопки Add, Edit или Remove, если у них нет разрешения на запись.
Административные разрешения назначаются пользователям через роли.
-
Кластерные разрешения позволяют выполнять действия с подключенными кластерами Tarantool.
Эти разрешения предоставляются пользователям на уровне каждого кластера: у каждого пользователя есть отдельный набор разрешений для каждого кластера.
Кластерные разрешения определяют, какие страницы раздела меню Cluster видят пользователи и какие действия они могут выполнять на этих страницах. Например, пользователи с разрешением на чтение конфигурации кластера видят страницу Configuration при выборе этого кластера.
Кластерные разрешения назначаются пользователям индивидуально при их создании или редактировании.
Для детального управления доступом пользователей к отдельным спейсам и функциям, хранящимся в кластерах, предусмотрен список контроля доступа.
Список имеющихся разрешений в TCM является жестко предопределенным - разрешения нельзя изменить, добавить или удалить. Полные списки административных и кластерных разрешений в TCM приведены в справочнике разрешений.
Роли - это группы административных разрешений, назначаемых пользователям совместно.
Назначенные роли определяют страницы, которые пользователи видят в TCM, и действия, доступные на этих страницах.
В TCM есть роли по умолчанию, охватывающие три типичных сценария использования:
-
Super Admin Role - роль по умолчанию со всеми доступными административными разрешениями. Кроме того, пользователи с этой ролью автоматически получают все кластерные разрешения ко всем кластерам.
-
Cluster Admin Role - роль по умолчанию для администрирования кластеров. Включает административные разрешения для управления кластерами.
-
Default User Role - роль по умолчанию для работы с кластерами. Включает базовые административные разрешения на чтение, необходимые для входа в TCM и перехода к кластеру.
Администраторы могут создавать новые роли, редактировать и удалять существующие.
Список ролей находится на странице Roles.
Чтобы создать новую роль, нажмите Add, введите имя роли и выберите разрешения, которые будут включены в роль.
Чтобы изменить существующую роль, нажмите Edit в меню Actions соответствующей строки таблицы.
Чтобы удалить роль, нажмите Delete в меню Actions соответствующей строки таблицы.
Пользователи TCM получают доступ к объектам и действиям через назначенные роли и кластерные разрешения.
Пользователь может иметь любое количество ролей или не иметь их вовсе. Пользователи без ролей имеют доступ только к кластерам, которые назначены этим пользователям.
В TCM используется аутентификация пользователей по паролю. Сведения об управлении паролями см. в разделе Пароли ниже.
Существует один пользователь по умолчанию - Default Admin. Он имеет все доступные разрешения, как административные, так и кластерные. При добавлении новых кластеров в TCM Default Admin автоматически получает все кластерные разрешения для этих кластеров.
Администраторы могут создавать новых пользователей, редактировать и удалять существующих.
Инструменты управления пользователями находятся на странице Users.
Чтобы создать пользователя:
-
Нажмите Add.
-
Заполните данные пользователя: имя пользователя, полное имя и описание.
-
Сгенерируйте или введите пароль.
-
Выберите роли для назначения пользователю.
-
Добавьте кластеры, к которым нужно предоставить доступ пользователю, и выберите кластерные разрешения для каждого из них.
Чтобы изменить пользователя, нажмите Edit в меню Actions соответствующей строки таблицы.
Чтобы удалить пользователя, нажмите Delete в меню Actions соответствующей строки таблицы.
В TCM используется общий термин секрет для ключей аутентификации пользователей. Секрет - это любая пара открытого и закрытого ключей, которую можно использовать для аутентификации. Пароль в сочетании с именем пользователя - это тип секрета, используемый для аутентификации пользователей TCM. В этом случае открытым ключом является имя пользователя, а закрытым - пароль.
Пользователи получают свои первые пароли при создании учетной записи.
Все пароли подчиняются политике паролей. Ее можно гибко настроить в соответствии с требованиями безопасности вашей организации.
Чтобы изменить собственный пароль, нажмите на свое имя в правом верхнем углу и перейдите к Settings > Change password.
Администраторы могут управлять паролем пользователя на странице Secrets этого пользователя. Чтобы открыть ее, нажмите Secrets в меню Actions соответствующей строки таблицы Users.
Чтобы изменить пароль пользователя, нажмите Edit в меню Actions соответствующей строки таблицы Secrets и введите новый пароль в поле New secret key.
Срок действия паролей истекает автоматически по истечении периода, заданного в политике паролей. При входе пользователя в TCM с истекшим паролем единственное доступное ему действие - смена пароля. Все остальные функции и объекты TCM недоступны до тех пор, пока не будет установлен новый пароль.
Администраторы также могут вручную переводить пароли пользователей в состояние с истекшим сроком действия. Для этого нажмите Expire в меню Actions соответствующей строки таблицы Secrets.
Чтобы запретить пользователям доступ к TCM, администраторы могут временно заблокировать их пароли. Заблокированный пароль нельзя использовать для входа в TCM до тех пор, пока он не будет разблокирован вручную или пока не истечет период блокировки.
Чтобы заблокировать пароль пользователя, нажмите Block в меню Actions соответствующей строки таблицы Secrets. Затем укажите причину блокировки и введите период блокировки.
Чтобы разблокировать заблокированный пароль, нажмите Unblock в меню Actions соответствующей строки таблицы Secrets.
Политика паролей помогает повысить безопасность и соблюдать требования безопасности, применимые к вашей организации.
Изменить политику паролей TCM можно на странице Password policy. Доступны следующие параметры политики паролей:
- Minimal password length. Минимальная длина пароля.
- Do not use last N passwords. Запрет на использование последних N паролей.
- Password expiration in days. Пароли пользователей истекают по истечении указанного количества дней с момента их установки. Пользователи с истекшими паролями теряют доступ ко всем объектам и функциям, кроме смены пароля, до тех пор, пока не установят новый пароль.
- Password expiration warning in days. По истечении указанного количества дней пользователь видит предупреждение о скором истечении срока действия пароля.
- Block after N login attempts. Временная блокировка пользователей при неправильном вводе имени пользователя или пароля указанное количество раз подряд.
- User lockout time in seconds. Временной интервал, в течение которого пользователи не могут войти в систему после исчерпания всех неудачных попыток входа.
- Password must include. Символы и знаки, которые должны
присутствовать в паролях:
- Символы в нижнем регистре (a-z).
- Символы в верхнем регистре (A-Z).
- Цифры (0-9).
- Символы (такие как
!@#\$%\^&*()_+№"':,.;=]\{}\?>/.`).
В TCM доступны следующие административные разрешения:
Разрешение | Описание |
|---|---|
| Просмотр свойств подключенных кластеров |
| Изменение свойств подключенных кластеров и добавление новых кластеров |
| Просмотр свойств пользователей |
| Изменение свойств пользователей и добавление новых пользователей |
| Просмотр свойств ролей |
| Изменение свойств ролей и добавление новые роли |
| Просмотр дополнений |
| Подключение и отключение дополнений |
| Загрузка новых дополнений |
| Просмотр настроек журнала аудита и просмотр сообщений аудита через TCM |
| Изменение настроек журнала аудита |
| Просмотр пользовательских сессий |
| Отзыв пользовательских сессий |
| Просмотр настроек LDAP |
| Изменение настроек LDAP |
| Просмотр политики паролей |
| Изменение политики паролей |
| Просмотр информации о пользовательских секретах |
| Изменение пользовательских секреты: добавление, изменение, назначение истекшими, блокировка, удаление |
| Разрешение пользователю на смену его собственного пароля |
| Разрешение пользователю на просмотр информации о его собственных API-токенах |
| Разрешение пользователю на изменение его собственных API-токенов |
| Просмотр метрик TCM |
| Просмотр списка контроля доступа (ACL) |
| Добавление и удаление пунктов в списке контроля доступа (ACL) |
В TCM доступны следующие кластерные разрешения:
Разрешение | Описание |
|---|---|
| Просмотр настроек кластера |
| Изменение настроек кластера |
| Просмотр состояния кластера |
| Просмотр хранимых процедур в кластере |
| Изменение хранимых процедур в кластере |
| Исполнение хранимых функций на экземплярах кластера |
| Просмотр схемы данных в кластере |
| Изменение схемы данных в кластере |
| Просмотр хранимых данных в кластере |
| Изменение хранимых данных в кластере |
| Просмотр информации об аварийном переключении в кластере |
| Написание команд аварийного переключении в кластере |
| Подсоединение к экземплярам кластером с помощью |
| Выполнение SQL-запросов |
| Просмотр метрик кластера |
| Просмотр и изменение настроек (вкладка Security) |
| Просмотр пользователей и ролей в кластере (вкладка Users на странице экземпляра) |
| Создание, изменение и удаление пользователей и ролей в кластере (вкладка Users на странице экземпляра) |
| Просмотр информации о загруженных и примененных миграциях (вкладка Migrations) |
| Создание, изменение и применение миграций |
| Просмотр информации о кластерах TCF и их статусах (вкладка TCF) |
| Изменение настроек TCF и переключение статусов кластера (вкладка TCF) |