本地应用程序中的秘密管理

Posted

技术标签:

【中文标题】本地应用程序中的秘密管理【英文标题】:secret management in on premise application 【发布时间】:2021-03-13 12:08:05 【问题描述】:

我正在处理的 .net 核心服务器代码将同时托管在云基础架构和本地。

有很多选项可以处理秘密管理(连接字符串等...):

大型云提供商正在提供专用的秘密管理解决方案(AWS KMS、Azure Key Vault 等)。 流行的编排器,也提供自己的服务(例如 Kubernetes Secrets) 在开发中,我们有专门的secret management tools & process(很好)

但是如何在本地主机上安全地存储机密信息?我怀疑将其设置为简单的变量环境是否安全?

【问题讨论】:

vaultproject.io 【参考方案1】:

在 On Prem 设置中,您需要将风险转移给客户,客户应确保在这种情况下拥有主密钥,假设您选择选项 #3,在这种情况下,应主动控制、监控对服务器的访问并且应该受到严格限制。

因此,安全的责任是防止任何未经授权的人获得对服务器的登录访问权限,并且您的配置保持安全

【讨论】:

是的,但是选项#3(VS 秘密管理器)通常只为开发人员设计(如文档所述)。此外,这对于秘密更新不是很方便(与选项 #1 和 #2 相比)【参考方案2】:

如果您的本地资源可以访问 Internet,我建议使用使用客户端证书身份验证和 IP 限制的 Key Vault。如果您需要更高的安全性,还可以使用 ***。

【讨论】:

以上是关于本地应用程序中的秘密管理的主要内容,如果未能解决你的问题,请参考以下文章

WSO2 Api Manager公共本地移动应用中的OAuth2 DCR安全性

如何使用 cloudbuild 将秘密管理器秘密传递给 app.yaml 中的应用引擎环境变量

Java 应用程序如何在本地为用户创建和管理数据库? [复制]

手机文件管理中的本地指的是啥

无法将存储的 Vault 机密检索到 Kubernetes 中的 Springboot 应用程序

对可验证秘密共享的简单介绍