Azure Key Valut 简介
Azure Key Vault(密钥库)是用于安全地存储和访问Secret的云服务,Secret是需要严格控制访问权限的内容,例如API密钥,密码,证书或加密密钥。Key Vault Service支持两种类型的容器:保管库(Valut)和托管HSM池(Hardware Security Module Pools)。 Valut支持存储软件和HSM-backed的密钥,Secret和证书,托管HSM池仅支持HSM-backed的密钥。
用户从Key Valut中获取Secret,使用Secret作为身份验证来访问数据。
一,Azure Key Valut的作用
Azure Key Vault是用于管理密钥,机密和证书的云服务,Key Vault避免了开发人员直接在代码中存储Secret信息的情况。Key Valut可以集中存储应用程序Secret,这大大减少了Secret被泄露的可能。Key Valut不经能够安全地存储由HSM支持的Secret和Key,还提供了对所有Secret访问和尝试使用的日志,因此具有完整的审核跟踪以确保合规性。
- Secret 管理:Azure Key Valut用于安全地存储和严格控制对token,密码,证书,API密钥和其他Secret的访问
- 密钥管理:Azure Key Vault可以用作密钥管理解决方案,使用Azure Key Vault可以轻松创建和控制用于加密数据的加密密钥。
- 证书管理:Azure Key Vault也是一项服务,使您可以轻松地设置,管理和部署公共和私有传输层安全性/安全套接字层(TLS / SSL)证书,以与Azure和内部连接的资源一起使用。
Azure Key Vault具有两个服务层:使用软件密钥加密的标准服务层和包含受HSM保护的密钥的高级服务层。
二,Azure Key Valut的相关概念
租户(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 Valut提供了一种安全地存储凭据以及其他密钥和Secret的方法,但是您的代码需要通过Key Valut进行身份验证才能检索它们。使用托管身份可以很简单地解决此问题:通过在Azure AD中为Azure服务提供自动托管身份,用户可以使用此托管身份对Key Vault或支持Azure AD身份验证的任何服务进行身份验证,而无需在代码中包含任何凭据。
访问Key Valut: 要对Key Vault进行任何操作,首先需要对其进行身份验证。 推荐使用“Azure资源的托管身份”对Key Vault进行身份验证。当向Azure中的虚拟机上部署应用程序时,可以向有权访问Key Vault的虚拟机分配身份,还可以把身份分配给其他Azure资源,这种方法的好处是应用程序或服务不负责管理第一个Secret的轮换, Azure自动旋转身份。
三,创建Azure Key Valut
使用Partal UI创建Azure Key Valut
step1:Basic 选项卡
Basic 选项卡部分,第一部分是设置Subscription 和 Resource Group,第二部分是设置Soft Deletion

软删除保护将自动在此密钥库(Key Valut)上启用,此功能用于在保留期内恢复或永久删除密钥库和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)”

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

点击“+Generate/Import”,打开“Create a Secret”对话框,新建一个Secret,一个Secret主要是由Name和Value来构成的。

