我有一个包含多列的azure表,并且能够成功加密那些列中的数据。我唯一的问题是我无法加密PartitionKey和RowKey。
我已使用此文档https://docs.microsoft.com/en-us/azure/storage/common/storage-client-side-encryption来设置加密。除PartitionKey和RowKey之外,其他方法均能正常工作。
[EncryptProperty]
public new string PartitionKey { get; set; }
[EncryptProperty]
public new string RowKey { get; set; }
尝试了以上操作,但未加密分区和行密钥。
感谢您的帮助。
答案 0 :(得分:0)
不支持分区键或行键列的加密。如果对这些文件进行了加密,则不扫描整个表就不可能进行查询(由于每行中都有唯一的IV)。此外,批处理请求取决于可预测的分区键,而范围查询则取决于这些键的可预测顺序。
我建议您将要加密的数据放入常规列,并根据所需的查询/批处理属性选择分区键和行键。一种方法是构造数据的哈希或签名。这样可以启用点查询,分区扫描和批处理,但不允许在分区内进行范围查询。
编辑:我应该说,这个问题和答案仅适用于客户端加密。服务器端加密可无缝应用于所有静态数据。