以下内容介绍 Azure Disk Encryption(Azure磁盘加密)的概念、使用场景、所支持的 Linux 发行版本及对Azure VM虚拟机进行磁盘加密操作。

Azure磁盘加密简介

Azure磁盘加密即Azure Disk Encryption是一个可加密 Azure IaaS VM 中 Linux 和 Windows 磁盘的新功能,Azure Disk Encryption 主要通过 Linux 操作系统的 DM-Crypt 特性和 Windows 的 BitLocker 功能等行业标准来加密操作系统和数据磁盘中的数据,以帮助用户保护数据安全和企业隐私。它可以帮助你满足企业安全与合规要求。

Azure磁盘加密与 Azure Key Vault 功能集成,以帮助你控制和管理磁盘的加密密钥,同时确保所有数据都以加密形式存储到 Azure Storage。

Azure磁盘加密场景

Azure Disk Encryption 解决方案主要支持如下 3 种用户的加密场景:

1.使用加密密钥生成新的 Azure VM VHD。

2.使用加密密钥从 Azure Gallery 创建 Azure VM。

3.加密已在线运行的 Azure VM。

Azure磁盘加密支持以下Linux发行版

在以下 Linux 服务器分发和版本上支持 Azure 磁盘加密:

Linux 分发版

版本

支持加密的卷类型

Ubuntu

16.04/18.04-DAILY-LTS

OS 和数据磁盘

Ubuntu

14.04.5-DAILY-LTS

OS 和数据磁盘

RHEL

7.5

数据磁盘*

RHEL

7.4

数据磁盘*

RHEL

7.3

数据磁盘*

RHEL

7.2

数据磁盘*

RHEL

6.8

数据磁盘*

RHEL

6.7

数据磁盘*

CentOS

7.4

OS 和数据磁盘

CentOS

7.3

OS 和数据磁盘

CentOS

7.2n

OS 和数据磁盘

CentOS

6.8

OS 和数据磁盘

CentOS

7.1

数据磁盘

CentOS

7.0

数据磁盘

CentOS

6.7

数据磁盘

CentOS

6.6

数据磁盘

CentOS

6.5

数据磁盘

openSUSE

13.2

数据磁盘

SLES

12 SP1

数据磁盘

SLES

Priority:12-SP1

数据磁盘

SLES

HPC 12

数据磁盘

SLES

Priority:11-SP4

数据磁盘

SLES

11 SP4

数据磁盘

* RHEL 支持将 ADE 用于数据磁盘。当前的 ADE 实现适用于 OS 磁盘,但当前并非联合支持。Microsoft 和 Red Hat 都在努力实现联合支持解决方案。

Azure磁盘加密常见问题解答

Q:哪些用户可以使用Azure磁盘加密?

A:Azure Disk Encryption 支持使用 ARM 模板、Azure PowerShell 和 Azure CLI 的所有用户,提供了非常大的灵活性。

Q:Azure Disk Encryption 使用成本是多少?

A:目前测试期间无使用费用,正式发布之后的定价将遵循市场一般准则。

Q:Azure Disk Encryption 是否与 Azure Key Vault 集成?

A:是的,Azure Disk Encryption 使用 Azure Key Vault 进行密钥存储。

Q:Azure Disk Encryption 是否实现了「BYOK」能力?

A:是的,你可以提供自己的加密密钥。

Q:Azure磁盘加密可以同时加密启动盘和数据磁盘吗?

A:是的,可以。

Q:哪些 Azure 数据中心可以使用 Azure Disk Encryption?

A:目前已在 Microsoft Azure(国际版)所有数据中心开始提供服务,但加密密钥必需与加密虚拟机存储在同一区域。

Q:是否可以使用 Azure 磁盘加密来加密引导卷和数据卷?

A:是的,可以加密 Windows 和 Linux IaaS VM 的引导卷和数据卷。 对于 Windows VM,在不事先加密 OS 卷的情况下无法加密数据。 对于 Linux VM,可以在不事先加密 OS 卷的情况下加密数据卷。 加密 Linux 的 OS 卷之后,不支持针对 Linux IaaS VM 的 OS 卷禁用加密。

