Управлять блокировкой объектов можно в панели управления, через S3 API и инструменты, которые его используют — например, AWS CLI.
Временная блокировка
Проверить наличие временной блокировки
Если у вас есть объекты с сегментами, проверить наличие блокировки на отдельных сегментах нельзя — можно проверить блокировку только на самом объекте.
Сегменты наследуют настройки блокировки, которая применяется к объекту.
2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле VersionId.
Проверьте наличие блокировки:
aws s3api get-object-retention \
--bucket<bucket_name>\
--key<path_to_object>\
--version-id <version_id>
Укажите:
<bucket_name> — имя бакета;
<path_to_object> — путь к объекту в бакете;
опционально: --version-id <version_id> — параметр, который указывает на определенную версию объекта. Здесь <version_id> — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет проверена у текущей версии объекта.
Включить временную блокировку
Если у объекта одновременно включены временная и бессрочная блокировки, приоритет имеет бессрочная блокировка.
опционально: --version-id <version_id> — параметр, который указывает на определенную версию объекта. Здесь <version_id> — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет применена к текущей версии объекта;
<lock_mode> — режим блокировки. Возможные значения — GOVERNANCE или COMPLIANCE;
<date> — дата, до которой объект будет заблокирован, в формате ISO 8601, например 2025-09-06T00:00:00Z. Срок блокировки объекта не может быть больше одного года или 365 дней.
Изменить срок временной блокировки
Если установлен режим блокировки:
Governance — срок блокировки можно сократить или продлить;
Compliance — срок блокировки можно только продлить.
Панель управления
AWS CLI
В панели управления можно только увеличить срок блокировки.
Чтобы уменьшить срок, используйте S3 API или инструменты, которые его используют — например, AWS CLI.
В блоке Object Lock в строке Временная блокировка нажмите Изменить.
Снимите чекбокс Заблокировать объект.
Нажмите Сохранить.
Отключить временную блокировку через AWS CLI может Владелец аккаунта, пользователь с ролью member или пользователь с другой ролью с доступом в S3, если политика доступа разрешает ему действиеs3:BypassGovernanceRetention.
Откройте CLI.
Если вы хотите отключить блокировку определенной версии объекта:
2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле VersionId.
Отключите блокировку:
aws s3api put-object-retention \
--bucket<bucket_name>\
--key"<path_to_object>"\
--version-id <version_id>\
--retention'{}'\
--bypass-governance-retention
Укажите:
<bucket_name> — имя бакета;
<path_to_object> — путь к объекту в бакете;
опционально: --version-id <version_id> — параметр, который указывает на определенную версию объекта. Здесь <version_id> — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет отключена у текущей версии объекта.
Бессрочная блокировка
Проверить наличие бессрочной блокировки
Если у вас есть объекты с сегментами, проверить наличие блокировки на отдельных сегментах нельзя — можно проверить блокировку только на самом объекте.
Сегменты наследуют настройки блокировки, которая применяется к объекту.
2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле VersionId.
Проверьте наличие блокировки:
aws s3api get-object-legal-hold \
--bucket<bucket_name>\
--key<path_to_object>\
--version-id <version_id>
Укажите:
<bucket_name> — имя бакета;
<path_to_object> — путь к объекту в бакете;
опционально: --version-id <version_id> — параметр, который указывает на определенную версию объекта. Здесь <version_id> — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет проверена у текущей версии объекта.
Включить бессрочную блокировку
Если у объекта одновременно включены временная и бессрочная блокировки, приоритет имеет бессрочная блокировка.
2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле VersionId.
Заблокируйте объект:
aws s3api put-object-legal-hold \
--bucket<bucket_name>\
--key<path_to_object>\
--version-id <version_id>\
--legal-hold '{"Status": "ON"}'
Укажите:
<bucket_name> — имя бакета;
<path_to_object> — путь к объекту в бакете;
опционально: --version-id <version_id> — параметр, который указывает на определенную версию объекта. Здесь <version_id> — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет применена к текущей версии объекта.
2.2. У нужной версии объекта скопируйте идентификатор, который указан в поле VersionId.
Отключите блокировку:
aws s3api put-object-legal-hold \
--bucket<bucket_name>\
--key<path_to_object>\
--version-id <version_id>\
--legal-hold '{"Status": "OFF"}'
Укажите:
<bucket_name> — имя бакета;
<path_to_object> — путь к объекту в бакете;
опционально: --version-id <version_id> — параметр, который указывает на определенную версию объекта. Здесь <version_id> — идентификатор версии, который вы скопировали на шаге 2.2. Если не указать параметр, блокировка будет снята с текущей версии объекта.