Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве описано, как включить шифрование дисков на узлах кластера Azure Service Fabric в Linux. Вам потребуется выполнить эти действия для каждого типа узлов и масштабируемых наборов виртуальных машин. Для шифрования узлов мы будем использовать возможность шифрования дисков Azure в масштабируемых наборах виртуальных машин.
В руководстве рассматриваются следующие разделы:
- Основные понятия, которые следует учитывать при включении шифрования дисков в масштабируемых наборах виртуальных машин кластера Service Fabric в Linux.
- Следуйте инструкциям перед включением шифрования дисков на узлах кластера Service Fabric в Linux.
- Чтобы включить шифрование дисков на узлах кластера Service Fabric в Linux, выполните следующие действия.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Чтобы узнать, как перейти на модуль Az 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, которая содержит новые команды шифрования.
Установите последнюю версию пакета SDK Azure из выпуска Azure PowerShell . Ниже приведены командлеты шифрования дисков Azure для масштабируемого набора виртуальных машин, позволяющие включить (задать) шифрование, получить (получить) состояние шифрования и удалить (отключить) шифрование в экземпляре масштабируемого набора.
командование | Версия | Исходный материал |
---|---|---|
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 |
Поддерживаемые сценарии шифрования дисков
- Шифрование масштабируемых наборов виртуальных машин поддерживается только для масштабируемых наборов, созданных с помощью управляемых дисков. Он не поддерживается для нативных (или неуправляемых) наборов масштабируемых дисков.
- Шифрование и отключение шифрования поддерживаются для томов ОС и данных в масштабируемых группах виртуальных машин в Linux.
- Операции переустановки образа и обновления виртуальных машин для масштабируемых наборов виртуальных машин не поддерживаются в текущей предварительной версии.
Создание кластера и включение шифрования дисков
Используйте следующие команды, чтобы создать кластер и включить шифрование дисков с помощью шаблона Azure Resource Manager и самозаверяющего сертификата.
Вход в Azure
Войдите со следующими командами:
Login-AzAccount
Set-AzContext -SubscriptionId <guid>
azure login
az account set --subscription $subscriptionId
Используйте пользовательский шаблон, который у вас уже есть
Если вам нужно создать пользовательский шаблон, настоятельно рекомендуется использовать один из шаблонов на странице примеров шаблонов создания кластера Azure Service Fabric .
Если у вас уже есть пользовательский шаблон, дважды проверьте, что все три параметра, связанных с сертификатом, в шаблоне и файл параметров называются следующим образом. Кроме того, убедитесь, что значения имеют значение NULL, как показано ниже.
"certificateThumbprint": {
"value": ""
},
"sourceVaultValue": {
"value": ""
},
"certificateUrlValue": {
"value": ""
},
Так как для масштабируемых наборов виртуальных машин в Linux поддерживается только шифрование дисков данных, необходимо добавить диск данных с помощью шаблона Resource Manager. Обновите шаблон для подготовки диска данных следующим образом:
"storageProfile": {
"imageReference": {
"publisher": "[parameters('vmImagePublisher')]",
"offer": "[parameters('vmImageOffer')]",
"sku": "[parameters('vmImageSku')]",
"version": "[parameters('vmImageVersion')]"
},
"osDisk": {
"caching": "ReadOnly",
"createOption": "FromImage",
"managedDisk": {
"storageAccountType": "[parameters('storageAccountType')]"
}
},
"dataDisks": [
{
"diskSizeGB": 1023,
"lun": 0,
"createOption": "Empty"
$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
Ниже приведена эквивалентная команда CLI. Измените значения в операторах 'declare' на подходящие для этих значений. Интерфейс командной строки поддерживает все остальные параметры, поддерживаемые предыдущей командой PowerShell.
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
Подключение диска данных к экземпляру Linux
Прежде чем продолжить шифрование в масштабируемом наборе виртуальных машин, убедитесь, что добавленный диск данных подключен правильно. Войдите на виртуальную машину кластера Linux и выполните команду LSBLK . Выходные данные должны показать, что добавлен диск данных в столбец точки подключения .
Развертывание приложения в кластере Service Fabric в Linux
Чтобы развернуть приложение в кластере, выполните шаги и следуйте инструкциям в разделе Быстрое начало: Развертывание контейнеров Linux в Service Fabric.
Включение шифрования дисков для масштабируемых наборов виртуальных машин, созданных ранее
Чтобы включить шифрование дисков для масштабируемых наборов виртуальных машин, созданных на предыдущих шагах, выполните следующие команды:
$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>
Проверка включения шифрования дисков для масштабируемого набора виртуальных машин в Linux
Чтобы получить состояние всего масштабируемого набора виртуальных машин или любого экземпляра в масштабируемом наборе, выполните следующие команды. Кроме того, вы можете войти на виртуальную машину кластера Linux и запустить команду LSBLK . Выходные данные должны отображать добавленный диск с данными в столбце Точки Подключения, а столбец Type должен отображать Crypt.
$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 см. в разделе "Шифрование дисков для Windows".