Настройка хранилища для соответствия нормативным требованиям
VK Object Storage позволяет защитить объекты, заблокировав их удаление или перезапись (Object Lock). Используйте блокировку объектов для критических данных (например, персональных данных), которые согласно нормативным или законодательным требованиям необходимо хранить в неизменяемом виде в течение установленных сроков с последующим уничтожением. Это поможет обеспечить аудит и юридическую значимость.
Убедитесь, что у вас установлен и настроен AWS CLI.
-
Создайте новый бакет:
aws s3api create-bucket \--bucket <ИМЯ_БАКЕТА> \--endpoint-url <ENDPOINT_URL> \--region <КОД_РЕГИОНА>Здесь:
-
<ИМЯ_БАКЕТА>— имя бакета, соответствующее рекомендуемым правилам.После создания бакета изменить его имя будет невозможно.
-
<ENDPOINT_URL>— домен сервиса VK Object Storage, должен соответствовать региону аккаунта:https://hb.vkcloud-storage.ruилиhttps://hb.ru-msk.vkcloud-storage.ru— домен региона Москва;https://hb.kz-ast.vkcloud-storage.ru— домен региона Казахстан.
-
<КОД_РЕГИОНА>— код региона аккаунта, напримерru-mskдля региона Москва. Доступные значения приведены в описании API сервиса VK Object Storage.
-
-
Включите версионирование:
aws s3api put-bucket-versioning \--bucket <ИМЯ_БАКЕТА> \--versioning-configuration Status=Enabled \--endpoint-url <ENDPOINT_URL>Здесь:
-
<ИМЯ_БАКЕТА>— имя бакета. -
<ENDPOINT_URL>— домен сервиса VK Object Storage, должен соответствовать региону аккаунта:https://hb.vkcloud-storage.ruилиhttps://hb.ru-msk.vkcloud-storage.ru— домен региона Москва;https://hb.kz-ast.vkcloud-storage.ru— домен региона Казахстан.
-
-
Включите блокировку объектов:
aws s3api put-object-lock-configuration \--bucket <ИМЯ_БАКЕТА> \--object-lock-configuration '{"ObjectLockEnabled": "Enabled"}' \--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— для региона Казахстан.
-
Установите для бакета временную блокировку в строгом режиме (COMPLIANCE) и укажите точный срок хранения данных:
aws s3api put-object-lock-configuration \--bucket <ИМЯ_БАКЕТА> \--object-lock-configuration '{"ObjectLockEnabled": "Enabled","Rule": {"DefaultRetention": {"Mode": "<РЕЖИМ_БЛОКИРОВКИ>","Days": <СРОК_БЛОКИРОВКИ>}}}' \--endpoint-url <ENDPOINT_URL>
Здесь:
-
<ИМЯ_БАКЕТА>— имя бакета. -
<РЕЖИМ_БЛОКИРОВКИ>— режим блокировки:GOVERNANCE— управляемый режим;COMPLIANCE— строгий режим.
-
<СРОК_БЛОКИРОВКИ>— срок блокировки в днях (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— для региона Казахстан.
Индивидуальный срок хранения может устанавливаться для объектов, которые относятся к разным категориям и имеют разный срок хранения.
Установите блокировку при загрузке объекта:
aws s3api put-object \--body <ПУТЬ> \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--object-lock-mode COMPLIANCE \--object-lock-retain-until-date "<СРОК_БЛОКИРОВКИ>" \--endpoint-url <ENDPOINT_URL>
Здесь:
-
<ПУТЬ>— путь до директории, срок хранения к объектам в которой нужно изменить. -
<ИМЯ_БАКЕТА>— имя бакета. -
<КЛЮЧ_ОБЪЕКТА>— полное имя объекта, включая путь до него. -
<СРОК_БЛОКИРОВКИ>— дата и время окончания блокировки в формате ISO 8601. Пример:2030-01-01T00:00:00.000Z. -
<ENDPOINT_URL>— должен соответствовать региону аккаунта:https://hb.vkcloud-storage.ruилиhttps://hb.ru-msk.vkcloud-storage.ru— для региона Москва;https://hb.kz-ast.vkcloud-storage.ru— для региона Казахстан.
Чтобы узнать статус временной блокировки объекта, выполните команду:
aws s3api get-object-retention \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--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— для региона Казахстан.
При получении официального запроса на сохранение данных на неопределенный срок, используйте бессрочную блокировку (legal hold). Она имеет приоритет над любыми сроками хранения и бессрочно запрещает удаление или изменение объекта до ее явного снятия.
-
Установите блокировку:
aws s3api put-object-legal-hold \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--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— для региона Казахстан.
-
-
Проверьте статус блокировки:
aws s3api get-object-legal-hold \--bucket <ИМЯ_БАКЕТА> \--key <КЛЮЧ_ОБЪЕКТА> \--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— для региона Казахстан.
-