Включение шифрования дисков в узлах кластера Azure Service Fabric на платформе WIndows

Из этого руководства вы узнаете, как включить шифрование дисков на узлах кластера Azure Service Fabric в WIndows. Эти действия потребуется выполнить для каждого типа узлов и масштабируемых наборов виртуальных машин. Для шифрования узлов мы будем использовать возможности шифрования дисков Azure для масштабируемых наборов виртуальных машин.

В этом руководстве рассматриваются следующие темы.

  • Основные понятия, которые следует учитывать при включении шифрования дисков в масштабируемых наборах виртуальных машин кластера для Service Fabric в Windows.
  • Действия, которые следует выполнить перед включением шифрования дисков на узлах кластера Service Fabric в Windows.
  • Действия, которые следует выполнить перед включением шифрования дисков на узлах кластера Service Fabric в Windows.

Примечание

Для взаимодействия с Azure рекомендуется использовать модуль Azure Az PowerShell. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Предварительные требования

Самостоятельная регистрация

Для предварительного просмотра шифрования дисков в масштабируемом наборе виртуальных машин требуется самостоятельная регистрация. Выполните указанные ниже действия.

  1. Затем выполните следующую команду:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Подождите около 10 минут, чтобы статус изменился на Зарегистрировано. Вы можете проверить статус, выполнив следующую команду:
    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
    

Azure Key Vault

  1. Создайте хранилище ключей в той же подписке и регионе, что и масштабируемый набор, а затем выберите политику доступа EnabledForDiskEncryption в хранилище ключей, используя командлет PowerShell. Вы также можете установить политику с помощью пользовательского интерфейса Key Vault на портале Azure посредством следующей команды:
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
    
  2. Установите последнюю версию Azure CLI, в которой есть новые команды шифрования.
  3. Установите последнюю версию пакета Azure SDK из Azure PowerShell. Ниже приведены командлеты Azure Disk Encryption масштабируемого набора виртуальных машин для включения (Set) шифрования, получения (Get) состояния шифрования и удаления (disable) шифрования в экземпляре масштабируемого набора.
Get-Help Версия Источник
Get-AzVmssDiskEncryptionStatus 1.0.0 и более поздней версии Az.Compute
Get-AzVmssVMDiskEncryptionStatus 1.0.0 и более поздней версии Az.Compute
Disable-AzVmssDiskEncryption 1.0.0 и более поздней версии Az.Compute
Get-AzVmssDiskEncryption 1.0.0 и более поздней версии Az.Compute
Get-AzVmssVMDiskEncryption 1.0.0 и более поздней версии Az.Compute
Set-AzVmssDiskEncryptionExtension 1.0.0 и более поздней версии Az.Compute

Поддерживаемые сценарии для шифрования дисков

  • Шифрование масштабируемых наборов виртуальных машин поддерживается только для масштабируемых наборов, созданных с помощью управляемых дисков. Оно не поддерживается для масштабируемых наборов на основе собственных (или неуправляемых) дисков.
  • Шифрование масштабируемого набора виртуальных машин поддерживается для томов операционной системы и данных в масштабируемых наборах Windows. Отключение шифрования поддерживается для томов операционной системы и данных в масштабируемых наборах виртуальных машин в Windows.
  • В текущей предварительной версии не поддерживаются операции пересоздания образа и обновления масштабируемых наборов виртуальных машин.

Создание нового кластера и включение шифрования дисков

Используйте следующие команды для создания кластера и включения шифрования дисков с использованием шаблона Azure Resource Manager и самозаверяющего сертификата.

Вход в Azure

Выполните вход с помощью следующих команд:

Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Использование собственного пользовательского шаблона

Если необходимо создать пользовательский шаблон в соответствии с потребностями, настоятельно рекомендуется начать с одного из шаблонов, доступных на странице примеров шаблонов создания кластера Azure Service Fabric. Для настройки шаблона кластера изучите следующие руководства.

Если у вас уже есть пользовательский шаблон, дважды проверьте, что все три параметра, связанные с сертификатом, в шаблоне и файле параметров имеют указанные ниже имена, а значения равны нулю.

   "certificateThumbprint": {
      "value": ""
    },
    "sourceVaultValue": {
      "value": ""
    },
    "certificateUrlValue": {
      "value": ""
    },
$resourceGroupLocation="westus"
$resourceGroupName="mycluster"
$CertSubjectName="mycluster.westus.cloudapp.azure.com"
$certPassword="Password!1" | ConvertTo-SecureString -AsPlainText -Force 
$certOutputFolder="c:\certificates"

$parameterFilePath="c:\templates\templateparam.json"
$templateFilePath="c:\templates\template.json"


New-AzServiceFabricCluster -ResourceGroupName $resourceGroupName -CertificateOutputFolder $certOutputFolder -CertificatePassword $certpassword -CertificateSubjectName $CertSubjectName -TemplateFile $templateFilePath -ParameterFile $parameterFilePath 


declare certPassword=""
declare resourceGroupLocation="westus"
declare resourceGroupName="mylinux"
declare certSubjectName="mylinuxsecure.westus.cloudapp.azure.com"
declare parameterFilePath="c:\mytemplates\linuxtemplateparm.json"
declare templateFilePath="c:\mytemplates\linuxtemplate.json"
declare certOutputFolder="c:\certificates"


az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation  \
	--certificate-output-folder $certOutputFolder --certificate-password $certPassword  \
	--certificate-subject-name $certSubjectName \
    --template-file $templateFilePath --parameter-file $parametersFilePath

Разверните приложение в кластере Service Fabric в Windows

Чтобы развернуть приложение в кластере, следуйте инструкциям в статье Развертывание и удаление приложений с помощью PowerShell.

Включение шифрования дисков для масштабируемых наборов виртуальных машин, созданных ранее

Чтобы включить шифрование дисков для масштабируемых наборов виртуальных машин, созданных на предыдущих шагах, выполните следующие команды:


$VmssName = "nt1vm"
$vaultName = "mykeyvault"
$resourceGroupName = "mycluster"
$KeyVault = Get-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName
$DiskEncryptionKeyVaultUrl = $KeyVault.VaultUri
$KeyVaultResourceId = $KeyVault.ResourceId

Set-AzVmssDiskEncryptionExtension -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType All


az vmss encryption enable -g <resourceGroupName> -n <VMSS name> --disk-encryption-keyvault <KeyVaultResourceId>

Проверка включения шифрования дисков для масштабируемых наборов виртуальных машин в Windows

Получите состояние всего масштабируемого набора виртуальных машин или любого экземпляра в масштабируемом наборе, выполните следующие команды.


$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Get-AzVmssDiskEncryption -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName

Get-AzVmssVMDiskEncryption -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName -InstanceId "0"


az vmss encryption show -g <resourceGroupName> -n <VMSS name>

Кроме того, можно войти в масштабируемый набор виртуальных машин и убедиться, что диски зашифрованы.

Отключение шифрования дисков для масштабируемого набора виртуальных машин кластера Service Fabric

Отключите шифрование дисков для масштабируемого набора виртуальных машин, выполнив следующие команды. Отключение шифрования дисков распространяется на весь масштабируемый набор виртуальных машин, а не на отдельный экземпляр.


$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Disable-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $VmssName


az vmss encryption disable -g <resourceGroupName> -n <VMSS name>

Дальнейшие действия

Теперь у вас есть безопасный кластер и вы знаете, как включить или отключить шифрование дисков для узлов кластера и масштабируемого набора виртуальных машин Service Fabric. Аналогичные рекомендации по узлам кластера Service Fabric в Linux см. в разделе Шифрование дисков для Linux.