在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的 。
前期准备账号
【在ASP.Net Core和Java中配置密钥】首先 , 需要注册一个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中配置密钥
文章图片

另外两个参数 , 一个是vault的uri , 一个是tenantid也准备好了 。
到这里四个参数都已经准备好了 。
步骤 2 - 参数设置
点击settings下面的secrets选项 , 创建或导入配置:
在ASP.Net Core和Java中配置密钥
文章图片

在弹出的新页面中 , 选择Manual方式 , 输入name和value , 配置数据库的用户名:
在ASP.Net Core和Java中配置密钥
文章图片

然后就创建完成了 , 可以仿照的把sqlserver的密码也配置一下:
在ASP.Net Core和Java中配置密钥
文章图片

步骤 3 - 访问策略设置
创建完成后 , 点击转到该资源进行配置访问策略 , ”Settings=》Access policies“ , 点击 ”Add Access Policy“ 创建新的访问策略 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。