由于 Azure Table 存储不支持加密,将敏感信息存储到其中是否安全?

As the Azure Table Storage does not support Encryption, is it safe to store sensitive information into it?

我的应用程序中有敏感数据,只是因为 Azure Table 存储不支持加密,所以我无法将敏感数据存储到其中。

我想这取决于您管理数据的方式。如果只有部分数据需要加密而其余数据可以保持清晰,那么您可以在将应用程序中的敏感字段存储在 Table 存储之前对其进行加密。当然,您必须自己实施加密,但您应该能够找到大量库来帮助实现这一点。

如果您必须在存储之前加密所有内容,我认为它不会很好地工作。 Table 存储是 key:value 对,您的所有值都将被加密,从而使 Table 存储无法用于任何类型的查找。您必须读入所有数据,在您的应用程序中对其进行排序和索引,然后继续您的日常工作。

如果你有安全数据那么最好加密,你可以用Azure Key Vault one more link

加密

基本上,在您的实体中,您将使用属性标记属性

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

好处是您将始终与加密数据通信,即使有人以某种方式访问​​存储,他也将无法提取数据。

自 2017 年 8 月 31 日起,Azure 存储服务根据 post Announcing Default Encryption for Azure Blobs, Files, Table and Queue Storage 使用 256 位 AES 对 blob、文件、表和队列加密所有静态数据。这也适用于在此日期之前创建的所有存储帐户。

这是自动的,无法禁用,但您可以选择使用自己的加密密钥,而不是 Microsoft 管理的密钥。它适用于标准和高级性能层以及 Azure 资源管理器和经典部署模型。

这里有文档Azure Storage Service Encryption for Data at Rest