Поделиться через


Шифрование данных таблицы

Клиентская библиотека хранилища .NET Azure поддерживает шифрование свойств строковых сущностей для операций вставки и замены. Зашифрованные строки хранятся в службе в виде двоичных свойств, и они преобразуются обратно в строки после расшифровки.

Для таблиц, помимо политики шифрования, пользователи должны указать свойства, которые необходимо зашифровать. Это можно сделать, указав атрибут [EncryptProperty] (для сущностей POCO, производных от TableEntity) или сопоставителя шифрования в параметрах запроса. Сопоставитель шифрования — это делегат, который принимает ключ секции, ключ строки и имя свойства и возвращает логическое значение, указывающее, следует ли шифровать это свойство. Во время шифрования клиентская библиотека использует эти сведения для определения того, следует ли шифровать свойство при передаче данных по каналу связи. Делегат также предусматривает возможность использовать логику для определения, как шифруются свойства. (Например, если X, то шифрование свойства A; в противном случае — шифрование свойств A и B.) Не обязательно предоставлять эти сведения при чтении или запросе сущностей.

Поддержка слияния

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

Дальнейшие действия