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 ...
随机推荐
- socket ThreadingTCPServer学习笔记
文件上传#服务端 while True: conn,address = sk.accept() conn.sendall(bytes('欢迎你小sb',encoding='utf-8')) str_s ...
- 精尽Spring MVC源码分析 - 寻找遗失的 web.xml
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- uniapp保存图片到本地(APP和微信小程序端)
uniapp实现app端和微信小程序端图片保存到本地,其它平台未测过,原理类似. 微信小程序端主要是权限需要使用button的开放能力来反复调起,代码如下: 首先是条件编译两个平台的按钮组件: < ...
- jenkins+ant+jmeter实现自动化集成(详解)
jenkins+ant+jmeter实现自动化集成 for window 一.jmeter 1.jmeter安装 二.ant 1.ant安装 三.ant运行 jmeter脚本 1.配置 四.jenki ...
- Java IO流 BufferedInputStream、BufferedOutputStream的基本使用
BufferedInputStream.BufferedOutputStream的基本使用 BufferedInputStream是FilterInputStream流的子类,FilterInputS ...
- Spring(一)--简介
一.概述(什么是spring): Spring是分层的Java SE/EE应用full-stack(一站式)轻量级开源框架.他解决的是业务逻辑层和其他各层的松耦合问题,将面向接口的编程思想贯穿整个系统 ...
- 深入LUA脚本语言,让你彻底明白调试原理
这是道哥的第008篇原创 一.前言 上篇文章我们聊了gdb的底层调试机制,明白了gdb是利用操作系统提供的系统信号来调试目标程序的.很多朋友私下留言了,看到能帮助到大家,我心里还是很开心的,其实这也是 ...
- [日常摸鱼]poj1151Atlantis-扫描线
题意:给一堆长宽平行于坐标轴的长方形求并的面积 我个沙茶快写了一晚上- 大概思想就是先根据$y$坐标排个序,把$y$坐标离散化一下,放到线段树里面维护,这里的写法是让线段树的节点储存这个点对应的整段线 ...
- 多任务-python实现-使用队列完成进程间的通信(2.1.8)
@ 目录 1.为什么要使用队列 2.python代码实现 1.为什么要使用队列 进程之间是互相独立的,而线程能够共享全局变量 所以如果进程间想要交换数据的话 只有通过进程间的通信,比如socket.太 ...
- 钩子与API截获
http://www.pudn.com/Download/type/id/19.html