参考 :
https://docs.microsoft.com/en-us/aspnet/core/security/key-vault-configuration?view=aspnetcore-2.1&tabs=aspnetcore2x
https://youtube.com/watch?v=cdoY_pnqPiA
从前我们都是把一些密码直接写在 web.config 里,比如 sql 密码, email 密码, appId, app secret 等.
源码于密码分离始终是好的.
上次介绍了 User Secret, 不过这个只能用在开发环境下,在生产环境下,我们需要使用 Key-Vault.
这是一个 Azure 的服务, 可以把我们敏感数据保存在 Azure 里头,然后让我们的 Application 在 startup 时通过请求把资料拿下来.
对于安全来说,其实只是增加了一点点点成本而已,主要的好处还是在密码源码分离,还有方便打理上.
流程是这样的,去 Azure 开一个 App 获取 client id 和 client secret
这个为了让我们的程序发请求时用的, 类似 oauth2.0 Client Credentials.
然后在 Azure 创建一个 key-vault 的 secret, 它是一个字典, key value 对应.
记得让 Azure App 有权利访问 key-vault service.
然后在程序 startup 时发请求去获取 key-vault 就可以了.
Asp.net core 学习笔记 ( Azure key-vault )
原文:https://www.cnblogs.com/keatkeat/p/9313468.html