Azureサーバー側暗号化
Citrix DaaSは、Azure Key Vaultを使用してAzure Managed Disksの顧客が管理する暗号化キーをサポートします。 このサポートにより、独自の暗号キーを使用してマシンカタログの管理対象ディスクを暗号化して、組織およびコンプライアンスの要件を管理できます。 詳しくは、「Azure Disk Storageのサーバー側暗号化」を参照してください。
管理対象ディスクにこの機能を使用する場合:
-
ディスクが暗号化されているキーを変更するには、
DiskEncryptionSetの現在のキーを変更します。DiskEncryptionSetに関連付けられているすべてのリソースは、新しいキーで暗号化されるように変更されます。 -
キーを無効にするか削除すると、そのキーを使用するディスクのあるVMはすべて自動的にシャットダウンします。 シャットダウン後、キーを再度有効にするか、新しいキーを割り当てない限り、VMは使用できません。 このキーを使用するカタログの電源をオンにすることはできません。また、VMをカタログに追加することもできません。
顧客が管理する暗号化キーを使用する場合の重要な考慮事項
この機能を使用するときは、次のことに注意してください:
- 顧客が管理するキーに関連するすべてのリソース(Azure Key Vault、ディスク暗号化セット、VM、ディスク、スナップショット)は、同じサブスクリプションとリージョンに配置される必要があります。
- 顧客が管理する暗号化キーを有効にすると、後で無効にすることはできません。 顧客が管理する暗号化キーを無効にする、または削除する場合は、顧客が管理する暗号化キーを使用していない別の管理対象ディスクにすべてのデータをコピーします。
- サーバー側暗号化と顧客が管理するキーを使用して暗号化されたカスタムイメージから作成されたディスクは、同じ顧客が管理するキーを使用して暗号化する必要があります。 これらのディスクは同じサブスクリプションでカバーされる必要があります。
- サーバー側暗号化と顧客が管理するキーを使用して暗号化されたディスクから作成されたスナップショットは、同じ顧客が管理するキーを使用して暗号化する必要があります。
- 顧客が管理するキーで暗号化されたディスク、スナップショット、イメージは、別のリソースグループおよびサブスクリプションに移動できません。
-
Azure Disk Encryptionを使用して現在暗号化されている、または以前に暗号化された管理対象ディスクは、顧客が管理するキーを使用して暗号化することはできません。
- リージョンごとのディスク暗号化セットの制限については、Microsoft社のサイトを参照してください。
注
Azureサーバー側暗号化の構成については、「クイックスタート:Azure Portalを使用してキーコンテナを作成する」を参照してください。
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--> -
IDプールをまだ作成していない場合は作成します。 次に例を示します:
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--> - マシンカタログの作成を完了します。