云主机中的 ASP.Net 安全连接字符串

信息安全 加密 密钥管理
2021-08-27 23:31:46

背景

在普通的裸机托管 (IIS) 中,我们可以使用集成安全性(例如:使用 AD),因此,配置条目不包含连接字符串的纯文本密码。或者我们可以加密连接字符串,并可以使用安全密钥存储来保护加密密钥。

问题

在云托管环境(例如:Azure、AWS)中,我们如何保护这个连接字符串?通常我们只有一个控制面板来上传所需的文件和执行其他最小配置的能力。大多数时候,我们确实需要使用凭据访问不同位置的数据库。我们如何在不使用纯文本凭据的情况下保护配置文件中的连接字符串。如果我们加密连接字符串,我们如何保护密钥?

1个回答

在 Azure 中,您有多种选择。一个是 Azure Key Vault,它是 HSM 支持的秘密存储服务。另外,如果您使用的是 Azure Web 应用程序或应用程序服务,则门户中有一个配置部分,专门用于存储应用程序设置和连接字符串

我知道 AWS 还提供 HSM 即服务产品,我想他们也有类似的配置管理工具。

如果您使用 IaaS 而不是 PaaS,那么您还有一个选择是继续使用集成身份验证。当您的环境只是云中的一堆虚拟机时,您可以像设置数据中心中的一堆虚拟机一样设置它们。