Skip to content

Обзор

Для защиты данных в Object Storage используется шифрование на стороне сервера. Все объекты шифруются при загрузке в бакет и расшифровываются при скачивании. Доступны два способа шифрования:

  • системным ключом (SSE-S3);
  • пользовательским ключом, созданным в сервисе KMS (SSE-KMS).
ХарактеристикаSSE-S3SSE-KMS
Выбор ключаНе требуетсяПользователь создает и выбирает ключ
Управление ключамиНа стороне MWS Cloud PlatformНа стороне пользователя
РотацияВыполняется автоматическиВыполняется вручную или настраивается пользователем
Аудит использованияНедоступенДоступен в сервисе KMS
Контроль над ключамиОтсутствуетС помощью ролей и разрешений KMS

Системный ключ

Системный ключ используется по умолчанию и активируется при создании бакета. Данные шифруются с помощью алгоритма AES-256. Со стороны пользователя не требуется никаких дополнительных действий по настройке.

Пользовательский ключ

Пользовательские ключи создаются в сервисе KMS. Ключ можно выбрать и указать в настройках бакета как при создании, так и в любой момент после создания. Он будет использоваться при загрузке всех новых объектов.

Объекты, загруженные в бакет до выбора пользовательского ключа, останутся зашифрованными системным ключом. Смена пользовательского ключа также не приводит к перешифровке ранее загруженных объектов: они остаются зашифрованы старым ключом.

Пользовательский ключ можно заменить на системный. Объекты, загруженные в бакет до перехода на системный ключ, останутся зашифрованными пользовательским ключом.

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

При шифровании данных с помощью пользовательского ключа используется метод envelope encryption. В случае удаления ключа доступ к данным будет безвозвратно утрачен.

После деактивации ключа доступ к данным будет утрачен. Чтобы его восстановить, потребуется повторно активировать ключ.

Чтобы пользователь или сервисный аккаунт мог работать с бакетом, зашифрованным пользовательским ключом, ему нужно назначить наряду с ролью storage.bucket.editor роль kms.cryptoKey.user или выше.