Краткое руководство. Создание Azure Payment HSM v2

Azure Payment HSM v2 — это высокодоступная служба выделенного для одного клиента аппаратного модуля безопасности (HSM) для платежных операций, обработки платежей, выпуска учетных данных, обработки PIN-кодов, управления ключами и защиты данных аутентификации. Azure Payment HSM v2 помогает поставщикам услуг и финансовым учреждениям модернизировать свои платёжные системы и переходить в общедоступное облако. Дополнительные сведения см. в статье Что такое Azure Payment HSM v2?

В этом кратком руководстве описано, как подключить и развернуть кластер Azure Payment HSM v2 в вашей частной виртуальной сети.

Prerequisites

Подготовьте вашу среду

  • Используйте Azure Cloud Shell или установите Azure PowerShell. Если вы используете Azure PowerShell локально, войдите в Azure.
  • Установите OpenSSL, чтобы создать сертификат.
  • Используйте учетную запись, у которой есть разрешения на создание групп ресурсов, виртуальных сетей, закрытых конечных точек, частных зон DNS и ресурсов Payment HSM v2. Удостоверение также должно иметь разрешение на регистрацию функций подписки Azure.
  • На этапе предварительной версии развертывайте Payment HSM v2 только в регионах Запад США или Западная Европа.

Установка учетных записей Azure и Utimaco

Перед подключением Azure Payment HSM v2 убедитесь, что у вашей организации есть активная учётная запись Azure и подписка, а также зарегистрированная учётная запись на портале поддержки Utimaco. Эти учетные записи необходимы для развертывания ресурсов, доступа к программному обеспечению и документации, а также получения поддержки при первоначальном подключении.

Учетная запись Azure

Перед подключением к Azure Payment HSM v2 у вас должны быть активная учетная запись Azure и подписка Azure. Если у вас нет учетной записи Azure, создайте бесплатную учетную запись перед началом работы.

Учетная запись Utimaco

Для подключения Azure Payment HSM v2 перед развертыванием требуются активная учетная запись Utimaco и соответствующие права. В период общедоступной предварительной версии, после того как Microsoft утвердит ваш запрос на подключение, она свяжет вас с командой Utimaco Azure. Команда работает непосредственно с вами, чтобы завершить подключение. Новые запросы учетной записи Utimaco могут занять до 48 часов для обработки и активации. Если у вас нет учетной записи Utimaco, ознакомьтесь с инструкциями по созданию учетной записи на портале Utimaco .

Получите и проверьте приветственный пакет для адаптации

Utimaco предоставляет приветственный пакет, необходимый для подключения к Azure Payment HSM v2. Пакет включает приложение Secure Configuration Assistant (SCA), устройство загрузки ключей C3 (KLD), смарт-карты и связанные материалы для подключения. Прежде чем переходить к дальнейшим действиям по начальной настройке, убедитесь, что вы получили все содержимое пакета.

Действия клиента

  1. Подтвердите получение приветственного пакета для адаптации и всех входящих в него материалов.
  2. Проверьте доставку приложения SCA, C3 KLD, смарт-карт и поддержку документации.
  3. Отправьте подтверждение получения пакета в Microsoft и Utimaco, прежде чем продолжить переход к следующему шагу подключения.

Установка доверия клиентов

Чтобы установить взаимное доверие между вашей средой и Azure Payment HSM версии 2, настройте сертификат доверенного удостоверяющего центра (УЦ) для интерфейса управления и интерфейса приложения. Используйте эти сертификаты для аутентификации клиента и установления безопасного взаимно аутентифицированного подключения к Azure Payment HSM v2. Создайте самоподписанные сертификаты корневого центра сертификации (ЦС) и убедитесь, что в каждом сертификате используется открытый ключ на основе эллиптической кривой (EC) NIST P-256. Используйте следующий пример для создания сертификатов.

Сведения о модели доверия, лежащей в основе этих сертификатов, включая отдельные корневые центры доверия для управления и приложений, а также о том, почему служба поддерживает только самоподписанные корневые центры сертификации P-256, см. в статье Проверка подлинности и управление доступом для Azure Payment HSM v2.

Создать сертификаты аутентификации ЦС

Создайте пары ключей на основе эллиптической кривой и самоподписанные сертификаты ЦС с помощью следующих команд OpenSSL.

Это важно

