配置|在ASP.Net Core和Java中配置密钥

微软中国MSDN 点击上方 蓝字关注我们
大家好 , 我是本期的微软MVP实验室研究员——张安忠 。 今天我将通过实验和完整的操作过程 , 向大家介绍如何使用在ASP.NET Core和Java项目中集成Azure Key Vault功能 。
微软MVP实验室研究员
配置|在ASP.Net Core和Java中配置密钥
文章图片

张安忠
微软最有价值专家(MVP)
独立开发者 , 热衷于分享知识 。 国内.NET Core与Azure布道者 , 专注于应用层面的专研、拓展和使用 , 为.NET能够落地一套微服务项目而不断奋斗 。
座右铭:予人玫瑰 , 手有余香 。
思路浅析
在软件开发中 , 项目安全是重中之重 , 特别是在多部门或者开源项目中 , 如何保存我们的密钥 , 但又不影响本地的开发 , 是我们开发者需要考虑的问题 。 这里简单的列举了下平时开发中我们做的方案:

  • 本地直接采用localhost的形式开发 。 无论是DB还是ES/Redis/MQ , 或者是其他的 , 都一股脑用本地的参数 , 然后部署到K8s的时候 , 使用Configmap的形式挂载 。也是一种方案 , 但是会使dev和prod之间隔离的比较厉害
  • 使用远程配置中心来统一处理本地和生产直接的数据 。 比如常见的就是Apollo , Azure的Key Vault技术等等 。推荐的方式
  • 每次上线都手动修改 。 这显然是 不合理 的
PS:本文采用的都是世纪互联的azure.cn的 。
前期准备账号
首先 , 需要注册一个Azure账号 。
其次 , 需要注册一个应用程序 , 注册的时候 , 填写Client密码 , 密码要好好保存哟 , 以后会多次使用 。
搜索app registration , 注册一个账号:
输入应用名称 , 其他的都默认即可:
配置|在ASP.Net Core和Java中配置密钥
文章图片

接下来 , 在Certificates & secrets中 , 添加Client secrets:
配置|在ASP.Net Core和Java中配置密钥
文章图片

有了应用 , 就可以在应用内设置密钥了 。
这个时候我们已经有两个参数了 , 分别是ClientId和ClientSecret 。
配置key vault
步骤 1 - 添加Key vault服务
继续在顶部搜索Key vault关键字:
配置|在ASP.Net Core和Java中配置密钥
文章图片

配置|在ASP.Net Core和Java中配置密钥
文章图片

创建完成后 , 就可以在key vault的overview页 , 看到另外两个参数了:
配置|在ASP.Net Core和Java中配置密钥

推荐阅读