Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Шифрование дисков Azure использует Azure Key Vault, чтобы управлять секретами и ключами шифрования дисков. Дополнительные сведения о хранилищах ключей см. в статье Приступая к работе с Azure Key Vault и Защита хранилища ключей.
Создание и настройка хранилища ключей для использования со службой "Шифрование дисков Azure" состоит из трех этапов.
- Создание группы ресурсов при необходимости.
- Создание хранилища ключей.
- Установка политик расширенного доступа к хранилищу ключей.
При необходимости можно создать или импортировать ключ шифрования ключа (KEK).
Установка средств и подключение к Azure
Действия, описанные в этой статье, можно выполнить с помощью Azure CLI, модуль Azure PowerShell Az или портала Azure.
Создайте группу ресурсов
Если у вас уже есть группа ресурсов, можно перейти к созданию хранилища ключей.
Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими.
Создайте группу ресурсов с помощью команды az group create в Azure CLI, команды New-AzResourceGroup в Azure PowerShell или на портале Azure.
Azure CLI (Интерфейс командной строки для Azure)
az group create --name "myResourceGroup" --location eastus
Azure PowerShell
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Создание хранилища ключей
Если у вас уже есть хранилище ключей, можно перейти к заданию политик расширенного доступа к хранилищу ключей.
Создайте хранилище ключей с помощью команды az keyvault create в Azure CLI, команды New-AzKeyvault в Azure PowerShell, на портале Azure или с помощью шаблона Resource Manager.
Предупреждение
Чтобы секреты шифрования не пересекали границы регионов, необходимо создать и использовать хранилище ключей, находящееся в том же регионе и арендаторе, что и виртуальные машины, которые будут зашифрованы.
Каждый Key Vault должен иметь уникальное имя. В следующих примерах замените <your-unique-keyvault-name> именем своего хранилища ключей.
Azure CLI (Интерфейс командной строки для Azure)
При создании хранилища ключей с помощью Azure CLI добавьте флаг --enabled-for-disk-encryption.
az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption
Azure PowerShell
При создании хранилища ключей с помощью Azure PowerShell добавьте флаг -EnabledForDiskEncryption.
New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption
Шаблон диспетчера ресурсов
Вы также можете создать хранилище ключей с помощью шаблона Resource Manager.
- На странице шаблона Azure Quickstart нажмите Развернуть в Azure.
- Выберите подписку, группу ресурсов, расположение группы ресурсов, имя хранилища ключей, идентификатор объекта, юридические условия и соглашение, а затем щелкните Приобрести.
установить политики расширенного доступа к хранилищу ключей.
Это важно
В недавно созданных хранилищах ключей мягкое удаление включено по умолчанию. Если вы используете существующее хранилище ключей, необходимо включить функцию обратимого удаления. См. раздел Общие сведения о мягком удалении в Azure Key Vault.
Платформа Azure должна иметь доступ к ключам шифрования или секретам, расположенным в вашем хранилище ключей, чтобы предоставлять их виртуальной машине при ее загрузке для расшифровки томов.
Если вы не включили хранилище ключей для шифрования дисков, развертывания или развертывания шаблона во время создания (как показано на предыдущем шаге), вам нужно обновить соответствующие политики расширенного доступа.
Azure CLI (Интерфейс командной строки для Azure)
Включите шифрование дисков для хранилища ключей с помощью команды az keyvault update.
Включение хранилища ключей для шифрования диска: необходим параметр enabled-for-disk-encryption.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
Включение хранилища ключей для развертывания (если необходимо): позволяет поставщику ресурсов Microsoft.Compute извлекать секреты из этого хранилища ключей в случае использования ссылки на него при создании ресурса, например, виртуальной машины.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
Включение хранилища ключей для развертывания шаблона (если необходимо): позволяет Resource Manager получать секреты из хранилища.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
Azure PowerShell
Используйте командлет Set-AzKeyVaultAccessPolicy в PowerShell, чтобы включить шифрование диска для хранилища ключей.
Включение хранилища ключей для шифрования диска: для шифрования дисков Azure требуется использовать параметр EnabledForDiskEncryption.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
Включение хранилища ключей для развертывания (если необходимо): позволяет поставщику ресурсов Microsoft.Compute извлекать секреты из этого хранилища ключей в случае использования ссылки на него при создании ресурса, например, виртуальной машины.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
Включение хранилища ключей для развертывания шаблона (если необходимо): позволяет Azure Resource Manager получать секреты из этого хранилища ключей в случае использования ссылки на него при развертывании шаблона.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
Портал Azure
Выберите свое хранилище ключей и перейдите в раздел Политики доступа.
В разделе "Разрешить доступ" установите флажок Шифрование дисков Azure для шифрования томов.
Выберите Виртуальные машины Azure для развертывания или Azure Resource Manager для развертывания шаблонов, если это необходимо.
Нажмите кнопку Сохранить.
Шифрование дисков Azure и автоматическая смена ключей
Хотя автоматическая смена ключей теперь включена в Azure Key Vault, эта возможность сейчас несовместима с Шифрованием дисков Azure. В частности, Шифрование дисков Azure будет продолжать использовать исходный ключ шифрования даже после его автоматической смены.
Смена ключа шифрования не нарушит работу Шифрования дисков Azure, но её нарушит отключение «старого» ключа шифрования (т. е. ключа, который по-прежнему использует Шифрование дисков Azure).
Настройка ключа шифрования ключей (KEK)
Это важно
Учетная запись, используемая для включения шифрования дисков в хранилище ключей, должна иметь разрешения для чтения.
Если вы хотите использовать ключ шифрования ключей (KEK), чтобы добавить уровень безопасности ключей шифрования, поместите KEK в хранилище ключей. Когда задан ключ шифрования, шифрование дисков Azure использует его для обертывания ключей шифрования перед записью в Key Vault.
Вы можете создать новый KEK с помощью команды az keyvault key create
в Azure CLI, команды Add-AzKeyVaultKey в Azure PowerShell или на портале Azure. Вам нужно создать тип ключа RSA. Шифрование дисков Azure сейчас не поддерживает использование ключей на основе эллиптической кривой.
Вместо этого вы можете импортировать KEK из вашего локального HSM для управления ключами. Дополнительные сведения см. в документации по Key Vault.
Для URL-адресов KEK хранилища ключей необходимо включить управление версиями. Azure вводит это ограничение на версионность. Примеры допустимых URL-адресов для секрета и KEK приведены ниже.
- Пример допустимого URL-адреса секрета:
https://contosovault.vault.azure.net/secrets/EncryptionSecretWithKek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Пример допустимого URL-адреса KEK:
https://contosovault.vault.azure.net/keys/diskencryptionkek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Azure CLI (Интерфейс командной строки для Azure)
Используйте команду Azure CLI az keyvault key create
, чтобы создать новый KEK и сохранить его в хранилище ключей.
az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA --size 4096
Вместо этого можно импортировать закрытый ключ с помощью команды az keyvault key import в Azure CLI.
В любом случае вам нужно указать имя KEK в параметре az vm encryption enable
--key-encryption-key в Azure CLI.
az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"
Azure PowerShell
Используйте командлет Add-AzKeyVaultKey в Azure PowerShell, чтобы создать новый KEK и сохранить его в хранилище ключей.
Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM" -Size 4096
Вместо этого можно импортировать закрытый ключ с помощью команды Azure PowerShell az keyvault key import
.
В любом случае вы укажете идентификатор хранилища ключей KEK и URL-адрес KEK в параметрах -KeyEncryptionKeyVaultId и -KeyEncryptionKeyUrl команды Set-AzVMDiskEncryptionExtension в Azure PowerShell. В этом примере предполагается, что вы используете одно хранилище ключей как для ключа шифрования диска, так и для KEK.
$KeyVault = Get-AzKeyVault -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup"
$KEK = Get-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -Name "myKEK"
Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyUrl $KEK.Id -SkipVmBackup -VolumeType All