Q:是否可对自定义 Linux 映像应用 Azure 磁盘加密?

A:不能对自定义 Linux 映像应用 Azure 磁盘加密。 仅支持上述受支持分发版的 Linux 库映像。目前不支持自定义 Linux 映像。

Q:对于 Linux,应使用哪种 Azure 磁盘加密工作流?

A:为在 Linux 上获得最佳结果,建议使用以下工作流:

从与所需的 OS 发行版和版本相对应的未修改存储库映像启动

备份要加密的任何已装载的驱动器。 这是为了可在失败时进行恢复,例如 VM 在加密完成前重启。

加密(可能需要多个小时或甚至几天时间,具体取决于 VM 的特征和任何附加数据磁盘的大小)

根据需要自定义软件,并将其添加到映像。

如果此工作流不可用,可在平台存储帐户层使用存储服务加密 (SSE),作为通过 dm-crypt 实现完整磁盘加密的一个替代方法。

Q:是否可以向使用 yum 更新的 Linux Red Hat VM 应用更新?

A:是的,可以对 Red Hat Linux VM 执行更新或修补。

Q:磁盘“Bek 卷”或“/mnt/azure_bek_disk”是什么?

A:“Bek 卷”(适用于 Windows)或“/mnt/azure_bek_disk”(适用于 Linux)是安全存储用于加密 Azure IaaS VM 的加密密钥的本地数据卷。

对Azure VM虚拟机进行磁盘加密操作

前提条件:

为保证顺利实施 Azure VM 磁盘加密,需要大家的操作环境满足如下前提条件:

1.Azure 订阅。

2.Azure PowerShell:请务必使用最新版本的 Azure PowerShell 来配置 Azure Disk Encryption。

3.Azure 密钥保管库:Azure Disk Encryption 使用 Azure 密钥保管库进行密钥存储,为了保证加密密钥不能跨越 Azure 数据中心边界,所以 Azure Disk Encryption 需要密钥保管库与要加密的 VM 共存于同一区域。

4.Azure Active Directory:为将加密密钥写入特定的密钥保管库,Azure Disk Encryption 需要使用 Azure AD 的应用程序客户端 ID和密钥以保证有权限读写 Azure 密钥保管库。

5.Azure VM:Azure Disk Encryption 功能仅适用于使用 ARM 创建的 Azure VM。

一、加密Azure VM

满足以上列出的条件后,我们便可以开始着手加密一台 Azure VM。请按如下步骤在 Azure PowerShell 中进行操作:

1.登录 Azure 管理员账号

Login-AzureRmAccount

2.获取可用 Azure 订阅

Get-AzureRmSubscription

3.选择要加密 Azure VM 所在订阅

Select-AzureRmSubscription -SubscriptionName ""

4.在正式加密 Azure VM 之前,我们先在 PowerShell 中预先初始化一些变量,诸如:资源组名称、指定要加密的虚拟机、密钥保管库、Azure AD 信息等。

$rgName = ‘资源组名称';

$vmName = ‘虚拟机名称';

$aadClientID = 'Azure AD 应用程序客户端ID';

$aadClientSecret = 'Azure AD 应用程序密钥';

$KeyVaultName = ‘KeyVault名称';

$KeyVault = Get-AzureRmKeyVault -VaultName $KeyVaultName -ResourceGroupName $rgname;

$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;

$KeyVaultResourceId = $KeyVault.ResourceId;

5.在虚拟机加密过程中,所产生的加密密钥将被写入到密钥保管库,因此 Azure AD 应用程序必需有将机密数据写入到密钥保管库的权限。大家可以使用如下命令来进行授权:

Set-AzureRmKeyVaultAccessPolicy -VaultName $KeyVaultName -ServicePrincipalName $aadClientID -PermissionsToKeys all -PermissionsToSecrets all -ResourceGroupName $rgname;

6.使用如下命令启用 Azure 密钥保管库对 Azure Disk Encryption 磁盘加密的支持功能:

