参考 :

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

https://www.rahulpnath.com/blog/authenticating-a-client-application-with-azure-key-vault/

从前我们都是把一些密码直接写在 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 就可以了.

azure 的 secret 是不能改 value 的,但是可以一直添加 new version

网站只要 restart iis 站点就可以拿到最新的值了.

除了 secret 还有一个常用的是 key

比如在做 data protected 时, 用于 ProtectKeysWithAzureKeyVault,

记得 key 需要在 azure portal Access policies 里打开 wrap key 等等的 permission 哦.

附上图片参考 :

secrets

key

permission

Asp.net core 学习笔记 ( Azure key-vault )的更多相关文章

  1. ASP.NET Core 学习笔记 第四篇 ASP.NET Core 中的配置

    前言 说道配置文件,基本大多数软件为了扩展性.灵活性都会涉及到配置文件,比如之前常见的app.config和web.config.然后再说.NET Core,很多都发生了变化.总体的来说技术在进步,新 ...

  2. Asp.Net Core学习笔记:入门篇

    Asp.Net Core 学习 基于.Net Core 2.2版本的学习笔记. 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项 ...

  3. Asp.net core 学习笔记 ( Data protection )

    参考 : http://www.cnblogs.com/xishuai/p/aspnet-5-identity-part-one.html http://cnblogs.com/xishuai/p/a ...

  4. ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探

    前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...

  5. Asp.net core 学习笔记 ( identity server 4 JWT Part )

    更新 : id4 使用这个 DbContext 哦 dotnet ef migrations add identity-server-init --context PersistedGrantDbCo ...

  6. Asp.net Core学习笔记

    之前记在github上的,现在搬运过来 变化还是很大的,感觉和Nodejs有点类似,比如中间件的使用 ,努力学习ing... 优点 不依赖IIS 开源和跨平台 中间件支持 性能优化 无所不在的依赖注入 ...

  7. ASP.NET Core 学习笔记 第三篇 依赖注入框架的使用

    前言 首先感谢小可爱门的支持,写了这个系列的第二篇后,得到了好多人的鼓励,也更加坚定我把这个系列写完的决心,也能更好的督促自己的学习,分享自己的学习成果.还记得上篇文章中最后提及到,假如服务越来越多怎 ...

  8. ASP.NET Core 学习笔记 第五篇 ASP.NET Core 中的选项

    前言 还记得上一篇文章中所说的配置吗?本篇文章算是上一篇的延续吧.在 .NET Core 中读取配置文件大多数会为配置选项绑定一个POCO(Plain Old CLR Object)对象,并通过依赖注 ...

  9. Asp.net core 学习笔记 SignalR

    refer : https://kimsereyblog.blogspot.com/2018/07/signalr-with-asp-net-core.html https://github.com/ ...

随机推荐

  1. socket:10038错误

    转自:http://blog.csdn.net/chen495810242/article/details/42029825 winSock的一个bug:当closesocket多次错误使用时会导致问 ...

  2. python简说(六)判断

    非空即真,非0即真True '1' [1] {k-v}False '' None [] {}

  3. js之 data-*自定义属性

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. poj 1456 Supermarket - 并查集 - 贪心

    题目传送门 传送点I 传送点II 题目大意 有$n$个商品可以销售.每个商品销售会获得一个利润,但也有一个时间限制.每个商品需要1天的时间销售,一天也只能销售一件商品.问最大获利. 考虑将出售每个物品 ...

  5. 动态规划之97 Interleaving String

    题目链接:https://leetcode-cn.com/problems/interleaving-string/description/ 参考链接:https://blog.csdn.net/u0 ...

  6. C语言实现随机生成0~100的数

    #include <iostream> #include <time.h> int main() { srand((unsigned)time(NULL));//srand() ...

  7. 转载:索引与分片 plus

    [Python笔记]序列(一)索引.分片   Python包含6种内建序列:列表.元组.字符串.Unicode字符串.buffer对象.xrange对象.这些序列支持通用的操作: 索引 索引是从0开始 ...

  8. Java——List:list.add(index, element)和list.set(index, element)的区别

    add(index, element) 含义:在集合索引为index的位置上增加一个元素element,集合list改变后list.size()会增加1 用法 testList.add(index, ...

  9. C# 递归模型定义。赋值

    https://blog.csdn.net/wumiju/article/details/80429412 public partial class ProductTypeModel:DbEntity ...

  10. p3168 [CQOI2015]任务查询系统(差分+主席树)

    恕我才学浅薄,一开始想到的是树状数组+线段树,然后看了题解才第一次见到了差分这种神奇的科技 仔细想想,主席树的本质不就是前缀和嘛,加上一个差分也是可以的,没想到真是罪过罪过 对时间维护一个差分 在Si ...