Блокировка объектов
Временная блокировка по умолчанию (DefaultRetention) устанавливается на уровне бакета. Она применяется ко всем новым объектам, загружаемым в бакет, и не распространяется на уже загруженные объекты.
Устанавливать блокировку по умолчанию необязательно.
Чтобы управлять временной блокировкой по умолчанию:
-
Установите и настройте AWS CLI, если он еще не установлен.
-
Откройте консоль и выполните нужное действие с блокировкой:
УстановитьСнятьУзнать статусЧтобы установить временную блокировку по умолчанию, выполните команду:
aws s3api put-object-lock-configuration \--bucket <ИМЯ_БАКЕТА> \--object-lock-configuration '{"ObjectLockEnabled": "Enabled","Rule": {"DefaultRetention": {"Mode": "<РЕЖИМ_БЛОКИРОВКИ>","Days": <СРОК_БЛОКИРОВКИ>}}}' \--endpoint-url <ENDPOINT_URL>Здесь:
-
<ИМЯ_БАКЕТА>— имя бакета. -
<РЕЖИМ_БЛОКИРОВКИ>— режим блокировки: -
<СРОК_БЛОКИРОВКИ>— срок блокировки в днях (Days) или годах (Years) от момента загрузки объекта. Нельзя указатьDaysиYearsодновременно. Пример:1825дней (5 лет). -
<ENDPOINT_URL>— должен соответствовать региону аккаунта:https://hb.vkcloud-storage.ruилиhttps://hb.ru-msk.vkcloud-storage.ru— для региона Москва;https://hb.kz-ast.vkcloud-storage.ru— для региона Казахстан.
-
Бессрочная блокировка (legal hold) может устанавливаться как при загрузке объекта в бакет, так и для объекта, уже находящегося в бакете. Устанавливать и снимать такую блокировку может только пользователь, обладающий правами на запись WRITE.
Чтобы управлять бессрочной блокировкой:
-
Установите и настройте AWS CLI, если он еще не установлен.
-
Откройте консоль и выполните нужное действие с блокировкой.
Установить при загрузке объектаУстановить после загрузки объектаСнятьУзнать статусЧтобы установить бессрочную блокировку для нового объекта, загружаемого в бакет, выполните команду:
aws s3api put-object \--body <ПУТЬ_К_ФАЙЛУ> \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--object-lock-legal-hold-status ON \--endpoint-url <ENDPOINT_URL>Здесь:
-
<ПУТЬ_К_ФАЙЛУ>— путь к локальному файлу. -
<ИМЯ_БАКЕТА>— имя бакета, в который будет загружен новый объект. -
<КЛЮЧ_ОБЪЕКТА>— полное имя объекта, включая путь до него. -
<ENDPOINT_URL>— должен соответствовать региону аккаунта:https://hb.vkcloud-storage.ruилиhttps://hb.ru-msk.vkcloud-storage.ru— для региона Москва;https://hb.kz-ast.vkcloud-storage.ru— для региона Казахстан.
-
Временная блокировка (retention period) может устанавливаться как при загрузке объекта в бакет, так и для объекта, уже находящегося в бакете.
Чтобы управлять временной блокировкой:
-
Установите и настройте AWS CLI, если он еще не установлен.
-
Откройте консоль и выполните нужное действие с блокировкой.
Установить при загрузке объектаУстановить после загрузки объектаПродлитьУзнать статусЧтобы установить временную блокировку для нового объекта, загружаемого в бакет, выполните команду:
aws s3api put-object \--body <ПУТЬ_К_ФАЙЛУ> \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--object-lock-mode <РЕЖИМ_БЛОКИРОВКИ> \--object-lock-retain-until-date '<YYYY-MM-DD HH:MM:SS>' \--endpoint-url <ENDPOINT_URL>Здесь:
-
<ПУТЬ_К_ФАЙЛУ>— путь к локальному файлу. -
<ИМЯ_БАКЕТА>— имя бакета, в который будет загружен новый объект. -
<КЛЮЧ_ОБЪЕКТА>— полное имя объекта, включая путь до него. -
<РЕЖИМ_БЛОКИРОВКИ>— режим блокировки:GOVERNANCE— управляемый режим;COMPLIANCE— строгий режим.
-
<YYYY-MM-DD HH:MM:SS>— дата и время окончания блокировки. -
<ENDPOINT_URL>— должен соответствовать региону аккаунта:https://hb.vkcloud-storage.ruилиhttps://hb.ru-msk.vkcloud-storage.ru— для региона Москва;https://hb.kz-ast.vkcloud-storage.ru— для региона Казахстан.
-
Пользователь, обладающий правами на запись WRITE, может обойти временную блокировку с режимом GOVERNANCE, используя в командах флаг --bypass-governance-retention. Обходя блокировку, он может:
- удалить объект до окончания срока блокировки;
- снять временную блокировку;
- сократить срок блокировки;
- изменить режим на
COMPLIANCE.
Чтобы выполнить действие в обход блокировки:
-
Установите и настройте AWS CLI, если он еще не установлен.
-
Откройте консоль и выполните нужное действие.
Удалить объектСнять блокировкуСократить срокИзменить режимЧтобы удалить объект, для которого установлена управляемая временная блокировка, выполните команду:
aws s3api delete-object \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--bypass-governance-retention \--endpoint-url <ENDPOINT_URL>Здесь:
-
<ИМЯ_БАКЕТА>— имя бакета, в котором находится нужный объект. -
<КЛЮЧ_ОБЪЕКТА>— полное имя объекта, включая путь до него. -
<ENDPOINT_URL>— должен соответствовать региону аккаунта:https://hb.vkcloud-storage.ruилиhttps://hb.ru-msk.vkcloud-storage.ru— для региона Москва;https://hb.kz-ast.vkcloud-storage.ru— для региона Казахстан.
-