Руководство. Развертывание выделенных устройств HSM в существующей виртуальной сети с помощью PowerShell

Служба выделенных устройств HSM Azure предоставляет физическое устройство в исключительное пользование клиента со всеми возможностями административного контроля и под полную ответственность за управление устройством. Так как в этом случае предоставляется физическое оборудование, корпорация Майкрософт должна контролировать выделение этих устройств, чтобы обеспечить эффективное управление емкостью. В результате в подписке Azure служба выделенных устройств HSM обычно не отображается для подготовки ресурсов. Клиентам Azure, которым требуется доступ к службе выделенных устройств HSM, сначала следует связаться со своим менеджером Майкрософт по работе с клиентами и запросить регистрацию для использования службы выделенных устройств HSM. Только после этого можно будет подготовить службу к работе. В этом руководстве демонстрируется стандартный процесс подготовки к работе. При этом подразумевается следующее:

  • у клиента есть виртуальная сеть;
  • у клиента есть виртуальная машина;
  • клиенту нужно добавить ресурсы HSM в существующую среду.

Стандартная высокодоступная архитектура с развертыванием в нескольких регионах может выглядеть следующим образом:

Развертывание в нескольких регионах

В этом руководстве описана интеграция пары устройств HSM и требуемого шлюза ExpressRoute (см. Subnet 1 (Подсеть 1) на схеме выше) в существующую виртуальную сеть (см. VNET 1 (Виртуальная сеть 1) на схеме выше). Все другие ресурсы — это стандартные ресурсы Azure. Аналогичный процесс интеграции можно использовать для устройств HSM в подсети 4 виртуальной сети 3 (см. представленный выше рисунок).

Примечание

Для взаимодействия с Azure рекомендуется использовать модуль Azure Az PowerShell. Чтобы начать работу, см. статью Установка Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Предварительные требования

Сейчас служба выделенных устройств Azure недоступна на портале Azure, поэтому все операции с ней осуществляются в командной строке или с помощью PowerShell. В этом руководстве используется PowerShell в Azure Cloud Shell. Если вы еще не знакомы с PowerShell, следуйте инструкциям по началу работы здесь: Azure PowerShell Начало работы.

Предполагается, что:

  • У вас есть назначенный менеджер по работе с учетными записями Майкрософт, и вы соответствуете денежным требованиям в размере 5 миллионов долларов США (5 миллионов долларов США) или больше в общем зафиксированном доходе Azure в год, чтобы претендовать на подключение и использование выделенного устройства HSM Azure.
  • Вы зарегистрировались в службе выделенных устройств HSM Azure и получили одобрение на ее использование. Если это не так, свяжитесь со своим менеджером Майкрософт по работе с клиентами и запросите у него соответствующие сведения.
  • Вы создали группу ресурсов, которая включает нужные ресурсы. Новые ресурсы, развернутые в рамках этого руководства, будут добавлены в эту группу.
  • Вы создали необходимую виртуальную сеть, подсеть и виртуальные машины, как показано на схеме выше, и теперь хотите интегрировать два устройства HSM в эту среду.

Во всех приведенных ниже инструкциях предполагается, что вы уже переходили к портал Azure и открыли Cloud Shell (выберите ">_" в правом верхнем углу портала).

Подготовка выделенного устройства HSM к работе

Проверка выделенных устройств HSM и их интеграция с существующей сетью посредством шлюза ExpressRoute будет осуществляться с помощью программы командной строки SSH. Это позволит убедиться, что устройство HSM доступно по сети и готово к дальнейшей настройке. В приведенных ниже командах используется шаблон Resource Manager, чтобы создать ресурсы HSM и связанные с ними сетевые ресурсы.

Проверка регистрации функции

Как указано выше, перед подготовкой к работе необходимо зарегистрировать службу выделенных устройств HSM в своей подписке. Чтобы проверить это, выполните следующую команду PowerShell в портал Azure Cloud Shell.

Get-AzProviderFeature -ProviderNamespace Microsoft.HardwareSecurityModules -FeatureName AzureDedicatedHsm

Команда должны вернуть состояние Registered (как показано ниже), чтобы вы могли продолжить работу. Если вы не зарегистрированы для использования этой службы, обратитесь к представителю учетной записи Майкрософт.

Состояние подписки

Создание ресурсов HSM

Устройство HSM подготавливается к работе в виртуальной сети клиента. При этом подразумевается использование подсети. Для использования HSM требуется шлюз ExpressRoute, который обеспечивает обмен данными между виртуальной сетью и физическим устройством. Также необходима виртуальная машина, которая осуществляет доступ к устройству HSM с помощью клиентского программного обеспечения Thales. Чтобы упростить использование, эти ресурсы собраны в файл шаблона и связанный с ним файл параметров. Эти файлы можно получить, написав в корпорацию Майкрософт по адресу HSMrequest@Microsoft.com.

Когда вы получите эти файлы, измените файл параметров, чтобы задать любые имена ресурсов. Измените строки, в которых ключи "value" равны "".

  • 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 минут. Параметр -verbose обеспечивает непрерывное отображение состояния.

Состояние подготовки

После успешного выполнения команды, о чем свидетельствует параметр "provisioningState": "Succeeded", можно выполнить вход в существующую виртуальную машину и использовать 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 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, но его параметры нужно изменить в соответствии с вашими требованиями.