Настройка хранилища для соответствия нормативным требованиям

VK Object Storage позволяет защитить объекты, заблокировав их удаление или перезапись (Object Lock). Используйте блокировку объектов для критических данных (например, персональных данных), которые согласно нормативным или законодательным требованиям необходимо хранить в неизменяемом виде в течение установленных сроков с последующим уничтожением. Это поможет обеспечить аудит и юридическую значимость.

Подготовительные шаги

Убедитесь, что у вас установлен и настроен AWS CLI.

1. Подготовьте бакет

  1. Создайте новый бакет:

    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.

  2. Включите версионирование:

    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 — домен региона Казахстан.
  3. Включите блокировку объектов:

    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 — для региона Казахстан.

2. Настройте политику хранения для бакета по умолчанию

Установите для бакета временную блокировку в строгом режиме (COMPLIANCE) и укажите точный срок хранения данных:

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 — для региона Казахстан.

3. (Опционально) Установите индивидуальный срок хранения для объекта

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

Установите блокировку при загрузке объекта:

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 — для региона Казахстан.

4. Проверьте статус блокировки

Чтобы узнать статус временной блокировки объекта, выполните команду:

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 — для региона Казахстан.

5. (Опционально) Установите бессрочную блокировку

При получении официального запроса на сохранение данных на неопределенный срок, используйте бессрочную блокировку (legal hold). Она имеет приоритет над любыми сроками хранения и бессрочно запрещает удаление или изменение объекта до ее явного снятия.

  1. Установите блокировку:

    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 — для региона Казахстан.
  2. Проверьте статус блокировки:

    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 — для региона Казахстан.