Changelog vStack Center
3.0.3
Релиз про доступ. Ролевая модель переехала с жёсткой привязки к номеру роли на привилегии с областью действия, появились кастомные роли и две новые фиксированные, а вход закрылся парольной политикой и защитой от подбора. Заодно управляющий слой переведён на текущую архитектуру диспетчера кластера.
Главное
- Привилегии вместо номеров ролей. Доступ считается по привилегии с областью действия, а не по тому, какая роль у пользователя. Проверка выполняется централизованно для каждого метода. Существующие назначения перенесены со старой модели автоматически.
- Кастомные роли. Администратор кластера собирает свою роль из привилегий и назначает её в границах ВЦОД. Кастомные роли нумеруются с 10000, фиксированные защищены от изменения и удаления.
- Роль
Security Admin(идентификатор 6) — уровень кластера, только для аудита: просмотр, фильтрация и выгрузка журнала событий безопасности, проверка целостности. Доступа к машинам, сетям, пользователям и инфраструктуре у неё нет. Роль отвечает требованиям ФСТЭК к администратору безопасности. - Роль
VM Developer(идентификатор 7) — уровень ВЦОД: создание машин и правка их конфигурации, включая диски и сетевые адаптеры. Запуск, остановка, удаление, консоль и снимки этой роли не доступны. - Парольная политика и защита от подбора. Требования к паролю настраиваются, неудачные попытки считаются, учётная запись блокируется при достижении порога.
- Автовыбор узла при запуске ВМ. Машина в NVMe-режиме дисков и без явно выбранного узла поднимается на наименее загруженном узле в состоянии ONLINE. Машина на virtio-blk по-прежнему запускается только на узле своего пула.
Добавлено
Роли и привилегии
- Кастомные роли: создание, изменение, удаление и просмотр. Управление открыто
только роли
Cluster Master. Список ролей показывает создателя кастомной роли. - Область действия «создатель объекта»: администратор ВЦОД видит и ведёт свои сети и Edge-маршрутизаторы даже за пределами своего ВЦОД.
- 24 привилегии вида Own для доступа к собственным объектам: 8 по сетям и 16 по Edge-маршрутизаторам.
- Чтение реестра доступа: маппинг ролей на привилегии, реестр привилегий с категориями и областями действия, справочники категорий и областей. Открыто всем семи фиксированным ролям.
Вход и учётные записи
- Настраиваемые требования к паролю: минимальная длина, заглавная буква, строчная буква, цифра, специальный символ, запрет совпадения с именем учётной записи.
- Запрет повторного использования текущего пароля.
- Счётчик неудачных попыток входа с автоматической блокировкой при достижении порога и автоматической разблокировкой по истечении срока. Нулевой срок блокировки делает её постоянной: снять сможет только администратор кластера.
- Принудительная смена пароля: при первом входе или по решению администратора вместо обычной сессии выдаётся одноразовый токен со сроком жизни 5 минут, которым доступны только смена своего пароля и чтение параметров безопасности.
- Ручная разблокировка учётной записи администратором кластера.
- Ответ на неудачный вход стал информативнее: при неверном пароле приходят число неудачных попыток, порог и время первой неудачи, при временной блокировке — время, до которого она держится.
- Карточка и список пользователей показывают счётчик неудачных попыток, время первой неудачи, срок блокировки и признак обязательной смены пароля. Просроченная блокировка снимается при чтении записи.
Виртуальные машины
- Карточка и список машин показывают узел даже после остановки машины.
- При создании машины можно указать конкретный пул хранения; без указания пул выбирается автоматически.
- Обзор кластера показывает выделенную и доступную память на уровне узла.
Улучшено
- Проверка данных при создании и изменении ВМ: выравнивание памяти по 4 КиБ, верхняя граница памяти по максимуму кластера, имя хоста в гостевой секции, переключатель входа по паролю через SSH. Изменение размера диска снова сверяется с максимумом кластера.
- Профиль ОС для служебной машины Edge вынесен в опцию кластера, а не задан жёстко в шаблоне.
- Пароли хешируются в самом диспетчере, а не функциями базы данных.
Исправлено
- Устранены ошибки в обработке асинхронных операций, видимые пользователю.
- Одновременная смена пароля одному пользователю больше не приводит к гонке. Одноразовый токен принудительной смены стал по-настоящему одноразовым: параллельный запрос с тем же токеном получает отказ. После успешной смены пароля все ранее выданные сессии этого пользователя завершаются.
- Отказы по несуществующим объектам перестали выдавать себя за отказы по правам. Запуск, остановка и перезапуск несуществующей машины теперь отвечают «машины не существует», а не «машина вне вашей области видимости». Так же разведены случаи у ограничения полосы диска: не существует машина, диск не привязан к машине, машина вне области видимости.
- История машины по несуществующему идентификатору отвечает понятной ошибкой, а не пустым списком, который нельзя было отличить от «истории пока нет».
- Назначение и снятие роли несуществующему пользователю отвечают «пользователь не найден» вместо невнятной ошибки базы данных.
- Слишком длинные имя и описание ВЦОД отклоняются понятной ошибкой валидации, а не ошибкой базы данных. Длина считается в символах, поэтому кириллица меряется правильно.
- Edge-маршрутизаторы без назначенных портов снова видны в списке.
- Расход адресов по ВЦОД считается правильно: администратор кластера получает выборку по указанному ВЦОД, пользователь без ВЦОД — пустой результат, а чужой ВЦОД данных больше не отдаёт.
- Инвентаризация физических дисков перестала множить записи из-за пробелов в серийном номере, пришедшем от агента узла.
- Обзор кластера учитывает память и процессоры машин, перенесённых между узлами.
См. также
- Модель доступа целиком — «Как устроен доступ».
- Реестр привилегий и областей действия — «Роли и привилегии».
- Парольная политика и блокировки — «Сессии и параметры входа».
- Сборка кастомной роли по шагам — «Как создать роль».