Включение шифрования дисков в узлах кластера Azure Service Fabric на платформе WIndows
Из этого руководства вы узнаете, как включить шифрование дисков на узлах кластера Azure Service Fabric в WIndows. Эти действия потребуется выполнить для каждого типа узлов и масштабируемых наборов виртуальных машин. Для шифрования узлов мы будем использовать возможности шифрования дисков Azure для масштабируемых наборов виртуальных машин.
В этом руководстве рассматриваются следующие темы.
- Основные понятия, которые следует учитывать при включении шифрования дисков в масштабируемых наборах виртуальных машин кластера для Service Fabric в Windows.
- Действия, которые следует выполнить перед включением шифрования дисков на узлах кластера Service Fabric в Windows.
- Действия, которые следует выполнить перед включением шифрования дисков на узлах кластера Service Fabric в Windows.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Необходимые компоненты
Самостоятельная регистрация
Для предварительного просмотра шифрования дисков в масштабируемом наборе виртуальных машин требуется самостоятельная регистрация. Выполните указанные ниже действия.
- Сначала выполните следующую команду:
Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
- Подождите около 10 минут, чтобы статус изменился на Зарегистрировано. Чтобы проверить состояние, выполните следующую команду:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption" Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
Azure Key Vault
- Создайте хранилище ключей в той же подписке и регионе, что и масштабируемый набор, а затем выберите политику доступа EnabledForDiskEncryption в хранилище ключей, используя командлет PowerShell. Вы также можете задать политику с помощью пользовательского интерфейса Key Vault в портал Azure с помощью следующей команды:
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
- Установите последнюю версию Azure CLI, в которой есть новые команды шифрования.
- Установите последнюю версию пакета Azure SDK из Azure PowerShell. Ниже приведены командлеты Azure Disk Encryption масштабируемого набора виртуальных машин для включения (Set) шифрования, получения (Get) состояния шифрования и удаления (disable) шифрования в экземпляре масштабируемого набора.
Команда | Версия | Исходный код |
---|---|---|
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.