用户从Key Valut中获取Secret,使用Secret作为身份验证来访问数据。
参考文档:
Azure Key Valut 简介的更多相关文章
- Azure Key Vault(二)- 入门简介
一,引言 在介绍 Azure Key Vault 之前,先简单介绍一下 HSM(硬件安全模块). -------------------- 我是分割线 -------------------- 1,什 ...
- The thumbprint of same asymmetric key is not same in 'SQL Server Connector for Microsoft Azure Key Vault' 1.0.4.0 and 'SQL Server Connector for Microsoft Azure Key
https://support.microsoft.com/en-us/help/4470999/db-backup-problems-to-sql-server-connector-for-azur ...
- Azure Key Vault (3) 在Azure Windows VM里使用Key Vaule
<Windows Azure Platform 系列文章目录> 本章我们介绍如何在Azure Windows VM里面,使用.NET使用Azure Key Vault 我们需要对Key V ...
- Azure Key Vault (2) 使用Azure Portal创建和查看Azure Key Vault
<Windows Azure Platform 系列文章目录> 请注意: 文本仅简单介绍如何在Azure Portal创建和创建Key Vault,如果需要结合Application做二次 ...
- Azure Key Vault (1) 入门
<Windows Azure Platform 系列文章目录> 为什么要使用Azure Key Vault? 我们假设在微软云Azure上有1个场景,在Windows VM里面有1个.NE ...
- 【Azure Developer】Python代码通过AAD认证访问微软Azure密钥保管库(Azure Key Vault)中机密信息(Secret)
关键字说明 什么是 Azure Active Directory?Azure Active Directory(Azure AD, AAD) 是 Microsoft 的基于云的标识和访问管理服务,可帮 ...
- 【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code
问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题, ...
- 【Azure 环境】Azure Key Vault (密钥保管库)中所保管的Keys, Secrets,Certificates是否可以实现数据粒度的权限控制呢?
问题描述 Key Vault (密钥保管库) 能不能针对用户授权实现指定用户只能访问某个或某些特定的key? 如当前有两个用户(User1, User2),在Key Vault中有10个Key,Use ...
- 【Azure Developer - 密钥保管库 】使用 Python Azure SDK 实现从 Azure Key Vault Certificate 中下载证书(PEM文件)
问题描述 在Azure Key Vault中,我们可以从Azure门户中下载证书PEM文件到本地. 可以通过OpenSSL把PFX文件转换到PEM文件.然后用TXT方式查看内容,操作步骤如下图: Op ...
随机推荐
- JavaScript:防抖与节流
①防抖: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- 精尽Spring MVC源码分析 - HandlerAdapter 组件(三)之 HandlerMethodArgumentResolver
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- 网站开发学习Python实现-Django学习-介绍(6.1.1)
@ 目录 1.MVT 2.ORM 关于作者 1.MVT 主要的目的是为了快速,简便的开发数据库驱动的网站,强调代码的复用,多个组件可以很方便以插件的方式服务于整个框架,采用的是MVT设计模式(差不多的 ...
- 使用php进行微信小程序图片安全验证
想用到微信公众平台的图片识别系统,结果报错{"errcode":41005,"errmsg":"media data missing hint: [x ...
- 图数据库 Nebula Graph 在 Boss 直聘的应用
本文首发于 Nebula Graph 官方博客:https://nebula-graph.com.cn/posts/nebula-graph-risk-control-boss-zhipin/ 摘要: ...
- Linux环境下使用logrotate工具实现nginx日志切割
一. 前提背景及需求 nginx运行日志默认保存在nginx安装目录下的 /usr/local/nginx/logs 文件夹, 包含access.log和error.log两个文件. (1) acce ...
- Flutter ListTile - Flutter每周一组件
该文章属于[Flutter每周一组件]系列,其它组件可以查看该系列下的文章,该系列会不间断更新:所有组件的demo已经上传值Github: https://github.com/xj124456/fl ...
- Blogs实现侧边公告栏设置
说明:只需要在博客侧边栏公告(支持HTML代码) (支持 JS 代码)里面添加如下代码 #1.博客运行时长统计 <!--博客运行时长显示开始--!> <div id="sh ...
- 【进程/作业管理】篇章一:Linux进程及其管理(进程管理类工具)----pstree、ps、top、htop、kill、(killall、pkill、pgrep、pidof)
主要讲解进程管理类命令及工具的使用:pstree.ps.top.htop.kill.(killall.pkill.pgrep.pidof) pstree 以树状图的方式展现进程之间的派生关系,显示效果 ...
- Spring-步入Spring旅途
一.Spring前言 讲Spring之前先写段代码,体会一下Java创建对象的方式,这块你理解了对后面有好处! 1.原始时代-new对象 直接new创建对象,代码如下: //User.java pac ...