Как работает шифрование при хранении в Yugabyte DB?

  1. Можем ли мы включить шифрование после того, как у нас уже есть данные в yb? Будет ли он шифровать только новые данные?
  2. Каково предполагаемое влияние шифрования на производительность?
  3. Нужно ли нам загружать серверы каждый раз, когда они запускаются с ключами? Если они могут получить существующие ключи с помощью методов RPC из существующих экземпляров, означает ли это, что злоумышленник может сделать то же самое, чтобы получить ключи?
  4. Как происходит процесс восстановления кластера, если все мастера были остановлены?

person James Hartig    schedule 22.11.2019    source источник


Ответы (1)


  1. Да — вы можете включить шифрование постфактум в существующем кластере YugabyteDB. Новые входящие данные сразу же начнут шифроваться. Старые данные будут шифроваться лениво — когда происходит уплотнение.

  2. Конкретные будут зависеть от рабочей нагрузки. Пока нет конкретных цифр. Но в качестве рекомендации для больших рабочих нагрузок записи мы ожидаем, что накладные расходы будут ниже 5%. Для тяжелых рабочих нагрузок чтения, особенно тех, где набор горячих данных находится в кеше, влияние должно быть незначительным.

  3. yb-tserver(-ы) при перезапуске узнают текущий ключ от yb-master(-ов) с помощью вызовов RPC. Чтобы защитить этот обмен от атаки, вы можете использовать функцию сетевого шифрования, которая гарантирует, что вся связь между серверами происходит безопасно.

  4. Если yb-master будет перезапущен, он узнает текущий ключ от других yb-masters. Однако, если все мастера выйдут из строя одновременно, ни у одного из мастеров не будет этого в состоянии памяти, и вам придется использовать yb-admin, чтобы передать ключ всем мастерам.

Ссылки: [1] https://docs.yugabyte.com/latest/secure/encryption-at-rest/ [2] https://docs.yugabyte.com/latest/secure/tls-encryption/

person Kannan Muthukkaruppan    schedule 22.11.2019