Создание модуля HSM оплаты с портом узла и управления с IP-адресами в разных виртуальных сетях с помощью шаблона ARM
Azure Payment HSM — это служба BareMetal, предоставляемая с помощью модулей безопасности аппаратного обеспечения оплаты Thales PayShield 10K (HSM) для предоставления криптографических ключей для транзакций с критическими платежами в облаке Azure. Azure Payment HSM разработан специально для того, чтобы помочь поставщику услуг и отдельному финансовому институту ускорить цифровую трансформацию системы платежей и внедрить общедоступное облако. Дополнительные сведения см. в разделе HSM для оплаты Azure. Обзор.
В этом руководстве описывается, как использовать шаблон Azure Resource Manager (шаблон ARM) для создания HSM оплаты Azure с портом узла и управления с IP-адресами в разных виртуальных сетях. Вместо этого можно сделать следующее:
- Создание модуля HSM оплаты с портом узла и управления в той же виртуальной сети с помощью Azure CLI или PowerShell
- Создание модуля HSM оплаты с портом узла и управления в той же виртуальной сети с помощью шаблона ARM
- Создание устройства HSM оплаты с портом узла и управления в разных виртуальных сетях с помощью Azure CLI или PowerShell
- Создание устройства HSM оплаты с портом узла и управления в разных виртуальных сетях с помощью шаблона ARM
- Создание ресурса HSM с портом узла и управления с IP-адресами в разных виртуальных сетях с помощью шаблона ARM
Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.
Необходимые компоненты
Внимание
Azure Payment HSM — это специализированная служба. Чтобы получить право на подключение и использование HSM для оплаты Azure, клиенты должны иметь назначенного диспетчера учетных записей Майкрософт и архитектора облачных служб (CSA).
Чтобы узнать о службе, запустите процесс квалификации и подготовьте предварительные требования перед подключением, попросите руководителя учетной записи Майкрософт и CSA отправить запрос по электронной почте.
Необходимо зарегистрировать поставщики ресурсов Microsoft.HardwareSecurityModules и Microsoft.Network, а также функции HSM оплаты Azure. Для этого необходимо зарегистрировать поставщик ресурсов HSM для оплаты Azure и функции поставщика ресурсов.
Чтобы быстро определить, зарегистрированы ли поставщики ресурсов и функции, используйте команду Azure CLI az provider show . (Вы найдете выходные данные этой команды более читаемыми при отображении в табличном формате.)
az provider show --namespace "Microsoft.HardwareSecurityModules" -o table az provider show --namespace "Microsoft.Network" -o table az feature registration show -n "FastPathEnabled" --provider-namespace "Microsoft.Network" -o table az feature registration show -n "AzureDedicatedHsm" --provider-namespace "Microsoft.HardwareSecurityModules" -o table
Вы можете продолжить работу с этим кратким запуском, если все четыре из этих команд возвращают "Зарегистрировано".
У вас должна быть подписка Azure. Вы можете создать бесплатную учетную запись, если у вас еще ее нет.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Изучение шаблона
Шаблон, используемый в этом кратком руководстве, azuredeploy.json:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"resourceName": {
"type": "string",
"metadata": {
"description": "Azure Payment HSM resource name"
}
},
"stampId": {
"type": "string",
"defaultValue": "stamp1",
"metadata": {
"description": "stamp id"
}
},
"skuName": {
"type": "string",
"defaultValue": "payShield10K_LMK1_CPS60",
"metadata": {
"description": "PayShield SKU name. It must be one of the following: payShield10K_LMK1_CPS60, payShield10K_LMK1_CPS250, payShield10K_LMK1_CPS2500, payShield10K_LMK2_CPS60, payShield10K_LMK2_CPS250, payShield10K_LMK2_CPS2500"
}
},
"vnetName": {
"type": "string",
"metadata": {
"description": "Host port virtual network name"
}
},
"vnetAddressPrefix": {
"type": "string",
"metadata": {
"description": "Host port virtual network address prefix"
}
},
"hsmSubnetName": {
"type": "string",
"metadata": {
"description": "Host port subnet name"
}
},
"hsmSubnetPrefix": {
"type": "string",
"metadata": {
"description": "Host port subnet prefix"
}
},
"hostPrivateIpAddress": {
"type": "string"
},
"managementVnetName": {
"type": "string",
"metadata": {
"description": "Management port virtual network name"
}
},
"managementVnetAddressPrefix": {
"type": "string",
"metadata": {
"description": "Management port virtual network address prefix"
}
},
"managementHsmSubnetName": {
"type": "string",
"metadata": {
"description": "Management port subnet name"
}
},
"managementHsmSubnetPrefix": {
"type": "string",
"metadata": {
"description": "Management port subnet prefix"
}
},
"managementPrivateIpAddress": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.HardwareSecurityModules/dedicatedHSMs",
"apiVersion": "2021-11-30",
"name": "[parameters('resourceName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]",
"[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('managementVnetName'), parameters('managementHsmSubnetName'))]"
],
"sku": {
"name": "[parameters('skuName')]"
},
"properties": {
"networkProfile": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
},
"NetworkInterfaces": [{
"privateIpaddress": "[parameters('hostPrivateIpAddress')]"
}
]
},
"managementNetworkProfile": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('managementVnetName'), parameters('managementHsmSubnetName'))]"
},
"NetworkInterfaces": [{
"privateIpaddress": "[parameters('managementPrivateIpAddress')]"
}
]
},
"stampId": "[parameters('stampId')]"
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2020-11-01",
"name": "[parameters('vnetName')]",
"location": "[resourceGroup().location]",
"tags": {
"fastpathenabled": "true"
},
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('vnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('hsmSubnetName')]",
"properties": {
"addressPrefix": "[parameters('hsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
],
"virtualNetworkPeerings": [],
"enableDdosProtection": false
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2020-11-01",
"name": "[parameters('managementVnetName')]",
"location": "[resourceGroup().location]",
"tags": {
"fastpathenabled": "true"
},
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('managementVnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('managementHsmSubnetName')]",
"properties": {
"addressPrefix": "[parameters('managementHsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
],
"virtualNetworkPeerings": [],
"enableDdosProtection": false
}
},
{
"type": "Microsoft.Network/virtualNetworks/subnets",
"apiVersion": "2020-11-01",
"name": "[concat(parameters('vnetName'), '/', parameters('hsmSubnetName'))]",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'))]"
],
"properties": {
"addressPrefix": "[parameters('hsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
},
{
"type": "Microsoft.Network/virtualNetworks/subnets",
"apiVersion": "2020-11-01",
"name": "[concat(parameters('managementVnetName'), '/', parameters('managementHsmSubnetName'))]",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', parameters('managementVnetName'))]"
],
"properties": {
"addressPrefix": "[parameters('managementHsmSubnetPrefix')]",
"serviceEndpoints": [],
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
]
}
Ресурс Azure, определенный в шаблоне:
- Microsoft.HardwareSecurityModules.dedicatedHSMs: создание устройства HSM для оплаты Azure.
Соответствующий файл azuredeploy.parameters.json:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"resourceName": {
"value": "myhsm1"
},
"stampId": {
"value": "stamp1"
},
"skuName": {
"value": "payShield10K_LMK1_CPS60"
},
"vnetName": {
"value": "hsmHostVnet"
},
"vnetAddressPrefix": {
"value": "10.0.0.0/16"
},
"hsmSubnetName": {
"value": "hostSubnet"
},
"hsmSubnetPrefix": {
"value": "10.0.0.0/24"
},
"hostPrivateIpAddress": {
"value": "10.0.0.5"
},
"managementVnetName": {
"value": "hsmMgmtVNet"
},
"managementVnetAddressPrefix": {
"value": "10.1.0.0/16"
},
"managementHsmSubnetName": {
"value": "mgmtSubnet"
},
"managementHsmSubnetPrefix": {
"value": "10.1.0.0/24"
},
"managementPrivateIpAddress": {
"value": "10.1.0.6"
}
}
}
Развертывание шаблона
В этом примере вы будете использовать Azure CLI для развертывания шаблона ARM для создания HSM оплаты Azure.
Сначала сохраните файлы "azuredeploy.json" и "azuredeploy.parameters.json" локально для использования на следующем шаге. Содержимое этих файлов можно найти в разделе "Просмотр шаблона ".
Примечание.
Ниже предполагается, что файл azuredeploy.json и azuredeploy.parameters.json находятся в каталоге, из которого выполняются команды. Если файлы находятся в другом каталоге, необходимо соответствующим образом настроить пути к файлам.
Затем создайте группу ресурсов Azure.
Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими. С помощью команды az group create создайте группу ресурсов с именем myResourceGroup в расположении eastus.
az group create --name "myResourceGroup" --location "EastUS"
Наконец, используйте команду azure CLI az deployment group create для развертывания шаблона ARM.
az deployment group create --resource-group "MyResourceGroup" --name myPHSMDeployment --template-file "azuredeploy.json"
При появлении запроса укажите следующие значения для параметров:
- resourceName: myPaymentHSM
- vnetName: myVNet
- vnetAddressPrefix: 10.0.0.0/16
- hsmSubnetName: mySubnet
- hsmSubnetPrefix: 10.0.0.0/24
- hostPrivateIpAddress: 10.0.0.5
- managementVnetName: MGMTVNet
- managementVnetAddressPrefix: 10.1.0.0/16
- managementHsmSubnetName: MGMTSubnet
- managementHsmSubnetPrefix: 10.1.0.0/24
- managementPrivateIpAddress: 10.1.0.6
Следующие шаги
Перейдите к следующей статье, чтобы узнать, как просмотреть ваш платеж HSM.
Дополнительные ресурсы
- Ознакомьтесь с обзором устройства HSM для оплаты
- Узнайте, как приступить к работе с HSM для оплаты Azure
- См. некоторые распространенные сценарии развертывания
- Сведения о сертификации и соответствия требованиям
- Ознакомьтесь с часто задаваемыми вопросами