Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Шифрование дисков Azure будет выведено из эксплуатации 15 сентября 2028 г. До этой даты вы можете продолжать использовать шифрование дисков Azure без нарушений. 15 сентября 2028 г. рабочие нагрузки с поддержкой ADE будут выполняться, но зашифрованные диски не смогут разблокироваться после перезагрузки виртуальной машины, что приведет к нарушению работы службы.
Используйте шифрование на узле для новых виртуальных машин или рассмотрите размеры конфиденциальных виртуальных машин с шифрованием дисков ОС для рабочих нагрузок конфиденциальных вычислений. Все виртуальные машины с поддержкой ADE (включая резервные копии) должны перенестися в шифрование на узле до даты выхода на пенсию, чтобы избежать прерывания работы службы. Дополнительные сведения см. в статье "Миграция из шифрования дисков Azure в шифрование на узле ".
Azure CLI используется для создания ресурсов Azure и управления ими из командной строки или скриптов. В этом кратком руководстве показано, как использовать Azure CLI для создания и шифрования масштабируемого набора виртуальных машин. Дополнительные сведения о применении шифрования дисков Azure к масштабируемой группе виртуальных машин см. в статье "Шифрование дисков Azure для масштабируемых наборов виртуальных машин".
Предпосылки
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, подумайте о запуске Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login . Чтобы завершить процесс аутентификации, следуйте шагам, отображаемым в вашем терминале. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Когда вас попросят, установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Для этой статьи требуется версия 2.0.31 или более поздняя версия Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
Создать набор для масштабирования
Прежде чем создать масштабируемый набор, создайте группу ресурсов с помощью команды az group create. В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
az group create --name myResourceGroup --location eastus
Теперь создайте масштабируемый набор виртуальных машин с помощью az vmss create. В следующем примере создается масштабируемый набор с именем myScaleSet , который устанавливается для автоматического обновления по мере применения изменений, и создает ключи SSH, если они не существуют в ~/.ssh/id_rsa. Диск данных размером 32 ГБ подключен к каждому экземпляру виртуальной машины, а расширение пользовательского скрипта Azure используется для подготовки дисков данных с помощью набора расширений az vmss:
Это важно
Обязательно выберите поддерживаемую операционную систему с помощью ADE. Поддерживаемая ОС для ADE.
# Create a scale set with attached data disk
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode Flexible \
--image <SKU Linux Image> \
--admin-username azureuser \
--generate-ssh-keys \
--data-disk-sizes-gb 32
# Prepare the data disk for use with the Custom Script Extension
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/prepare_vm_disks.sh"],"commandToExecute":"./prepare_vm_disks.sh"}'
Создание и настройка всех ресурсов масштабируемого набора и виртуальных машин занимает несколько минут.
Создание хранилища ключей Azure, включенного для шифрования дисков
Azure Key Vault может хранить ключи, секреты или пароли, которые позволяют безопасно реализовать их в приложениях и службах. Криптографические ключи хранятся в Azure Key Vault с помощью программной защиты, или вы можете импортировать или создать ключи в аппаратных модулях безопасности (HSM), сертифицированных в стандартах FIPS 140 . Эти криптографические ключи используются для шифрования и расшифровки виртуальных дисков, подключенных к виртуальной машине. Вы сохраняете контроль над этими криптографическими ключами и можете проверять их использование.
Задайте свой уникальный keyvault_name. Затем создайте KeyVault с помощью команды az keyvault create в той же подписке и регионе, что и набор виртуальных машин, и установите политику доступа --enabled-for-disk-encryption для шифрования дисков.
# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname
# Create Key Vault
az keyvault create --resource-group myResourceGroup --name $keyvault_name --enabled-for-disk-encryption
Использование существующего хранилища ключей
Этот шаг требуется только в том случае, если у вас есть хранилище ключей, которое вы хотите использовать с шифрованием дисков. Пропустите этот шаг, если вы создали Key Vault в предыдущем разделе.
Задайте свой уникальный keyvault_name. Затем обновите Key Vault с az keyvault update и установите политику доступа с параметром --enabled-for-disk-encryption.
# Provide your own unique Key Vault name
keyvault_name=myuniquekeyvaultname
# Create Key Vault
az keyvault update --name $keyvault_name --enabled-for-disk-encryption
Включение шифрования
Замечание
При использовании масштабируемых наборов виртуальных машин в режиме гибкой оркестрации будут зашифрованы только новые экземпляры. Существующие экземпляры в масштабируемом наборе должны быть зашифрованы отдельно или удалены и заменены.
Чтобы зашифровать экземпляры виртуальных машин в масштабируемом наборе, сначала получите информацию об ID ресурса Key Vault с az keyvault show. Эти переменные используются для запуска процесса шифрования с помощью az vmss encryption enable:
# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)
# Enable encryption of the data disks in a scale set
az vmss encryption enable \
--resource-group myResourceGroup \
--name myScaleSet \
--disk-encryption-keyvault $vaultResourceId \
--volume-type DATA
Для запуска процесса шифрования может потребоваться несколько минут.
Так как политика обновления в масштабируемом наборе, созданном на предыдущем шаге, установлена на автоматическую, экземпляры виртуальных машин автоматически начинают процесс шифрования. В масштабируемых наборах, где политика обновления выполняется вручную, запустите политику шифрования в экземплярах виртуальных машин с az vmss update-instances.
Включите шифрование с использованием KEK для завертывания ключа
Вы также можете использовать ключ шифрования для дополнительной безопасности при шифровании масштабируемого набора виртуальных машин.
# Get the resource ID of the Key Vault
vaultResourceId=$(az keyvault show --resource-group myResourceGroup --name $keyvault_name --query id -o tsv)
# Enable encryption of the data disks in a scale set
az vmss encryption enable \
--resource-group myResourceGroup \
--name myScaleSet \
--disk-encryption-keyvault $vaultResourceId \
--key-encryption-key myKEK \
--key-encryption-keyvault $vaultResourceId \
--volume-type DATA
Замечание
Синтаксис для значения параметра ключ шифрования диска - это полная строка идентификатора:
/subscriptions/[subscription-id-guid]/resourceGroups/[имя группы ресурсов]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
. Синтаксис для параметра ключ шифрования ключа - это полный универсальный код ресурса (URI) к KEK (КШК), как в:
https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]
Проверка хода выполнения шифрования
Чтобы проверить состояние шифрования дисков, используйте az vmss encryption show:
az vmss encryption show --resource-group myResourceGroup --name myScaleSet
Когда экземпляры виртуальных машин шифруются, код состояния сообщает EncryptionState/encrypted, как показано в следующем примере выходных данных:
[
{
"disks": [
{
"encryptionSettings": null,
"name": "myScaleSet_myScaleSet_0_disk2_3f39c2019b174218b98b3dfae3424e69",
"statuses": [
{
"additionalProperties": {},
"code": "EncryptionState/encrypted",
"displayStatus": "Encryption is enabled on disk",
"level": "Info",
"message": null,
"time": null
}
]
}
],
"id": "/subscriptions/guid/resourceGroups/MYRESOURCEGROUP/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet/virtualMachines/0",
"resourceGroup": "MYRESOURCEGROUP"
}
]
Отключение шифрования
Если вы больше не хотите использовать диски зашифрованных экземпляров виртуальных машин, можно отключить шифрование с помощью az vmss encryption disable , как показано ниже.
az vmss encryption disable --resource-group myResourceGroup --name myScaleSet
Дальнейшие шаги
- В этой статье вы использовали Azure CLI для шифрования масштабируемого набора виртуальных машин. Вы также можете использовать шаблоны Azure PowerShell или Azure Resource Manager.
- Если вы хотите применить шифрование дисков Azure после установки другого расширения, можно использовать последовательность расширений.
- Полный пример пакетного файла для шифрования дисков данных масштабируемого набора Linux можно найти здесь. В этом примере создается группа ресурсов, масштабируемый набор виртуальных машин Linux, подключается диск данных размером 5 ГБ и шифруется масштабируемый набор виртуальных машин.