Azure Key Vault(密钥库)是用于安全地存储和访问Secret的云服务,Secret是需要严格控制访问权限的内容,例如API密钥,密码,证书或加密密钥。Key Vault Service支持两种类型的容器:保管库(Vault)和托管HSM池(Hardware Security Module Pools)。 Vault支持存储软件和HSM-backed的密钥,Secret和证书,托管HSM池仅支持HSM-backed的密钥。

用户从Key Vault中获取Secret,使用Secret作为身份验证来访问数据。

一,Azure Key Vault的作用

Azure Key Vault是用于管理密钥,机密和证书的云服务,Key Vault避免了开发人员直接在代码中存储Secret信息的情况。Key Vault可以集中存储应用程序Secret,这大大减少了Secret被泄露的可能。Key Vault不经能够安全地存储由HSM支持的Secret和Key,还提供了对所有Secret访问和尝试使用的日志,因此具有完整的审核跟踪以确保合规性。

  • Secret 管理:Azure Key Vault用于安全地存储和严格控制对token,密码,证书,API密钥和其他Secret的访问
  • 密钥管理:Azure Key Vault可以用作密钥管理解决方案,使用Azure Key Vault可以轻松创建和控制用于加密数据的加密密钥。
  • 证书管理:Azure Key Vault也是一项服务,使您可以轻松地设置,管理和部署公共和私有传输层安全性/安全套接字层(TLS / SSL)证书,以与Azure和内部连接的资源一起使用。

Azure Key Vault具有两个服务层:使用软件密钥加密的标准服务层和包含受HSM保护的密钥的高级服务层。

二,Azure Key Vault的相关概念

租户(Tenant):租户是拥有和管理Microsoft云服务的特定实例的组织,它最常用于指一个组织的Azure和Microsoft 365服务集。

安全主体(Security Pricipal):Azure安全主体是用户创建的安全身份ID,应用程序,服务和自动化工具使用安全主体来访问特定的Azure资源。可以把Security Pricipal视为具有特定角色且受到严格控制的权限的“用户身份”(用户名和密码,或证书)。与一般用户身份不同,安全主体只需要做特定的事情。如果仅授予它执行管理任务所需的最低权限级别,则可以提高安全性。与应用程序或服务一起使用的安全主体专门称为服务主体(Service Principal)。

资源(Resource):资源是可通过Azure进行管理的项目,常见资源包括虚拟机,存储帐户,Web应用程序,数据库和虚拟网络。

资源组(Resource Group):资源组是一个容器,其中包含Azure解决方案的相关资源。资源组可以包含解决方案的所有资源,也可以仅包含要作为一个组进行管理的资源。

Azure Active Directory(简称 Azure AD):Azure AD是租户的AD服务,每个Directory都有一个或多个Domain,一个Directory可以有许多与其相关联的订阅(Subscription),但只能有一个租户。

托管ID(Managed identities): Azure Key Vault提供了一种安全地存储凭据以及其他密钥和Secret的方法,但是您的代码需要通过Key Vault进行身份验证才能检索它们。使用托管身份可以很简单地解决此问题:通过在Azure AD中为Azure服务提供自动托管身份,用户可以使用此托管身份对Key Vault或支持Azure AD身份验证的任何服务进行身份验证,而无需在代码中包含任何凭据。

访问Key Vault: 要对Key Vault进行任何操作,首先需要对其进行身份验证。 推荐使用“Azure资源的托管身份”对Key Vault进行身份验证。当向Azure中的虚拟机上部署应用程序时,可以向有权访问Key Vault的虚拟机分配身份,还可以把身份分配给其他Azure资源,这种方法的好处是应用程序或服务不负责管理第一个Secret的轮换, Azure自动旋转身份。

三,创建Azure Key Vault

使用Partal UI创建Azure Key Vault

step1:Basic 选项卡

Basic 选项卡部分,第一部分是设置Subscription 和 Resource Group,第二部分是设置Soft Deletion

软删除保护将自动在此密钥库(Key Vault)上启用,此功能用于在保留期内恢复或永久删除密钥库和Secret,软删除保护适用于密钥保管库和密钥保管库中存储的Secret。在Basic选项卡中,选项"Days to retain deleted values"用于设置软删除保护的保留期(retention period)。要强制执行保留期,并防止在保留期内永久删除密钥库或Secret,可以打开清除保护(Purge Protection)。 启用清除保护后,用户或Microsoft无法清除机密。选项“Enable purge protection (enforce a mandatory retention period for deleted vaults and vault objects)” 用于启用清除保护(Purge Protection),强制保留期。

Step2:设置Access Policy

设置访问策略(Access Policy)也分两部分,第一部分是设置 Enable Access to,第二部分是设置Permission Model和Access Policy。

通过“+Add Access Policy”来添加新的访问策略。

Step3:Networking选项卡

设置网络连接,勾选 “Public endpoint(all networks)”

点击“Review+Create”按钮,创建Key Vault