Используйте самоподписанный корневой центр сертификации для каждого сертификата доверенного издателя. Сертификат должен использовать открытый ключ EC в кривой NIST P-256 (prime256v1). Azure Payment HSM v2 не поддерживает сертификаты промежуточного центра сертификации или сертификаты, использующие другие криптографические алгоритмы либо другие типы ключей.

  • Доверенные центры сертификации для порта управления находятся в certs-mgmt/.
  • Доверенные центры сертификации порта приложения помещаются в certs/.

Создание ключей ЦС и самозаверяющих сертификатов

openssl ecparam -list_curves
openssl ecparam -genkey -name prime256v1 -out management-ca.key
openssl req -x509 -new -SHA384 -nodes -key management-ca.key -days 3650 -out management-trusted-ca.pem
openssl ecparam -genkey -name prime256v1 -out application-ca.key
openssl req -x509 -new -SHA384 -nodes -key application-ca.key -days 3650 -out application-trusted-ca.pem

Зарегистрируйте функцию AllowPrivateEndpoints

Для Azure Payment HSM v2 требуется приватная конечная точка. В общедоступной предварительной версии Azure не регистрирует эту возможность автоматически. Зарегистрируйте функцию AllowPrivateEndpoints для поставщика ресурсов Microsoft.Network в каждой подписке, где вы развертываете службу. Если вы не регистрируете эту функцию, действия сети, описанные далее в этом кратком руководстве, завершаются сбоем.

Это важно

Команда Azure Payment HSM v2 регистрирует ваш ресурс Payment HSM v2. Зарегистрируйте функцию AllowPrivateEndpoints самостоятельно в каждой подписке, в которой развертывается служба. Завершение регистрации может занять несколько минут. Дождитесь, пока функция не отобразит зарегистрированное состояние, прежде чем продолжить создание виртуальной сети клиента и частной зоны DNS.

Задайте контекст подписки, зарегистрируйте функцию и проверьте регистрацию.

# Set your subscription context
Set-AzContext -Subscription "<subscription-id>"

# Register the AllowPrivateEndpoints feature
Register-AzProviderFeature -FeatureName "AllowPrivateEndpoints" -ProviderNamespace "Microsoft.Network"

# Verify the registration state (wait until it shows "Registered")
Get-AzProviderFeature -FeatureName "AllowPrivateEndpoints" -ProviderNamespace "Microsoft.Network" |
    Select-Object -ExpandProperty RegistrationState

Развертывание Azure Payment HSM v2

Создать экземпляр платёжного HSM v2

В следующем примере создаются группа ресурсов и экземпляр «Payment HSM v2». Запустите пример из каталога, содержащего management-trusted-ca.pem и application-trusted-ca.pem. Задайте контекст подписки и обновите расположение, имя ресурса и имя группы ресурсов, чтобы соответствовать вашей среде.

Это важно

Выберите уникальное имя HSM. Если указать имя HSM, которое уже существует в выбранном регионе, развертывание завершается ошибкой.

# Convert the PEM certificates to the Base64-encoded values required by the resource provider
$managementCertificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::CreateFromPem(
    (Get-Content -Raw "management-trusted-ca.pem")
)
$managementTrustedIssuer = [Convert]::ToBase64String($managementCertificate.RawData)

$applicationCertificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::CreateFromPem(
    (Get-Content -Raw "application-trusted-ca.pem")
)
$applicationTrustedIssuer = [Convert]::ToBase64String($applicationCertificate.RawData)

# Define variables for your Payment HSM v2 deployment
$server = @{
    Location = "<region-name>"
    Sku = @{ Family = "B"; Name = "Payments_v2" }
    ResourceName = "<hsm-name>"
    ResourceType = "Microsoft.HardwareSecurityModules/paymentHsmClusters"
    ResourceGroupName = "<hsm-resource-group-name>"
    ApiVersion = "2025-12-01-preview"
    Properties = @{
        autoGeneratedDomainNameLabelScope = "TenantReuse"
        applicationTrustedIssuer          = $applicationTrustedIssuer
        managementTrustedIssuer           = $managementTrustedIssuer
        publicNetworkAccess               = "Disabled"
    }
    Force = $true
}

# Create the HSM cluster resource group
New-AzResourceGroup -Name $server.ResourceGroupName -Location $server.Location -Force

# Create the HSM cluster and retain its resource ID for the private endpoints
$hsm = New-AzResource @server -Verbose

Note

Разверните ресурсы Payment HSM v2 в отдельной группе ресурсов, отдельно от связанных ресурсов клиентской виртуальной сети и виртуальной машины (VM). Отдельные группы ресурсов обеспечивают лучшую изоляцию управления и безопасности.

