《Windows Azure Platform 系列文章目录

  为什么要使用Azure Key Vault?

  我们假设在微软云Azure上有1个场景,在Windows VM里面有1个.NET应用程序,这个.NET应用程序通过ADO.NET链接字符串,链接到后端的SQL VM。

  如果Windows VM被黑客攻击了,那么黑客在查看ADO.NET的SQL链接字符串,就可以通过里面保存的用户名和密码,直接访问到后端的SQL VM。

  这样SQL VM也被黑客攻击了。

  如果我们针对SQL链接字符串进行加密和访问控制,我们就可以保护好SQL VM里面的数据库

  什么是Key Vault (秘钥保管库)?

  Azure Key Vault可以管理:

  1.密码管理

  Azure Key Vault 可以用来安全地存储令牌、密码、证书、API 密钥和其他机密,并对其访问进行严格控制

  2.证书管理

  Azure Key Vault可以用来管理和部署SSL/TLS证书,这些证书可以与Azure其他服务一起使用,比如CDN使用HTTPS证书

  哪些场景下要使用Azure Key Vault

  1.集中管理应用程序机密

  在 Azure Key Vault 中集中存储应用程序机密就可以控制其分发。 Key Vault 可以大大减少机密意外泄露的可能性。 有了 Key Vault,应用程序开发人员就再也不需要将安全信息存储在应用程序中。 无需将安全信息存储在应用程序中,因此也无需将此信息作为代码的一部分。 例如,如果某个应用程序需要连接到数据库, 则可将连接字符串安全地存储在 Key Vault 中,而不是存储在应用代码中。

  应用程序可以使用 URI 安全访问其所需的信息。 这些 URI 允许应用程序检索特定版本的机密。 这样就不需编写自定义代码来保护存储在 Key Vault 中的任何机密信息。

  

  2.安全地存储机密和密钥
  机密和密钥由 Azure 使用行业标准的算法、密钥长度和硬件安全模块 (HSM) 进行保护。 使用的 HSM 是经验证的联邦信息处理标准 (FIPS) 140-2 级别 2。

  访问密钥保管库需要适当的身份验证和授权,否则调用方(用户或应用程序)无法进行访问。 身份验证用于确定调用方的身份,而授权则决定了调用方能够执行的操作。

  身份验证通过 Azure Active Directory 来完成。 授权可以通过基于角色的访问控制 (RBAC) 或 Key Vault 访问策略来完成。 进行保管库的管理时,使用 RBAC;尝试访问存储在保管库中的数据时,使用密钥保管库访问策略。

  可以对 Azure Key Vault 进行软件或硬件 HSM 保护。 如果需要提高可靠性,可以在硬件安全模块 (HSM) 中导入或生成永不超出 HSM 边界的密钥。 Microsoft 使用 nCipher 硬件安全模块。 你可以使用 nCipher 工具将密钥从 HSM 移动到 Azure Key Vault。

  最后需要指出的是,根据 Azure Key Vault 的设计,Microsoft 无法查看或提取数据。

  

  3.监视访问和使用情况

  创建多个 Key Vault 以后,需监视用户对密钥和机密进行访问的方式和时间。 可以通过启用保管库的日志记录来监视活动。 可以将 Azure Key Vault 配置为执行以下操作:

  •   存档到存储帐户。
  •   流式传输到事件中心。
  •   将日志发送到 Azure Monitor 日志。

  可以控制自己的日志,可以通过限制访问权限来确保日志的安全,还可以删除不再需要的日志。

  

  4.简化应用程序机密的管理

  存储有价值的数据时,必须执行多项步骤。 安全信息必须受到保护,必须遵循某个生命周期,必须高度可用。 Azure Key Vault 可通过以下操作简化满足这些要求的过程:

  •   无需内部硬件安全模块知识
  •   收到通知后很快就可以进行纵向扩展,满足组织的使用高峰需求。
  •   在某个区域内复制 Key Vault 的内容,并将其复制到次要区域。 数据复制可确保高可用性,不需管理员操作即可触发故障转移。
  •   通过门户、Azure CLI 和 PowerShell 提供标准的 Azure 管理选项。
  •   针对从公共 CA 购买的证书自动执行某些任务,如注册和续订。

  另外,还可以通过 Azure Key Vault 来隔离应用程序机密。 应用程序只能访问其有权访问的保管库,并且只能执行特定的操作。 可以为每个应用程序创建一个 Azure Key Vault,仅限特定的应用程序和开发人员团队访问存储在 Key Vault 中的机密。

  5.与其他 Azure 服务集成
  
作为 Azure 中的安全存储,Key Vault 已用于简化如下方案:

  • Azure 磁盘加密
  • SQL 服务器和 Azure SQL 数据库的始终加密功能
  • Azure 应用服务。

  Key Vault 本身可以与存储帐户、事件中心和 Log Analytics 集成。