Set-AzureRmKeyVaultAccessPolicy -VaultName $KeyVaultName -ResourceGroupName $rgname –EnabledForDiskEncryption

在所有准备工作都完成之后,当然就是要实际对 Azure VM 进行加密操作了。使用 Set-AzureRmVmDiskEncryptionExtension 可直接启用 Azure VM 的加密选项,该 cmdlet 会使用指定 Azure AD 凭据将加密密钥写入到密钥保管库之后开始对虚拟机执行加密操作。

Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $rgname -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId;

由于加密操作过程会执行 10 至 15分钟,时间会比较长,而且可能会重启虚拟机,所以大家在操作前最好先保存正常执行的操作。

一旦你已经启用或部署加密的 Azure VM,可以使用 Get-AzureRmVmDiskEncryptionStatus cmdlet 查看系统盘、数据盘加密状态和加密密钥所在密钥保管库的实际 URL:

Get-AzureRmVmDiskEncryptionStatus  -ResourceGroupName $rgname -VMName $vmName

二、列出已加密虚拟机

如果您的订阅中有很多虚拟机,并要分别查看虚拟机的系统盘的数据盘的加密状态,可以使用如下 Powershell 脚本:

$osVolEncrypted = {(Get-AzureRmVMDiskEncryptionStatus -ResourceGroupName $_.ResourceGroupName -VMName $_.Name).OsVolumeEncrypted}

$dataVolEncrypted= {(Get-AzureRmVMDiskEncryptionStatus -ResourceGroupName $_.ResourceGroupName -VMName $_.Name).DataVolumesEncrypted}

Get-AzureRmVm | Format-Table @{Label=”VM”; Expression={$_.Name}}, @{Label=”系统盘加密状态”; Expression=$osVolEncrypted}, @{Label=”数据盘加密状态”; Expression=$dataVolEncrypted} -AutoSize

三、列出加密磁盘对应密钥

要查看订阅中所有已使用 Azure Disk Encryption 功能加密的磁盘及其在密钥保管库中所对应的加密密钥,可以使用如下脚本:

Get-AzureKeyVaultSecret -VaultName $KeyVaultName | where {$_.Tags.ContainsKey('DiskEncryptionKeyFileName')} | format-table @{Label='VM'; Expression={$_.Tags['MachineName']}}, @{Label='VolumeLetter'; Expression={$_.Tags['VolumeLetter']}}, @{Label='EncryptionKeyURL'; Expression={$_.Id}}

相关主题