Создание виртуальной сети клиента и частной зоны DNS

Разверните виртуальную сеть клиента и виртуальную машину в том же регионе, что и ресурс HSM. Обновите группу ресурсов и имена виртуальных сетей, чтобы соответствовать вашей среде. В следующем примере создается группа ресурсов, виртуальная сеть с отдельными подсетями управления и приложениями и частной зоной DNS. Затем пример связывает зону с виртуальной сетью.

$client = @{
    Location              = $server.Location
    ResourceGroupName     = "<client-resource-group-name>"
    ZoneName              = "privatelink.phsm.azure.net"
    VirtualNetworkName    = "<virtual-network-name>"
    ManagementSubnetName  = "management"
    ApplicationSubnetName = "application"
}

# Create the client resource group
New-AzResourceGroup -Name $client.ResourceGroupName -Location $client.Location -Force

# Create the virtual network
$vnet = New-AzVirtualNetwork -Name $client.VirtualNetworkName -ResourceGroupName $client.ResourceGroupName -Location $client.Location -AddressPrefix "10.0.0.0/16"

# Add the management subnet
$vnet = Add-AzVirtualNetworkSubnetConfig -Name $client.ManagementSubnetName -VirtualNetwork $vnet -AddressPrefix "10.0.2.0/24"

# Add the application subnet
$vnet = Add-AzVirtualNetworkSubnetConfig -Name $client.ApplicationSubnetName -VirtualNetwork $vnet -AddressPrefix "10.0.3.0/24"

# Commit the subnet configuration
$vnet = Set-AzVirtualNetwork -VirtualNetwork $vnet

# Retrieve the created subnet objects for use when you create the private endpoints later in this quickstart
$vnet = Get-AzVirtualNetwork -Name $client.VirtualNetworkName -ResourceGroupName $client.ResourceGroupName
$managementSubnet = $vnet.Subnets | Where-Object Name -eq $client.ManagementSubnetName
$applicationSubnet = $vnet.Subnets | Where-Object Name -eq $client.ApplicationSubnetName

# Create the private DNS zone and link it to the virtual network
$zone = New-AzPrivateDnsZone -ResourceGroupName $client.ResourceGroupName -Name $client.ZoneName
New-AzPrivateDnsVirtualNetworkLink -ResourceGroupName $client.ResourceGroupName -ZoneName $client.ZoneName -Name "privateDnsLink" -VirtualNetworkId $vnet.Id -EnableRegistration:$false

Создайте частный конечный пункт для Azure Payment HSM v2

Azure Payment HSM v2 поддерживает два идентификатора групп Private Link: management через порт 7005 и application через порт 2200. Создайте отдельную частную конечную точку доступа для каждого идентификатора группы, используя соответствующую подсеть из Создание виртуальной сети клиента и частной зоны DNS. Создайте обе конечные точки для полного административного и платного доступа к приложению. Если вам нужен только административный доступ, например для устройства загрузки ключей Utimaco (KLD), создайте только конечную точку управления.

Сначала создайте обе частные конечные точки:

# Management endpoint (port 7005) - also used by the Utimaco Key Loading Device (KLD)
$managementConnection = New-AzPrivateLinkServiceConnection `
    -Name "$($server.ResourceName)-management-connection" `
    -PrivateLinkServiceId $hsm.ResourceId `
    -GroupId "management"

$managementEndpoint = New-AzPrivateEndpoint `
    -Name "$($server.ResourceName)-management-pe" `
    -ResourceGroupName $client.ResourceGroupName `
    -Location $client.Location `
    -Subnet $managementSubnet `
    -PrivateLinkServiceConnection $managementConnection

# Application endpoint (port 2200) - payment application data plane
$applicationConnection = New-AzPrivateLinkServiceConnection `
    -Name "$($server.ResourceName)-application-connection" `
    -PrivateLinkServiceId $hsm.ResourceId `
    -GroupId "application"

$applicationEndpoint = New-AzPrivateEndpoint `
    -Name "$($server.ResourceName)-application-pe" `
    -ResourceGroupName $client.ResourceGroupName `
    -Location $client.Location `
    -Subnet $applicationSubnet `
    -PrivateLinkServiceConnection $applicationConnection

Затем подключите обе конечные точки к частной зоне DNS, чтобы их имена узлов разрешались в вашей виртуальной сети:

$zoneConfig = New-AzPrivateDnsZoneConfig `
    -Name "phsmv2-private-dns-config" `
    -PrivateDnsZoneId $zone.ResourceId

