Azure 服务器端加密
Citrix DaaS 通过 Azure Key Vault 支持 Azure 托管磁盘的客户管理加密密钥。借助此支持,您可以使用自己的加密密钥加密计算机目录的托管磁盘,从而管理您的组织和合规性要求。有关详细信息,请参阅 Azure 磁盘存储的服务器端加密。
-
将此功能用于托管磁盘时:
-
要更改磁盘的加密密钥,请在
DiskEncryptionSet中更改当前密钥。与该DiskEncryptionSet关联的所有资源都将更改为使用新密钥进行加密。 -
当您禁用或删除密钥时,任何使用该密钥的磁盘的 VM 都会自动关闭。关闭后,除非重新启用密钥或分配新密钥,否则 VM 将无法使用。任何使用该密钥的目录都无法开机,并且您无法向其中添加 VM。
-
使用客户管理加密密钥时的重要注意事项
-
使用此功能时,请考虑以下事项:
- 与客户管理密钥相关的所有资源(Azure Key Vault、磁盘加密集、VM、磁盘和快照)必须位于同一订阅和区域中。
- 启用客户管理加密密钥后,您将无法在以后禁用它。如果您要禁用或删除客户管理加密密钥,请将所有数据复制到不使用客户管理加密密钥的其他托管磁盘。
- 使用服务器端加密和客户管理密钥从加密自定义映像创建的磁盘必须使用相同的客户管理密钥进行加密。这些磁盘必须位于同一订阅中。
- 使用服务器端加密和客户管理密钥加密的磁盘创建的快照必须使用相同的客户管理密钥进行加密。
- 使用客户管理密钥加密的磁盘、快照和映像无法移动到其他资源组和订阅。
-
当前或以前使用 Azure 磁盘加密加密的托管磁盘不能使用客户管理密钥进行加密。
- 有关每个区域的磁盘加密集限制,请参阅 Microsoft 站点。
注意:
有关配置 Azure 服务器端加密的信息,请参阅 快速入门:使用 Azure 门户创建 Key Vault。
Azure 客户管理加密密钥
创建计算机目录时,您可以选择是否加密目录中预配的计算机上的数据。使用客户管理加密密钥的服务器端加密允许您在托管磁盘级别管理加密并保护目录中计算机上的数据。磁盘加密集 (DES) 表示客户管理密钥。要使用此功能,您必须首先在 Azure 中创建 DES。DES 采用以下格式:
/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet
从列表中选择一个 DES。您选择的 DES 必须与您的资源位于同一订阅和区域中。如果您的映像使用 DES 加密,则在创建计算机目录时请使用相同的 DES。创建目录后,您无法更改 DES。
如果您使用加密密钥创建目录,然后禁用 Azure 中相应的 DES,则您将无法再启动目录中的计算机或向其中添加计算机。
请参阅 使用客户管理密钥创建计算机目录。
使用客户管理加密密钥创建计算机目录
如果您想使用 PowerShell 命令创建计算机目录,并且加密密钥是客户管理密钥,请执行以下操作:
- 打开 PowerShell 窗口。
- 运行
asnp citrix*以加载 Citrix 特定的 PowerShell 模块。 - 输入
cd xdhyp:/。 - 输入
cd .\HostingUnits\(您的托管单元)。 - 输入
cd diskencryptionset.folder。 - 输入
dir以获取磁盘加密集列表。 - 复制磁盘加密集的 ID。
-
创建自定义属性字符串以包含磁盘加密集的 ID。例如:
$customProperties = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"> <Property xsi:type=`"StringProperty`" Name=`"persistWBC`" Value=`"False`" /> <Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"false`" /> <Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /> <Property xsi:type=`"StringProperty`" Name=`"DiskEncryptionSetId`" Value=`"/subscriptions/0xxx4xxx-xxb-4bxx-xxxx-xxxxxxxx/resourceGroups/abc/providers/Microsoft.Compute/diskEncryptionSets/abc-des`"/> </CustomProperties> <!--NeedCopy--> -
如果尚未创建身份池,请创建一个。例如:
New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain def.local -NamingSchemeType Numeric <!--NeedCopy--> -
运行 New-ProvScheme 命令:例如:
New-ProvScheme -CleanOnBoot -HostingUnitName "name" -IdentityPoolName "name" -InitialBatchSizeHint 1 -MasterImageVM "XDHyp:\HostingUnits\azure-res2\image.folder\def.resourcegroup\def.snapshot" -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure-res2\\virtualprivatecloud.folder\def.resourcegroup\def-vnet.virtualprivatecloud\subnet1.network"} -ProvisioningSchemeName "name" -ServiceOffering "XDHyp:\HostingUnits\azure-res2\serviceoffering.folder\Standard_DS2_v2.serviceoffering" -MachineProfile "XDHyp:\HostingUnits\<adnet>\machineprofile.folder\<def.resourcegroup>\<machine profile vm.vm>" -CustomProperties $customProperties <!--NeedCopy--> - 完成计算机目录的创建。