四,配置Key Vault

打开一个新建的Key Vault,从overview选项卡中,可以看到Key Vault的必要信息(Essential Info),其中Vault URL用于唯一标识给Key Vault:

在Settings分组中打开Secrets,本文示例如何配置一个新的Secret。

点击“+Generate/Import”,打开“Create a Secret”对话框,新建一个Secret,一个Secret主要是由Name和Value来构成的。其中Name是Secret的名称,Value是要保护的密码、凭证等私密数据。

用户从Key Vault中获取Secret,使用Secret(即Value属性保存的值)作为身份验证来访问数据。

参考文档:

About Azure Key Vault

Azure Key Vault 简介相关推荐

  1. sql azure 语法_如何在SQL 2016中使用Azure Key Vault使用AlwaysOn配置TDE数据库

    sql azure 语法 One of the recent tasks I undertook on configuring Transparent Data encryption (TDE) us ...

  2. Azure Key Vault入门

    Azure Key Vault是一个用来存储及访问密码和证书等秘密信息的服务,本文将介绍如何利用.NET分别从Azure及本地访问Azure Key Vault,以及一些简单的密码管理操作. 目录 A ...

  3. Azure Key Vault(3):Key和Secret的区别

    我之前在网上看到过一个非常形象的例子来说明Key和Secret的区别: Key Key是一种"加密密钥",用于加密信息,而无需将私钥泄露给消费者.它就像一个黑盒,使用 RSA或者E ...

  4. 在ASP.Net Core和JAVA中,使用Azure配置密钥——Key Vault

    思路浅析 在软件开发中,项目安全是重中之重,特别是在多部门或者开源项目中,如何保存我们的密钥,但又不影响本地的开发,更需要我们开发者需要考虑的问题,这里简单的列举了下平时开发中我们做的方案: 1.本地 ...

  5. java获取keyvault_教程:在 Java Spring Boot 应用中使用 Azure 应用程序配置 Key Vault 引用 | Microsoft Docs...

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 教程:在 Java S ...

  6. java获取keyvault_使用 Key Vault 引用 - Azure App Service | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 使用应用服务和 Azu ...

  7. java获取keyvault_ARM Template 结合key vault存储机密信息 (一)

    前两篇讲到了terraform,作为跨平台的IAC工具绝对是没话说的,很非常好用,今天再讲回Azure原生的ARM Template,ARM Template好处就是作为微软的亲儿子,兼容性啥的绝对没 ...

  8. pdm vault 使用_如何使用Key Vault连接器更好地保护Logic Apps中的秘密

    pdm vault 使用 One of the key challenges that users face while using Logic Apps is managing secret val ...

  9. Oracle LiveLabs实验:DB Security - Key Vault

    概述 此实验关于Oracle Key Vault. 此实验申请地址在这里,时间为55分钟. 实验帮助在这里. 实验生成需要15分钟左右,最终会生成2个虚机,以下为我的专属配置: 129.146.74. ...

最新文章

  1. Scala error: type mismatch; found : java.util.List[?0] required: java.util.List[B]
  2. mysql 全局select授权_MySQL的用户设置与授权
  3. 关系型数据库全表扫描分片详解
  4. android.mk 翻译,翻译ANDROID-MK.TXT
  5. 汉诺塔问题(递归思想)(堆栈学习)
  6. c语言格式化浮点数多余的0
  7. 全排列——深度优先搜索
  8. 图形验证码文字识别——pytesseract
  9. 智在未来,明年再聚--OFweek2018(第三届)中国高科技产业大会完美闭幕!
  10. matplotlib colormap
  11. 医院挂号系统代码_智慧医院中心是怎样做的?分诊叫号系统如何正确使用!
  12. nordic NRFX驱动和NRF驱动
  13. 计算机接口电路的种类,接口电路的分类_接口电路的功能_接口电路的作用是什么...
  14. Qt编译出错:During startup program exited with code 0xc0000135
  15. 常规心电图和动态心电图的区别
  16. html腾讯视频组件,3.腾讯视频组件
  17. 科普丨机械学习与学习机器论述(经典论文)
  18. 气象统计方法短期气候预测代码汇总
  19. pubmed影响因子插件_一个好用的PubMed文献管理插件scolarscope
  20. java毕业设计热门股票推荐系统源码+lw文档+mybatis+系统+mysql数据库+调试

热门文章

  1. 游戏里面的3d人物角色模型是怎么样制作的?
  2. 2020/09-2020/11 读书摘录
  3. 现代c++中实现精确延时方法总结
  4. mysql 微博 数据表_微博数据库如何设计-百度经验
  5. 致敬司徒!avalon例子学习
  6. 【bat】获取软件安装目录
  7. 锁存器Latch和触发器Flip-flop的区别
  8. ffmpeg 转换flv压缩大小_使用ffmpeg进行视频文件转换成FLV整理 | 学步园
  9. stm32中断优先级
  10. 值得收藏的5个C++网站