SQL始终加密CMK证书存储最佳实践



我正在向我们的数据库推出SQL Always Encrypted,并询问存储CMK证书的最佳实践方法。

我们在Windows server 2016盒子上托管了.Net web应用程序,每个应用程序都有一个不同的AD服务帐户(SA(作为其应用程序池ID。我们在单独的服务器上有一个SQL服务器实例。这种方法允许我们隔离和限制每个应用程序对数据库的访问,并且运行良好。

我不想将CMK证书导入本地机器Windows证书存储,因为这意味着服务器上的所有用户,主要是服务器管理员,都可以访问证书,从而能够解密数据库中的数据。

我目前已经以SA身份登录到服务器,并在本地用户下安装了证书。这是我能想到的最安全的选项,因为只有SA能够解密信息,这反过来意味着只有应用程序可以解密数据,而其他用户不能。然而,我使用这种方法面临的问题是SA似乎需要一直登录到服务器,这不是一个可行的长期解决方案(如果服务器重新启动,帐户将被注销,我的应用程序将失败(

有人找到任何关于安全存储CMK的最佳位置的Microsoft官方指南吗?

非常感谢

我建议使用Azure Key Vault作为密钥存储提供程序(集中式密钥存储(,这将是存储密钥的最安全的方式。

为列主密钥选择密钥存储

据此,

集中式密钥存储-为多台计算机上的应用程序提供服务。一集中式密钥存储的示例是Azure密钥保管库。集中式密钥存储通常使密钥管理更容易,因为您不需要在多个机器。您需要确保您的应用程序配置为连接到集中式密钥存储

到目前为止,加密密钥存储

您可以通过Azure密钥库中的访问策略轻松管理用户/应用程序。

参考

相关内容

  • 没有找到相关文章

最新更新