2017-01-25 6 views
2

У меня есть конфиденциальные данные в моем приложении, просто потому, что шифрование недоступно в хранилище таблиц Azure, я не могу хранить в нем важные данные.Поскольку хранилище таблиц Azure не поддерживает шифрование, безопасно ли хранить в нем конфиденциальную информацию?

+0

Вы имеете в виду, что у вас есть несколько записей, каждая запись имеет 200 свойств, а некоторые свойства имеют конфиденциальные данные, поэтому вам нужно их шифровать? Или вы просто сохраняете некоторые параметры конфигурации, содержащие некоторые конфиденциальные данные? –

+0

@ Bruce-MSFT Да, у меня есть несколько записей, каждая запись имеет около 200 свойств, а некоторые свойства имеют конфиденциальные данные. – Sameer

ответ

2

Если у вас есть надежные данные, то это лучше для шифрования, можно зашифровать с Azure Key Vault одним more link

В принципе, в вашей организации, вы будете отмечать свойства с атрибутом

[EncryptProperty] 
public string EncryptedProperty1 { get; set; } 

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

+0

Если мне нужно получить свойство, как расшифровать свойство? – Sameer

+0

Мне нужно зашифровать словарь, состоящий из строковых и строковых значений. Я использовал атрибут [EncryptionProperty], но я получаю ошибку в переопределенном методе WriteEntity(). OperationContext имеет значение null. – Sameer

+0

@Sameer Пожалуйста, обновите классы сущностей, поэтому увидите. –

0

Я думаю, это зависит от того, как вы управляете своими данными. Если необходимо зашифровать только часть ваших данных, а остальная часть может оставаться ясной, вы можете потенциально зашифровать эти чувствительные поля в своем приложении перед их хранением в хранилище таблиц. Конечно, вам придется реализовать шифрование, но вы сможете найти множество библиотек, чтобы помочь с этим.

Если вам нужно было зашифровать все перед хранением Я не думаю, что это сработало бы хорошо. Хранилище таблиц - это ключ: пары значений, и все ваши значения будут зашифрованы, что приведет к тому, что Table Storage станет бесполезным для любого вида поиска. Вам нужно будет прочитать все ваши данные, отсортировать и индексировать его в своем приложении, а затем продолжить свою обычную работу.

+0

Как зашифровать содержимое хранилища таблиц таблицы хранения * бесполезно *? Единственным возможным индексом является ключ раздела + строка; все остальное содержимое, объединенное, по существу является «значением» (и любой поиск по этим свойствам требует в любом случае разметки или строки). Таким образом, до тех пор, пока у вас есть ключи с возможностью поиска, не должно быть никакого влияния на поиск, если шифрование значений. –

+0

В частности, если все значения зашифрованы (в отличие от только значений выбора), что именно вы искали бы в своих таблицах? Возьмем простой пример с записями 20k с именами и SSN, и оба значения имени и SSN зашифрованы. Помните, что в хранилище таблиц не выполняется шифрование, поэтому все значения должны быть зашифрованы программно. Итак, что бы сделать хранилище таблиц для вас? Все значения зашифрованы и поэтому бессмысленны вне контекста программы. –

+0

Пока вы ищете в разделе + rowkey, это не имеет значения. Идея состоит в том, что при хранении таблиц вы извлекаете группу объектов на основе поиска pk + rk. Я хочу сказать, что шифрование не делает бесполезным хранилище таблиц (если вы не шифруете pk или rk, но это не имеет смысла). И да, OP нужно будет зашифровать/расшифровать часть «значение» - я не понимаю, почему это отличается от любой другой системы хранения, не предоставляющей встроенные службы шифрования. –

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

  • Нет связанных вопросов^_^