- Можем ли мы включить шифрование после того, как у нас уже есть данные в yb? Будет ли он шифровать только новые данные?
- Каково предполагаемое влияние шифрования на производительность?
- Нужно ли нам загружать серверы каждый раз, когда они запускаются с ключами? Если они могут получить существующие ключи с помощью методов RPC из существующих экземпляров, означает ли это, что злоумышленник может сделать то же самое, чтобы получить ключи?
- Как происходит процесс восстановления кластера, если все мастера были остановлены?
Как работает шифрование при хранении в Yugabyte DB?
Ответы (1)
Да — вы можете включить шифрование постфактум в существующем кластере YugabyteDB. Новые входящие данные сразу же начнут шифроваться. Старые данные будут шифроваться лениво — когда происходит уплотнение.
Конкретные будут зависеть от рабочей нагрузки. Пока нет конкретных цифр. Но в качестве рекомендации для больших рабочих нагрузок записи мы ожидаем, что накладные расходы будут ниже 5%. Для тяжелых рабочих нагрузок чтения, особенно тех, где набор горячих данных находится в кеше, влияние должно быть незначительным.
yb-tserver(-ы) при перезапуске узнают текущий ключ от yb-master(-ов) с помощью вызовов RPC. Чтобы защитить этот обмен от атаки, вы можете использовать функцию сетевого шифрования, которая гарантирует, что вся связь между серверами происходит безопасно.
Если 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/