Azure Key Vault (1) 入门的更多相关文章

  1. Azure Key Vault(二)- 入门简介

    一,引言 在介绍 Azure Key Vault 之前,先简单介绍一下 HSM(硬件安全模块). -------------------- 我是分割线 -------------------- 1,什 ...

  2. 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 ...

  3. Azure Key Vault (3) 在Azure Windows VM里使用Key Vaule

    <Windows Azure Platform 系列文章目录> 本章我们介绍如何在Azure Windows VM里面,使用.NET使用Azure Key Vault 我们需要对Key V ...

  4. Azure Key Vault (2) 使用Azure Portal创建和查看Azure Key Vault

    <Windows Azure Platform 系列文章目录> 请注意: 文本仅简单介绍如何在Azure Portal创建和创建Key Vault,如果需要结合Application做二次 ...

  5. 【Azure Developer】Python代码通过AAD认证访问微软Azure密钥保管库(Azure Key Vault)中机密信息(Secret)

    关键字说明 什么是 Azure Active Directory?Azure Active Directory(Azure AD, AAD) 是 Microsoft 的基于云的标识和访问管理服务,可帮 ...

  6. 【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code

    问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题, ...

  7. 【Azure 环境】Azure Key Vault (密钥保管库)中所保管的Keys, Secrets,Certificates是否可以实现数据粒度的权限控制呢?

    问题描述 Key Vault (密钥保管库) 能不能针对用户授权实现指定用户只能访问某个或某些特定的key? 如当前有两个用户(User1, User2),在Key Vault中有10个Key,Use ...

  8. 【Azure Developer - 密钥保管库 】使用 Python Azure SDK 实现从 Azure Key Vault Certificate 中下载证书(PEM文件)

    问题描述 在Azure Key Vault中,我们可以从Azure门户中下载证书PEM文件到本地. 可以通过OpenSSL把PFX文件转换到PEM文件.然后用TXT方式查看内容,操作步骤如下图: Op ...

  9. 【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息

    问题描述 创建一个Java Console程序,用于使用Azure Key Vault Secret.在VS Code中能正常Debug,但是通过mvn clean package打包为jar文件后, ...

随机推荐

  1. 一个Netfilter nf_conntrack流表查找的优化-为conntrack添加一个per cpu cache

    独悲须要忍受.快乐须要分享对Linux协议栈多次perf的结果,我无法忍受conntrack的性能,然而它的功能是如此强大,以至于我无法对其割舍,我想自己实现一个高速流表.可是我不得不抛弃依赖于con ...

  2. MySQL命令学习(一)

    今天我们来学习一下MySQL中的经常使用命令(MySQL中的命令keyword是不区分大写和小写的): (1)show databases; 显示MySQL中的全部database (2)create ...

  3. Android——滑动事件冲突解决

    android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件. android系统中的每个View的子类都具有下面三个与TouchEvent处理密切相关的方法: (1) ...

  4. 解决"Subquery returns more than 1 row"sql查询错误

    http://blog.csdn.net/c517984604/article/details/7052186 [Err] 1242 - Subquery returns more than 1 ro ...

  5. 小贝_mysql select连接查询

    select连接查询 简要: 一.union联合查询 二.左右内连接 一.union联合查询 作用: 把2次或多次查询结果合并起来 具体: (表1查询结果) union (表2查询结果) 运行: 先算 ...

  6. 如何打造你的独特观点(一) ——形成“自己的想法”的基础课zz

    信息过载的时代,能在各种KOL的声音中保持独立思考很不容易,能输出独特观点又进一层.不断练习我们独立思考的能力,有助于看清周围复杂的事物,也能让我们在日常生活中给人留下“有趣之人”的印象,提升人际交往 ...

  7. Hadoop学习笔记(一)——Hadoop体系结构

    HDFS和MapReduce是Hadoop的两大核心. 整个Hadoop体系结构主要是通过HDFS来实现分布式存储的底层支持的,而且通过MapReduce来实现分布式并行任务处理的程序支持. 一.HD ...

  8. Bootstrap Table 查询(服务器端)、刷新数据

    Refresh from url after use data option <!DOCTYPE html> <html> <head> <title> ...

  9. SAM4E单片机之旅——5、LED呼吸和PWM

    PWM在高频情况下,一个很好的用处就是通过控制占空比来控制输出的功率,比如控制风扇转速.LED灯的亮度等.这次就利用PWM的中断功能,动态改变脉冲的占空比,来实现呼吸灯的效果. 一.实现思路 PWM可 ...

  10. ZOJ 3551 Bloodsucker <概率DP>

    题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3551 题意:开始有N-1个人和一个吸血鬼, 每天有两个生物见面,当人 ...