Release notes
ЗАКРОМА.Хранение v 2.10.0
🚀 Новый функционал
Шаблоны бакета
Добавлена возможность создавать шаблоны бакета — наборы настроек (настройка хранения, версионирование, фоновая проверка данных, правила жизненного цикла, конфигурация шардирования), которые можно применить при создании нового бакета вместо настройки его с нуля. Для рабочей области можно назначить шаблон по умолчанию — он автоматически подставляется в форму создания бакета.
Подробнее смотрите Шаблоны бакета.
Поддержка STS-токенов
Добавлена поддержка выдачи временных S3-credentials по протоколу AWS STS. Методы AssumeRole и GetCallerIdentity доступны на S3-интерфейсе рабочей области; временные ключи (AccessKeyId с префиксом ASIA, SecretAccessKey, SessionToken) наследуют права родительского пользователя и могут быть дополнительно сужены session policy.
Подробнее смотрите STS-токены.
Ограничение максимального срока жизни ключей доступа
Администратор может задать общесистемное ограничение на максимальный срок жизни ключей доступа пользователей — оно распространяется как на новые, так и на уже существующие ключи. Управление доступно на вкладках «Настройки ключей» и «Список ключей» раздела «Пользователи» при наличии системной пермиссии key-manage (полный доступ) или key-view (только просмотр).
Подробнее смотрите Управление ключами доступа.
Поддержка AWS S3 ACL
Реализована поддержка ACL (Access Control List) — классического, хотя и устаревшего механизма доступа S3, добавленного для совместимости с legacy-клиентами. Управление ACL бакетов и объектов, а также настройками владения бакетом, доступно через S3 API; в пользовательском интерфейсе настройки ACL не отображаются.
Подробнее смотрите Поддержка ACL.
Мониторинг фоновых процессов
В разделе «Монитор» реализован централизованный механизм отслеживания фоновых процессов системы (сканирование бакета, миграция объектов и мерг-групп, ресурсоёмкое применение политик и др.): список процессов с указанием статуса (активен/завершён) и отметкой долгоживущих процессов, а также детализация по каждому процессу со статистикой и историческим графиком в разрезе компонентов.
Подробнее смотрите Мониторинг.
Распределённая трассировка запросов (OpenTelemetry)
Внедрена трассировка запросов на основе OpenTelemetry взамен внутреннего механизма передачи TraceID. Поддерживается экспорт трасс в файл (с ротацией) или в Jaeger, а также настройка доли сохраняемых трасс (сэмплирование).
Подробнее смотрите Распределённая трассировка запросов.
✨ Улучшения
Приведение методов Bucket Policy к AWS S3
Реализована поддержка стандартных методов AWS S3 Bucket Policy. Правила доступа теперь можно устанавливать и получать через S3 API-методы PutBucketPolicy, GetBucketPolicy, DeleteBucketPolicy в виде JSON-документа (Effect, Principal, Action, Resource) — в дополнение к уже существующему интерфейсу Политик доступа. Оба способа управляют одним и тем же набором правил рабочей области/бакета. При обновлении системы существующие правила политик доступа автоматически преобразуются в формат S3 Bucket Policy.
Подробнее смотрите Политики доступа.
Расширен состав отчёта для поддержки
В отчёт для технической поддержки добавлены: количество миграций Morpheus с ошибками (вместо общего количества миграций, с указанием ID при их наличии), сводка по фоновым процессам (завершённые/активные/долгоживущие, с ID долгоживущих), единая версия/ветка/hash-commit по всем сервисам, включая Gateway, а также данные Gateway — режим мультикластера, лицензия (секретные поля маскируются) и серверное время всех компонентов для выявления рассинхронизации. Отчёт формируется, даже если отдельные компоненты недоступны — такие компоненты попадают в отдельный блок с ошибками.
Подробнее смотрите Шаблон обращения в поддержку.
Листинг хранилищ без полного доступа к управлению
Добавлена пермиссия storage-read, дающая доступ только на просмотр списка хранилищ с параметрами конфигурации (без секретов), без права управления хранилищами. Пермиссия не входит ни в одну предустановленную роль — её нужно добавить в роль вручную.
Подробнее смотрите Роли.
🐞 Исправления
- Исправлена ошибка зеркалирования: при загрузке файла в бакет с настроенной репликацией файл не всегда появлялся на хранилище-зеркале.
- В
zcliдобавлена команда восстановления бакета из корзины:bucket restore(алиасb rst). - Исправлен код ошибки при повторном создании бакета его же владельцем: вместо
BucketAlreadyExistsтеперь возвращается корректныйBucketAlreadyOwnedByYou. - Исправлены ошибки S3 Select: обращение к несуществующему столбцу CSV корректно возвращает код
400вместо200с ошибкой в теле ответа; исправлена ошибка500при запросе к JSON-документу; добавлена поддержка выраженияCASE; исправлена фильтрация по дате — сравнение>(«больше») больше не включает граничное значение. - Исправлена ошибка
500 InternalErrorпри создании проксированного бакета (бесшовная миграция) на несуществующий бакет хранилища-источника — теперь возвращается404. - В аудит-логе для операции
GetJWTтеперь указывается пользователь, получивший токен (ранее поле оставалось пустым). - Исправлено ошибочное удаление данных при удалении бакета из корзины со снятым чекбоксом «Удалить данные»: для групп хранения на хранилищах ZDS 2.0 этот чекбокс теперь всегда включён и заблокирован для изменения; для остальных типов хранилищ поведение не изменилось.
- В таблице бакетов колонка «Занято» теперь показывает только количество загруженных объектов, не учитывая незавершённые загрузки.
- Защита объектов с ObjectLock от преждевременного удаления.
Политики жизненного цикла с действием «Удаление» больше не удаляют объект, у которого включён ObjectLock (установлен признак
LegalHoldи/или заданRetentionMode). По той же причине запрещено перемещать в корзину бакет, содержащий хотя бы один такой объект.