保护ClientId
和SecretKey
避免服务身份冒充的指导是什么?
这些用于ServicePrincipal
在 Azure Active Directory 中使用OAuth
.
目前,我们在无状态服务中使用配置设置。
在线建议建议将敏感数据存储在其中,KeyVault
但为了检索它,服务需要证明其身份,因此需要ClientId
和SecretKey
.
我正在考虑加密的配置文件。
保护ClientId
和SecretKey
避免服务身份冒充的指导是什么?
这些用于ServicePrincipal
在 Azure Active Directory 中使用OAuth
.
目前,我们在无状态服务中使用配置设置。
在线建议建议将敏感数据存储在其中,KeyVault
但为了检索它,服务需要证明其身份,因此需要ClientId
和SecretKey
.
我正在考虑加密的配置文件。
这里的问题是,在某些时候你需要在你的网络服务器中存储一个秘密。您可以通过加密配置文件或将机密放入 Key Vault 来添加混淆层,但在某些时候,服务器需要获取其正在访问的资源的纯文本密码。
这在很大程度上取决于您想要减轻的风险。
如果您希望防止 Azure Web 应用程序受到威胁,那么您做什么都无所谓,您的秘密已经泄露。
如果您想保护您的秘密不受您部门中的安全团队以外的所有人的影响,那么 Key Vault 可以提供解决方案。
如果您希望能够从 Github 部署整个代码库,并附上加密的 Web.Config 文件,那么这将解决这个问题。
了解您要防范的风险并从那里倒退。
Azure 推荐的方法是将安全数据简单地存储为应用程序设置,并从应用程序中引用该环境变量。
它很简单,它可以工作,你不需要公开存储你的秘密。
我的大部分脚本都在 Keyvault 中保密,部署脚本从那里读取它们并在部署时将它们写入应用程序设置。