我有一个包含多列的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; }
试过上面但它没有加密Partition和Row键。
任何帮助表示赞赏。
不支持加密分区键或行键列。如果这些是加密的,那么在不扫描整个表的情况下就不可能进行查询(由于每行中有唯一的IV)。此外,批处理请求取决于可预测的分区键,范围查询取决于这些键的可预测排序。
我建议您将要加密的数据放入常规列中,并根据所需的查询/批处理属性选择分区键和行键。一种方法是构造数据的散列或签名。这样可以启用点查询,分区扫描和批处理,但不允许在分区内进行范围查询。
编辑:我应该说这个问题和答案仅适用于客户端加密。服务器端加密可无缝应用于静态的所有数据。