1

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

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

  2. 即使我们加密了数据,问题是任何拥有解密密钥的人都可以解密数据

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

感谢您的反馈。

4

1 回答 1

1

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

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

对于 Azure 中的加密,您必须将 Azure Key Vault 与您自己的密钥或客户自己的密钥一起使用。然后,您将 SQL 配置为使用这些密钥来加密数据。看这里这里

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

即使我们加密了数据,但问题是任何拥有解密密钥的人都可以解密数据”——是的,任何拥有密钥的人都可以访问数据。为此,您需要在您的密钥保管库上适当地设置访问控制..以便客户只能看到他们的密钥。

最后,由于您是服务提供商..客户必须信任您一些东西:)

于 2018-08-08T14:21:03.863 回答