New-AzPrivateDnsZoneGroup `
    -ResourceGroupName $client.ResourceGroupName `
    -PrivateEndpointName $managementEndpoint.Name `
    -Name "management-phsmv2-private-dns-zone-group" `
    -PrivateDnsZoneConfig $zoneConfig

New-AzPrivateDnsZoneGroup `
    -ResourceGroupName $client.ResourceGroupName `
    -PrivateEndpointName $applicationEndpoint.Name `
    -Name "application-phsmv2-private-dns-zone-group" `
    -PrivateDnsZoneConfig $zoneConfig

Подсказка

Частные конечные точки подключают вашу виртуальную сеть к Azure Payment HSM v2 через Приватный канал Azure. Трафик между виртуальной сетью и службой остается в сети Microsoft. Это частное соединение уменьшает доступ из общедоступного Интернета, как описано в разделе Сетевая безопасность для Azure Payment HSM v2.

Подключение к Azure Payment HSM v2

После развертывания экземпляра Payment HSM v2 и настройки частных конечных точек настройте подключение к интерфейсам управления и приложения кластера Azure Payment HSM v2. Приватный канал Azure обеспечивает подключение из виртуальной сети. Чтобы подключиться из локальной сети, в том числе с помощью устройства загрузки ключей Utimaco (KLD), используйте межсетевую VPN или другое утвержденное гибридное соединение. Отдельные рабочие станции могут использовать VPN-подключение типа «точка-сайт» или проброс портов по SSH через виртуальную машину Azure.

Документ APM on LS2 Operational Instructions на портале Utimaco содержит подробные процедуры установки, настройки, валидации и устранения неполадок. Для доступа к документу требуется активная учетная запись портала Utimaco и регистрация.

Это важно

Чтобы получить доступ к интерфейсу управления за пределами виртуальной сети Azure, подключитесь через утвержденный VPN-туннель или туннель SSH. Предоставьте сетевое подключение к порту управления (7005) и порту приложения (2200) из авторизованных рабочих станций управления и приложений для оплаты.

Действия клиента

  1. Разверните виртуальную машину Azure в виртуальной сети Azure или используйте существующую, чтобы получить доступ к среде Azure Payment HSM v2.
  2. Подключитесь к интерфейсу управления HSM с помощью служебной программы Utimaco Secure Configuration Assistant (SCA), устройства загрузки ключей C3 (KLD) и администратора или смарт-карт резервного копирования.
  3. Установите доступ к порту управления HSM через утвержденный метод подключения, например перенаправление портов SSH или VPN.
  4. Проверьте успешное подключение к интерфейсу управления HSM и выполните начальные задачи администрирования HSM.
  5. Подключитесь к интерфейсу приложения HSM и проверьте подключение приложения с помощью существующих приложений оплаты и тестовых транзакций.

Сведения о порте управления и порту приложения

Порт управления: 7005 — административные и управляющие операции.

  • mgmt<node-number>.<pool-name>-<unique-string>.privatelink.phsm.azure.net, где <node-number> есть 1, 2или 3

Порт приложения: 2200 — уровень данных платёжного приложения для команд Atalla и криптографических операций.

  • app<node-number>.<pool-name>-<unique-string>.privatelink.phsm.azure.net, где <node-number> есть 1, 2или 3

Развертывание виртуальной машины Azure в виртуальной сети Azure

Используйте Краткое руководство: создание виртуальной машины Linux на портале Azure, чтобы развернуть виртуальную машину Azure под управлением Ubuntu Server 22.04 LTS. Во время настройки сети выберите виртуальную сеть клиента и подсеть управления, созданную ранее.

Настройте VPN или проброс портов SSH для подключения к Payment HSM v2

Подключитесь к интерфейсу управления Azure payment HSM версии 2 с помощью одного из следующих утвержденных методов.

VPN типа «сеть-сеть», подключенная к виртуальной сети Azure, в которой размещена конечная точка управления:

VPN типа "точка — сеть", подключенная к виртуальной сети Azure, включающей конечную точку управления:

Локальная переадресация портов SSH через виртуальную машину Azure (jump-сервер), развёрнутую в вашей виртуальной сети Azure:

ssh -L "<local-port>:<payment-hsm-management-fqdn>:<management-port>" "<username>@<jump-box-fqdn>"

Рассмотрим пример.

ssh -L 7005:mgmt1.contosophsmv2-e9gudbaag0bdhcbu.privatelink.phsm.azure.net:7005 azureuser@jumpbox.contoso.com