linux磁盘加密bitlocker,Azure Disk Encryption(Azure磁盘加密)能用在Linux和Windows下相关推荐

  1. 【数据安全】2. Android 全盘加密(Full Disk Encryption)技术介绍

    FDE (Full disk encryption) 的发展经历了几个阶段: 基于软件/硬件实现的 dm-crypt 基于硬件 GPCE 实现的 request-dm-crypt 基于硬件 ICE 实 ...

  2. Full Disk Encryption(FDE)全盘加密开关

    android L 搭载 Android 5.0 系统的 Nexus 6 在强制开启了 FDE 的情况下,随机读取性能下降了 62.9%,随机写入性能下降了 50.5%,有序读取性能的下降幅度达到了惊 ...

  3. linux非root上传文件,root账号无法上传文件到Linux服务器

    普通权限的账号,通过ftp工具,可以正常连上Linux服务器,可以正常上传文件.但是root账号却无法上传文件. 网上搜了半天才知道,默认情况下vsftp是不允许root用户登录的,可以通过修改限制来 ...

  4. dll可以在linux下使用吗_无需虚拟技术,6步直接在Windows下使用Linux

    Windows和Linux是大家熟知并且常用的两大操作系统.相信每一个使用计算机的人,都至少使用过它们其中之一.但由于它们之间的竞争关系和不同内核技术.所以我们一直认为它们之间很难共存,虽然伴随着虚拟 ...

  5. python读写磁盘扇区数据有什么用_磁盘存放数据原理 - osc_v8xs2czi的个人空间 - OSCHINA - 中文开源技术交流社区...

    磁盘结构作用数据原理 拓扑图 盘面(side) 模型: 1.磁盘圆形盘面,一个磁盘内含有多个盘面. 2.层叠关系,每个盘面之间不会贴着. 3.第一个盘的正面成为0面,反面为1面:第二个盘正面为2面,反 ...

  6. ZYNQ LINUX开发笔记——windows下用xilinx SDK编译zynq linux app小程序

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZYNQ LINUX开发笔记--windows下用xilinx SDK编译zynq linux app小程序 前言 操作方法 总结 前 ...

  7. linux磁盘加密bitlocker,亲身体验Windows 2008 Server R2下的BitLocker驱动器加密

    微软新近推出的一款磁盘加密工具BitLocker驱动器加密(BitLocker Drive Encryption)听说功能非常强,即使你的磁盘不幸丢失了,也无须担心其中的隐私数据被别人看到,因为即使把 ...

  8. windows azure mysql data disk_调整Azure中虚拟机数据磁盘大小实践

    首先,在Azure中关于数据存储的付费规则中规定,只要你使用的不是Azure的XIO高级存储提供的I/O密集型的高吞吐低延迟的服务,那么得益于Azure存储设计中采用的稀疏文件方式存储,存储虚拟机VH ...

  9. 使用 Azure CLI 管理 Azure 虚拟网络和 Linux 虚拟机

    Azure 虚拟机使用 Azure 网络进行内部和外部网络通信. 本教程将指导读者部署两个虚拟机,并为这些 VM 配置 Azure 网络. 本教程中的示例假设 VM 将要托管包含数据库后端的 Web ...

  10. 微软Azure首席架构师John Gossman就微软加入Linux基金会一事答疑

    微软作为一个白金会员加入了Linux基金会,继续向开放源码进军. \\ John Gossman是微软Azure团队的首席架构师,也是Linux基金会董事会成员.InfoQ采访了他. \\ InfoQ ...

最新文章

  1. pandas dataframe缺失值(np.nan)处理:识别缺失情况、删除、0值填补、均值填补、中位数填补、加缺失标签、插值填充详解及实例
  2. 修改android studio中的avd sdk路径、avd sdk找不到的解决方案
  3. pythonweb毕业设计-[分享]我发现了一个快速完成物联网毕业设计的好方法!
  4. 马化腾和扎克伯格,为什么抢着押注元宇宙?
  5. 机器人学习--Gazebo学习--模型库和编辑模型
  6. I.MX6ULL芯片介绍 —— 迅为
  7. Python应用02 Python服务器进化
  8. drupal 迁移_关于如何迁移到Drupal的4个技巧
  9. SQL Server 2016完整数据库备份的演练
  10. Linux- 日常运维-w-查看系统负载
  11. 在ListView中使用DropDownList绑定数据……好麻烦
  12. 为什么黑客都用python-为什么黑客需要学习C++和Python?
  13. iOS开发之控制器之间传值
  14. VS2008 ACtivex 制作CAB带 Vcredist_x86.exe 方案
  15. 训练集、验证集和测试集的比较
  16. jieba库和wordcloud库
  17. html怎么调用jq和js,js的outerHTML 与jquery的prop()的用法
  18. JSCRIPT如何调试
  19. Flutter 倒计时
  20. 匀速运动,太空版愤怒的小鸟

热门文章

  1. php网站系统说明,国外CMS系统介绍(总结)
  2. matlab求一维热传导方程数值解代码,一维热传导方程数值解法及matlab实现
  3. 超市条码扫描枪使用前如何进行参数设置
  4. HTML网页设计结课作业~仿小米商城网站纯HTML模板源码(HTML+CSS)
  5. 给信号添加指定信噪比的带限白噪声
  6. 高斯白噪声仿真-复信号分析
  7. C#开发工厂ERP生产管理系统源码
  8. 平衡小车之家--风力摆开箱实录(附资料)
  9. PLC1200配方功能使用---配方功能快速入门
  10. 对称加密算法和非对称加密算法的完美结合