Skip to content

Обзор

Блокировка версии объекта (object lock) — механизм, который защищает версию объекта от удаления или перезаписи. Блокировку можно установить на определенный срок либо бессрочно.

Блокировка версии может использоваться в ситуациях, в которых нужно обеспечить неизменяемость данных: соблюдение отраслевых и законодательных требований, реализация политик хранения, юридическое удержание и т.п.

Блокировка версии основана на принципе WORM (Write Once Read Many). Защищенная с помощью блокировки версия не может быть ни удалена, ни изменена, при этом загрузка новых версий объекта никак не ограничивается.

Блокировку можно включить только в бакетах с включенным версионированием. При включении указываются настройки, которые будут применяться ко всем новым объектам.

Также вы можете включить блокировку для конкретной версии любого ранее загруженного объекта.

Виды и режимы блокировки

Блокировка версии объекта (object lock) может быть временной или бессрочной.

Временная блокировка (retention)

Временная блокировка действует до заданной даты и времени. У нее есть два режима:

  • Управляемый (governance mode).

    Блокировку в управляемом режиме может установить пользователь с ролью storage.bucket.admin. Пользователи с другими ролями не могут ни удалить, ни перезаписать заблокированную версию. При этом пользователи с ролью storage.bucket.admin могут:

    • изменить или удалить заблокированную версию;
    • изменить срок блокировки;
    • отменить блокировку.

    Все эти действия нужно явно подтверждать: например, запрос к API на изменение версии должен обязательно включать заголовок Х-Amz-Bypass-Governance-Retention: true.

  • Строгий (compliance mode).

    Блокировку в строгом режиме может установить пользователь с ролью storage.bucket.admin. Обойти или снять ее невозможно, можно только продлить.

Бессрочную блокировку может устанавливать и снимать только пользователь с ролью storage.bucket.admin. После этого версию объекта нельзя ни удалить, ни изменить, пока блокировка не будет снята.

Внимание

Бессрочная блокировка всегда имеет приоритет: если одновременно с ней действует временная блокировка, перезаписать или удалить версию объекта будет невозможно.

Сравнение видов и режимов блокировки

Критерий
Блокировка в управляемом режиме (governance mode)Блокировка в строгом режиме (compliance mode)Бессрочная блокировка (legal hold)
Кто может установить блокировку?Пользователь с ролью storage.bucket.adminПользователь с ролью storage.bucket.adminПользователь с ролью storage.bucket.admin
Можно ли удалить или изменить объект?Да (для роли storage.bucket.admin)НетНет
Кто может удалять или изменить объект?Пользователь с ролью storage.bucket.adminНиктоНикто
Можно ли снять блокировку раньше срока?Да (для роли storage.bucket.admin)Нет
Можно ли продлить блокировку?Да (для роли storage.bucket.admin)Да (для роли storage.bucket.admin)
Кто может снять блокировку?Пользователь с ролью storage.bucket.adminНиктоПользователь с ролью storage.bucket.admin