Object Lock
Object Lock работает по принципу WORM (Write Once Read Many) и позволяет заблокировать объекты, чтобы предотвратить их перезапись или удаление.
Для использования Object Lock в бакете должно быть включено версионирование. Блокировка объектов применяется только к версиям объектов.
Блокировка может быть разных типов и режимов. В зависимости от типа блокировки ее можно установить на отдельные объекты или на бакет по умолчанию — блокировка будет применяться к новым объектам.
Возможность управления блокировкой также зависит от роли пользователя и правил политики доступа, подробнее в инструкции Управлять доступом к S3. Работать с Object Lock можно в панели управления (возможности ограничены), через S3 API и инструменты, которые его используют — например, AWS CLI.
Чтобы управлять блокировкой объектов после настройки Object Lock, используйте инструкцию Управлять блокировкой объекта.
Если вы удалите проект, в котором есть заблокированные объекты, они не будут удалены, пока блокировка активна. При этом они не будут отображаться в панели управления и через API. Чтобы восстановить заблокированные объекты после удаления проекта, создайте тикет.
Типы и режимы блокировки
Блокировка может быть временной и бессрочной. У временной блокировки есть два режима — Governance и Compliance.
Если у объекта одновременно включены временная и бессрочная блокировки, приоритет имеет бессрочная блокировка.
* Доступно только пользователям:
- с ролью
member; - с другими ролями с доступом в S3, если в бакете есть политика доступа, которая разрешает действие
s3:BypassGovernance.
Включить Object Lock в бакете
Включить Object Lock могут:
- Владелец аккаунта;
- пользователи с ролями
member,s3.adminиobject_storage:admin; - пользователи с ролями
s3.bucket.user,s3.userиobject_storage_userесли политика доступа разрешает им действиеs3:PutBucketObjectLockConfiguration.
Если вы включили Object Lock, его нельзя отключить и нельзя приостановить версионирование.
Включение Object Lock не блокирует объекты автоматически. После настройки Object Lock в бакете вы сможете:
- управлять блокировкой объектов;
- загружать объекты сразу с активной блокировкой (только через S3 API и инструменты, которые его используют);
- управлять временной блокировкой по умолчанию в бакете.
Панель управления
AWS CLI
Если в бакете отключено или приостановлено версионирование, оно будет включено автоматически при включении Object Lock.
-
В панели управления в верхнем меню нажмите Продукты и выберите S3.
-
Перейдите в раздел Бакеты.
-
Откройте страницу бакета → вкладка Конфигурация.
-
В блоке Защита данных в строке Object Lock нажмите Изменить.
-
Отметьте чекбокс Включить Object Lock.
-
Опционально: включите временную блокировку по умолчанию в бакете:
6.1. Отметьте чекбокс Включить блокировку по умолчанию.
6.2. Выберите режим блокировки.
6.3. Укажите срок блокировки. Максимальный срок блокировки:
- для режима Compliance — один год. Чтобы установить блокировку Compliance на срок больше года, используйте API или инструменты, например AWS CLI;
- для режима Governance — 100 лет.
Вы сможете управлять временной блокировкой по умолчанию и после включения Object Lock.
-
Нажмите Сохранить.
Управлять временной блокировкой по умолчанию в бакете
Управлять временной блокировкой по умолчанию могут:
- Владелец аккаунта;
- пользователи с ролями
member,s3.adminиobject_storage:admin; - пользователи с ролями
s3.bucket.user,s3.userиobject_storage_user, если политика доступа разрешает им соответствующие действия.
Проверить наличие временной блокировки по умолчанию
Наличие временной блокировки по умолчанию означает, что после ее включения все новые объекты при загрузке были заблокированы. При этом в бакете могут быть не заблокированные объекты — те, что были загружены:
- до включения блокировки в бакете;
- после включения блокировки в бакете и были сразу заблокированы, но срок их блокировки истек.
Чтобы проверить наличие временной блокировки у определенного объекта, используйте подраздел Проверить наличие временной блокировки инструкции Управлять блокировкой объектов.
Панель управления
AWS CLI
- В панели управления в верхнем меню нажмите Продукты и выберите S3.
- Перейдите в раздел Бакеты.
- Откройте страницу бакета → вкладка Конфигурация.
- В блоке Защита данных в строке Object Lock посмотрите информацию о статусе, режиме и сроке временной блокировки по умолчанию.
Включить временную блокировку по умолчанию
Временная блокировка будет применяться ко всем новым объектам в бакете. Ранее загруженные объекты заблокированы не будут. Чтобы заблокировать уже загруженные объекты, используйте подраздел Включить временную блокировку инструкции Управлять блокировкой объекта.
Панель управления
AWS CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите S3.
-
Перейдите в раздел Бакеты.
-
Откройте страницу бакета → вкладка Конфигурация.
-
В блоке Защита данных в строке Object Lock нажмите Изменить.
-
Убедитесь, что у вас отмечен чекбокс Включить Object Lock.
-
Отметьте чекбокс Включить блокировку по умолчанию.
-
Выберите режим блокировки.
-
Укажите срок блокировки. Максимальный срок блокировки:
- для режима Compliance — один год. Чтобы установить блокировку Compliance на срок больше года, используйте API или инструменты, например AWS CLI;
- для режима Governance — 100 лет.
-
Нажмите Сохранить.
Изменить срок временной блокировки по умолчанию
Измененный срок временной блокировки будет применяться ко всем новым объектам в бакете. Срок блокировки ранее загруженных объектов останется без изменений. Чтобы изменить срок временной блокировки уже загруженных объектов, используйте подраздел Изменить срок временной блокировки инструкции Управлять блокировкой объекта.
Панель управления
AWS CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите S3.
-
Перейдите в раздел Бакеты.
-
Откройте страницу бакета → вкладка Конфигурация.
-
В блоке Защита данных в строке Object Lock нажмите Изменить.
-
Укажите новый срок блокировки. Максимальный срок блокировки:
- для режима Compliance — один год. Чтобы установить блокировку Compliance на срок больше года, используйте API или инструменты, например AWS CLI;
- для режима Governance — 100 лет.
-
Нажмите Сохранить.
Изменить режим временной блокировки по умолчанию
Измененный режим временной блокировки будет применяться ко всем новым объектам в бакете. Режим блокировки ранее загруженных объектов останется без изменений. Чтобы изменить режим временной блокировки уже загруженных объектов, используйте подраздел Изменить режим временной блокировки инструкции Управлять блокировкой объекта.
Панель управления
AWS CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите S3.
-
Перейдите в раздел Бакеты.
-
Откройте страницу бакета → вкладка Конфигурация.
-
В блоке Защита данных в строке Object Lock нажмите Изменить.
-
Выберите режим блокировки Compliance.
-
Выберите новый режим блокировки.
-
Укажите срок действия блокировки. Максимальный срок блокировки:
- для режима Compliance — один год. Чтобы установить блокировку Compliance на срок больше года, используйте API или инструменты, например AWS CLI;
- для режима Governance — 100 лет.
-
Нажмите Сохранить.
Отключить временную блокировку по умолчанию
После отключения временной блокировки по умолчанию новые объекты не будут блокироваться, но опция Object Lock в бакете останется включена — ее отключить нельзя.
Объекты, которые были загружены и автоматически заблокированы до отключения временной блокировки по умолчанию, останутся заблокированными в соответствии с режимом блокировки. Чтобы отключить временную блокировку в режиме Governance уже загруженных объектов, используйте подраздел Отключить временную блокировку инструкции Управлять блокировкой объекта.
Панель управления
AWS CLI
Отключить временную блокировку в панели управления может только Владелец аккаунта или пользователь с ролью member.
- В панели управления в верхнем меню нажмите Продукты и выберите S3.
- Перейдите в раздел Бакеты.
- Откройте страницу бакета → вкладка Конфигурация.
- В блоке Защита данных в строке Object Lock нажмите Изменить.
- Снимите чекбокс Включить блокировку по умолчанию.
- Нажмите Сохранить.