在基于云的多租户环境中保护敏感的客户数据

时间:2018-06-27 04:03:52

标签: encryption architecture multi-tenant data-security

我们正在构建一个多租户基于云的Web产品,其中客户数据存储在单个Database实例中。客户特定的业务数据中有一部分是高度敏感的。应当保护敏感的业务数据,以使除客户的授权用户外,任何人都不能访问它(既不能通过应用程序访问,也不能直接访问数据库)。客户希望确保甚至平台提供商也无法以任何方式访问特定数据。他们希望我们在这种情况下清楚地演示数据安全性。我正在寻找以下领域的具体指导:

  1. 如何确保数据在数据库级别受到保护,即使平台提供商也无法访问数据。

  2. 即使我们对数据进行加密,也要担心的是,拥有解密密钥的任何人都可以解密数据

  3. 解决此问题的最佳方法是什么?

感谢您的反馈。

1 个答案:

答案 0 :(得分:1)

如何确保数据在数据库级别受到保护,甚至平台提供商也无法访问数据”

-在多租户环境中,首先,您必须“单一租户数据库”,因此每个客户一个数据库。然后,您需要修改应用程序以从某种形式的config中获取数据库。

要像在Azure中一样进行加密,则必须将Azure Key保管库与您自己的密钥或客户自己的密钥一起使用。然后将SQL配置为使用这些密钥来加密数据。参见 here here

如果希望数据库保持多租户状态,则需要在应用程序级别进行加密。但是,这需要应用程序了解客户密钥,因此我认为这不是有效的解决方案。

即使我们对数据进行加密,也要担心的是,拥有解密密钥的任何人都可以解密数据”-是的,拥有密钥的任何人都可以访问数据。为此,您需要在密钥库上适当设置访问控制。.以便客户只能看到他们的密钥。

最后,因为您是服务提供商。.客户将不得不信任您一些:)