Руководство по развертыванию HSM в существующей виртуальной сети с помощью PowerShell
Служба выделенных устройств HSM Azure предоставляет физическое устройство в исключительное пользование клиента со всеми возможностями административного контроля и под полную ответственность за управление устройством. Так как в этом случае предоставляется физическое оборудование, корпорация Майкрософт должна контролировать выделение этих устройств, чтобы обеспечить эффективное управление емкостью. В результате в подписке Azure выделенная служба HSM обычно не отображается для подготовки ресурсов. Любой клиент Azure, требующий доступа к выделенной службе HSM, должен сначала обратиться к руководителю учетной записи Майкрософт, чтобы запросить регистрацию выделенной службы HSM. Только после успешного завершения этого процесса возможна подготовка.
В этом руководстве демонстрируется стандартный процесс подготовки к работе. При этом подразумевается следующее:
- у клиента есть виртуальная сеть;
- у клиента есть виртуальная машина;
- клиенту нужно добавить ресурсы HSM в существующую среду.
Типичная архитектура развертывания с высоким уровнем доступности в нескольких регионах выглядит следующим образом:
В этом руководстве описана интеграция пары устройств HSM и требуемого шлюза ExpressRoute (см. Subnet 1 (Подсеть 1) на схеме выше) в существующую виртуальную сеть (см. VNET 1 (Виртуальная сеть 1) на схеме выше). Все другие ресурсы — это стандартные ресурсы Azure. Аналогичный процесс интеграции можно использовать для устройств HSM в подсети 4 виртуальной сети 3 (см. представленный выше рисунок).
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.
Необходимые компоненты
Выделенный HSM Azure в настоящее время недоступен в портал Azure, поэтому все взаимодействия со службой выполняются с помощью командной строки или с помощью PowerShell. В этом руководстве используется PowerShell в Azure Cloud Shell. Если вы не знакомы с PowerShell, следуйте инструкциям по началу работы с Azure PowerShell.
Предположения.
- У вас есть назначенный диспетчер учетных записей Майкрософт, который соответствует денежному требованию в размере пяти миллионов долларов (5 млн долл. США) или больше в целом в общей зафиксированной выручке Azure, чтобы претендовать на подключение и использование выделенного HSM Azure.
- Вы прошли процесс регистрации выделенного устройства HSM в Azure и были утверждены для использования службы. Если это не так, свяжитесь со своим менеджером Майкрософт по работе с клиентами и запросите у него соответствующие сведения.
- Вы создали группу ресурсов для этих ресурсов и для новых ресурсов, развернутых в этом руководстве.
- Вы уже создали необходимую виртуальную сеть, подсеть и виртуальные машины и теперь хотите интегрировать 2 HSM в это развертывание.
В следующих инструкциях предполагается, что вы уже перешли к портал Azure, и вы открыли Cloud Shell (выберите ">_" в правом верхнем углу портала).
Подготовка выделенного устройства HSM к работе
Подготовка виртуальных машин и интеграция в существующую виртуальную сеть через шлюз ExpressRoute проверяется с помощью средства командной строки SSH, чтобы обеспечить доступность и базовую доступность устройства HSM для дальнейших действий конфигурации. В приведенных ниже командах используется шаблон Resource Manager, чтобы создать ресурсы HSM и связанные с ними сетевые ресурсы.
Проверка регистрации функции
Как упоминалось, любое действие подготовки требует регистрации выделенной службы HSM для вашей подписки. Чтобы проверить это, выполните следующую команду PowerShell в портал Azure Cloud Shell.
Get-AzProviderFeature -ProviderNamespace Microsoft.HardwareSecurityModules -FeatureName AzureDedicatedHsm
Перед дальнейшим продолжением команда должна вернуть состояние "Зарегистрировано". Если вы не зарегистрированы для этой службы, обратитесь к представителю учетной записи Майкрософт.
Создание ресурсов HSM
Устройство HSM подготавливается в виртуальной сети клиентов, для которой требуется подсеть. Для использования HSM требуется шлюз ExpressRoute, который обеспечивает обмен данными между виртуальной сетью и физическим устройством. Также необходима виртуальная машина, которая осуществляет доступ к устройству HSM с помощью клиентского программного обеспечения Thales.
Вы можете создать выделенный ресурс HSM с помощью шаблона ARM на основе следующего примера. Необходимо обновить параметры, заменив строки, содержащие значение:", именами предпочитаемых ресурсов.
namingInfix
— префикс для имен ресурсов HSM.ExistingVirtualNetworkName
— имя виртуальной сети, используемой устройствами HSM.DedicatedHsmResourceName1
— имя ресурса HSM в метке 1 центра обработки данных.DedicatedHsmResourceName2
— имя ресурса HSM в метке 2 центра обработки данных.hsmSubnetRange
— диапазон IP-адресов в подсети для устройств HSM.ERSubnetRange
— диапазон IP-адресов в подсети для шлюза виртуальной сети.
Вот пример таких изменений.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"namingInfix": {
"value": "MyHSM"
},
"ExistingVirtualNetworkName": {
"value": "MyHSM-vnet"
},
"DedicatedHsmResourceName1": {
"value": "HSM1"
},
"DedicatedHsmResourceName2": {
"value": "HSM2"
},
"hsmSubnetRange": {
"value": "10.0.2.0/24"
},
"ERSubnetRange": {
"value": "10.0.255.0/26"
},
}
}
Связанный файл шаблона Resource Manager создает шесть ресурсов со следующими сведениями:
- подсеть для устройств HSM в указанной виртуальной сети;
- подсеть для шлюза виртуальной сети;
- шлюз виртуальной сети, который связывает виртуальную сеть с устройствами HSM;
- общедоступный IP-адрес шлюза;
- устройство HSM в метке 1;
- устройство HSM в метке 2.
После установки значений параметров необходимо передать файлы в портал Azure общей папке Cloud Shell для использования. В портал Azure выберите символ Cloud Shell в> правом верхнем углу, который делает нижней частью экрана командной средой. Параметры : BASH и PowerShell, и вы должны выбрать BASH, если он еще не задан.
Выберите параметр отправки и скачивания на панели инструментов, чтобы отправить файлы шаблонов и параметров в общую папку:
После отправки файлов вы будете готовы к созданию ресурсов.
Перед созданием новых ресурсов HSM требуется несколько необходимых ресурсов. Нужно создать виртуальную сеть с диапазонами подсетей для вычислительных ресурсов, устройств HSM и шлюза. Ниже приведены примеры команд по созданию такой виртуальной сети.
$compute = New-AzVirtualNetworkSubnetConfig `
-Name compute `
-AddressPrefix 10.2.0.0/24
$delegation = New-AzDelegation `
-Name "myDelegation" `
-ServiceName "Microsoft.HardwareSecurityModules/dedicatedHSMs"
$hsmsubnet = New-AzVirtualNetworkSubnetConfig `
-Name hsmsubnet `
-AddressPrefix 10.2.1.0/24 `
-Delegation $delegation
$gwsubnet= New-AzVirtualNetworkSubnetConfig `
-Name GatewaySubnet `
-AddressPrefix 10.2.255.0/26
New-AzVirtualNetwork `
-Name myHSM-vnet `
-ResourceGroupName myRG `
-Location westus `
-AddressPrefix 10.2.0.0/16 `
-Subnet $compute, $hsmsubnet, $gwsubnet
Примечание.
Самым важным моментом при создании виртуальной сети, на который нужно обратить внимание, является то, что параметр delegations для подсети устройства HSM должен иметь значение Microsoft.HardwareSecurityModules/dedicatedHSMs. Иначе подготовка устройств HSM к работе будет невозможна.
После установки всех необходимых компонентов и обновления шаблона Resource Manager с уникальными именами (по крайней мере именем группы ресурсов) выполните следующую команду:
New-AzResourceGroupDeployment -ResourceGroupName myRG `
-TemplateFile .\Deploy-2HSM-toVNET-Template.json `
-TemplateParameterFile .\Deploy-2HSM-toVNET-Params.json `
-Name HSMdeploy -Verbose
Выполнение этой команды занимает примерно 20 минут. Используемый параметр "-подробный" гарантирует, что состояние постоянно отображается.
Завершив успешное выполнение, показано в разделе "ProvisioningState": "Успешно", вы можете войти в существующую виртуальную машину и использовать SSH для обеспечения доступности устройства HSM.
Проверка развертывания
Чтобы убедиться, что устройства подготовлены к работе, и просмотреть их параметры, запустите указанный ниже набор команд. Убедитесь, что группа ресурсов настроена соответствующим образом и имя ресурса совпадает с указанным в файле параметров.
$subid = (Get-AzContext).Subscription.Id
$resourceGroupName = "myRG"
$resourceName = "HSM1"
Get-AzResource -Resourceid /subscriptions/$subId/resourceGroups/$resourceGroupName/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/$resourceName
Теперь вы также сможете просматривать ресурсы с помощью обозревателя ресурсов Azure. В обозревателе ресурсов разверните раздел "Подписки" слева, подписку для службы выделенных устройств HSM, раздел "Группы ресурсов", используемую группу ресурсов и выберите элемент "Ресурсы".
Проверка развертывания
Тестирование развертывания — это случай подключения к виртуальной машине, которая может получить доступ к HSM, а затем подключиться непосредственно к устройству HSM. Это позволит убедиться, что устройство HSM доступно. Для подключения к виртуальной машине используется средство SSH. Используйте приведенную ниже команду, заменив имя администратора и имя DNS значениями, указанными в вашем файле параметров.
ssh adminuser@hsmlinuxvm.westus.cloudapp.azure.com
Используйте пароль, указанный в файле параметров. После входа на виртуальную машину Linux вы можете войти в HSM с помощью частного IP-адреса, найденного на портале для префикса>ресурсов <hsm_vnic.
(Get-AzResource -ResourceGroupName myRG -Name HSMdeploy -ExpandProperties).Properties.networkProfile.networkInterfaces.privateIpAddress
Узнав нужный IP-адрес, выполните следующую команду:
ssh tenantadmin@<ip address of HSM>
В случае успешного выполнения вам будет предложено ввести пароль. Пароль по умолчанию — PASSWORD. По запросу устройства HSM нужно будет изменить пароль на более надежный и воспользоваться механизмом для хранения пароля и предотвращения его утечки, используемым в вашей организации.
Внимание
Если вы забудете пароль, настройки устройства HSM нужно будет сбросить, что приведет к потере ключей.
При подключении к устройству HSM с помощью SSH выполните следующую команду, чтобы убедиться, что HSM работает.
hsm show
Выходные данные должны быть аналогичны показанным на снимке экрана ниже.
На этом этапе вы выделили все ресурсы для высокодоступного развертывания, двух развертываний HSM и проверенного доступа и операционного состояния. Дальнейшие операции по конфигурации или проверке требуют взаимодействия с самим устройством HSM. Для этого выполните инструкции, изложенные в разделе 7 руководства администратора Thales Luna HSM 7, где описаны действия по инициализации устройства HSM и созданию разделов. Все документы и программное обеспечение доступны непосредственно из Thales для скачивания после регистрации на портале поддержки клиентов Thales и идентификатор клиента. Скачайте клиентское программное обеспечение версии 7.2, чтобы получить все необходимые компоненты.
Удаление или очистка ресурсов
Если вы закончили работу только с устройством HSM, его можно удалить как ресурс и вернуться в свободный пул. Очевидная проблема при этом — возможное наличие конфиденциальных данных клиента на устройстве. Лучший способ "нулизовать" устройство заключается в том, чтобы получить пароль администратора HSM неправильно три раза (обратите внимание: это не администратор устройства, это фактический администратор HSM). В качестве меры безопасности для защиты материала ключа устройство не может быть удалено как ресурс Azure, пока он не находится в отнулевом состоянии.
Примечание.
При возникновении проблем с конфигурацией устройств Thales обратитесь в службу поддержки клиентов Thales.
Если вы хотите удалить ресурс HSM в Azure, можно использовать следующую команду, заменив переменные "$" уникальными параметрами:
$subid = (Get-AzContext).Subscription.Id
$resourceGroupName = "myRG"
$resourceName = "HSMdeploy"
Remove-AzResource -Resourceid /subscriptions/$subId/resourceGroups/$resourceGroupName/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/$resourceName
Следующие шаги
После выполнения действий, описанных в этом руководстве, ресурсы выделенных устройств HSM будут готовы к работе и доступны в вашей виртуальной сети. Теперь вы можете дополнить это развертывание дополнительными ресурсами в соответствии с предпочитаемой архитектурой развертывания. Дополнительные сведения о планировании развертывания см. в базовой документации. Рекомендуем использовать схему с двумя устройствами HSM в основном регионе, чтобы обеспечить доступность на уровне стойки, и двумя устройствами HSM в другом регионе, чтобы обеспечить доступность на уровне региона. Файл шаблона, который использовался в этом руководстве, может служить образцом для развертывания двух устройств HSM, но его параметры нужно изменить в соответствии с вашими требованиями.