2016-07-26 2 views
2

Мы хотим, чтобы наши разработчики могли запрашивать наши таблицы Cassandra в производстве (для устранения проблем и другого анализа). Однако мы не хотим, чтобы они видели безопасные данные, такие как адреса электронной почты и имена клиентов.Защита отдельного столбца в Кассандре

Я думал о создании MATERIALIZED VIEW в Кассандре, который выбирает всю таблицу, за исключением чувствительных столбцов. Тогда я мог бы предоставить разработчикам SELECT доступ к представлению, но не основную таблицу.

Это лучший способ обеспечить колонку в Кассандре?

Кто-то, кого я знаю, предложил просто шифровать эти столбцы, используя функцию шифрования данных, которую уже имеет наше приложение. Мы должны зашифровать поле в цепочку шестнадцатеричных кодов, прежде чем передавать его в Cassandra для хранения. Это будет иметь дополнительное преимущество для шифрования данных в состоянии покоя в журнале Cassandra sstable и фиксации. НО, если это поле зашифровано, Cassandra не может видеть истинное значение этого поля, и это может быть большой проблемой для ORDER BY или других функций сравнения CQL.

Как работают большинство людей, охраняющих данные в Кассандре? :)

+0

Не являются ли ваши разработчики людьми, которые написали код, чтобы в первую очередь вставить данные в Кассандру? Если у них есть доступ при вставке данных в базу данных, у вас одинаковый риск. –

ответ

0

На этот день нет ни одного правильного ответа. В дополнение к шифрованию или представлениям другим подходом будет в основном нормализовать данные и хранить конфиденциальные данные в отдельной таблице и/или пространстве ключей.

DataGuise DgSecure - это коммерческий продукт, который предлагает маскирующие возможности для NoSQL, включая Cassandra. Похоже, что информация о нем отсутствует, кроме press releases.

Смежные вопросы