Azure Payment HSM v2 は、支払い処理、資格情報の発行、PIN 処理、キー管理、認証データ保護のための高可用性のシングルテナント支払ハードウェア セキュリティ モジュール (HSM) サービスです。 Azure Payment HSM v2 は、サービス プロバイダーと金融機関が支払いシステムを最新化し、パブリック クラウドを導入するのに役立ちます。 詳細については、「Payment HSM v2 Azureとは」を参照してください。
このクイック スタートでは、プライベート仮想ネットワーク内に Azure Payment HSM v2 クラスターをオンボードしてデプロイする方法について説明します。
前提条件
環境を準備する
- Azure Cloud Shellを使用するか、Azure PowerShellをインストールします。 Azure PowerShellをローカルで使用する場合は、Azureにサインインします。
- OpenSSL をインストールして証明書を作成します。
- リソース グループ、仮想ネットワーク、プライベート エンドポイント、プライベート ドメイン ネーム システム (DNS) ゾーン、および Payment HSM v2 リソースを作成するアクセス許可を持つ ID を使用します。 ID には、Azure サブスクリプション機能を登録するためのアクセス許可も必要です。
- プレビュー期間中は、米国西部または西ヨーロッパ リージョンにのみ Payment HSM v2 をデプロイします。
Azureとウティマコのアカウントを確立する
Payment HSM v2 Azureオンボードする前に、組織にアクティブな Azure アカウントとサブスクリプション、および登録済みの Utimaco サポート ポータル アカウントがあることを確認します。 リソースのプロビジョニング、ソフトウェアとドキュメントへのアクセス、オンボーディング サポートの受け取りには、これらのアカウントが必要です。
Azure アカウント
Azure Payment HSM v2 をオンボードする前に、有効な Azure アカウントと Azure サブスクリプションが必要です。 Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
Utimaco アカウント
Azure Payment HSM v2 のオンボードには、プロビジョニング前にアクティブな Utimaco アカウントとエンタイトルメントが必要です。 パブリック プレビュー中に、Microsoftがオンボード要求を承認した後、Microsoftは Utimaco Azure チームに接続します。 チームがお客様と直接連携し、オンボーディングを完了できるよう支援します。 新しい Utimaco アカウント要求の処理とアクティブ化には、最大 48 時間かかることがあります。 Utimaco アカウントをお持ちでない場合は、 Utimaco ポータルでアカウントを作成する 方法に関する記事を参照してください。
オンボーディング用ウェルカムパッケージを受け取って確認する
Utimaco は、Azure Payment HSM v2 のオンボードに必要なウェルカム パッケージを提供します。 パッケージには、Secure Configuration Assistant (SCA) アプリケーション、C3 キー読み込みデバイス (KLD)、スマート カード、および関連するオンボード資料が含まれています。 オンボード アクティビティを続行する前に、すべてのパッケージ コンテンツの受信を確認します。
顧客のアクション
- オンボードウェルカムパッケージと含まれるすべての資料の受領を確認します。
- SCA アプリケーション、C3 KLD、スマート カード、およびサポート ドキュメントの配信を確認します。
- 次のオンボード 手順に進む前に、Microsoft と Utimaco の両方にパッケージの受信確認を送信します。
クライアントの信頼を確立する
環境と Azure Payment HSM v2 の間で相互信頼を確立するには、管理インターフェイスとアプリケーション インターフェイスに対して信頼された証明機関 (CA) 証明書を構成します。 クライアント認証にこれらの証明書を使用し、Azure Payment HSM v2 への安全で相互に認証された接続を確立します。 自己署名ルート CA 証明書を作成し、各証明書が国立標準技術研究所 (NIST) P-256 曲線の楕円曲線 (EC) 公開キーを使用していることを確認します。 証明書を生成するには、次の例を使用します。
これらの証明書の背後にある信頼モデル (個別の管理アンカーとアプリケーション信頼アンカーを含む) と、サービスが自己署名 P-256 ルート CA のみをサポートする理由については、「Azure Payment HSM v2 の認証とアクセス制御」を参照してください。
CA 認証証明書を作成する
次の OpenSSL コマンドを使用して、楕円曲線キー ペアを生成し、自己署名 CA 証明書を作成します。
Important
信頼された発行者証明書ごとに 自己署名ルート CA を使用します。 証明書では、 NIST P-256 (prime256v1) 曲線で EC 公開キーを使用する必要があります。 Azure Payment HSM v2 では、他の暗号化アルゴリズムまたはキーの種類を使用する中間 CA 証明書または証明書はサポートされていません。
- 管理ポートの信頼 CA は
certs-mgmt/に格納されます。 - アプリケーション ポートの信頼された CA は
certs/に入ります。
CA キーと自己署名証明書を生成する
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はこの機能を自動的に登録しません。 サービスをデプロイする各サブスクリプションで、Microsoft.Network リソース プロバイダーのAllowPrivateEndpoints機能を登録します。 この機能を登録しない場合、このクイックスタートの後半のネットワーク手順は失敗します。
Important
Azure Payment HSM v2 チームが Payment HSM v2 リソースを登録します。 サービスをデプロイする各サブスクリプションに、 AllowPrivateEndpoints 機能を自分で登録します。 登録は完了するまでに数分かかることがあります。
クライアント仮想ネットワークとプライベート DNS ゾーンの作成に進む前に、機能に登録済みの状態が表示されるまで待ちます。
サブスクリプション コンテキストを設定し、機能を登録して、登録を確認します。
- Azure PowerShell
- Azure CLI
# 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 をデプロイする
Payment HSM v2 インスタンスを作成する
次の例では、リソース グループと Payment HSM v2 インスタンスを作成します。
management-trusted-ca.pemとapplication-trusted-ca.pemを含むディレクトリから例を実行します。 サブスクリプション コンテキストを設定し、環境に合わせて場所、リソース名、およびリソース グループ名を更新します。
Important
一意の 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 リソースと同じリージョンにクライアント仮想ネットワークと VM をデプロイします。 環境に合わせてリソース グループと仮想ネットワーク名を更新します。 次の例では、リソース グループ、個別の 管理 サブネットと アプリケーション サブネットを持つ仮想ネットワーク、プライベート 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 では、ポート 7005 でのmanagementとポート 2200 でのapplicationという 2 つのプライベート リンク グループ ID が公開されます。 「 クライアント仮想ネットワークとプライベート DNS ゾーンの作成」の対応するサブネットを使用して、グループ ID ごとに個別のプライベート エンドポイントを作成します。 完全な管理アクセスと支払いアプリケーション アクセスの両方のエンドポイントを作成します。 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 Private Link 経由Azure Payment HSM v2 に接続します。 仮想ネットワークとサービス間のトラフィックは、Microsoft ネットワーク上にとどまります。 このプライベート接続により、「Azure Payment HSM v2 のネットワーク セキュリティ」で説明されているように、パブリック インターネットへの露出が減少します。
Azure Payment HSM v2 に接続する
Payment HSM v2 インスタンスをプロビジョニングし、プライベート エンドポイントを確立したら、Azure Payment HSM v2 クラスターの管理インターフェイスとアプリケーション インターフェイスの両方への接続を設定します。 Azure Private Linkは、仮想ネットワークからの接続を提供します。 Utimaco Key Loading Device (KLD) を含むオンプレミス ネットワークから接続するには、サイト間仮想プライベート ネットワーク (VPN) または別の承認されたハイブリッド接続を使用します。 個々のワークステーションでは、Azure VM 経由でポイント対サイト VPN または Secure Shell (SSH) ポート転送を使用できます。
Utimaco ポータル の APM on LS2 運用手順に関 するドキュメントには、インストール、構成、検証、およびトラブルシューティングの詳細な手順が記載されています。 ドキュメントにアクセスするには、アクティブな Utimaco ポータル アカウントと登録が必要です。
Important
Azure仮想ネットワークの外部から管理インターフェイスに到達するには、承認された VPN または SSH トンネル経由で接続します。 承認された管理ワークステーションと支払いアプリケーションから管理ポート (7005) とアプリケーション ポート (2200) へのネットワーク接続を提供します。
顧客のアクション
- Azure仮想ネットワーク内の既存のAzure VM をデプロイまたは使用して、Azure Payment HSM v2 環境にアクセスします。
- Utimaco Secure Configuration Assistant (SCA) ユーティリティ、C3 キー読み込みデバイス (KLD)、管理者またはバックアップ スマート カードを使用して、HSM 管理インターフェイスに接続します。
- SSH ポート転送や VPN などの承認された接続方法を使用して、HSM 管理ポートへのアクセスを確立します。
- HSM 管理インターフェイスへの接続が成功したことを確認し、最初の HSM 管理タスクを完了します。
- 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仮想マシンをデプロイする
クイック スタート: Azure ポータルで Linux VM を作成し、Ubuntu Server 22.04 LTS を実行するAzure VM をデプロイします。 ネットワーク構成中に、先ほど作成したクライアント仮想ネットワークと管理サブネットを選択します。
Payment HSM v2 に接続するように VPN または SSH ポート転送を構成する
次のいずれかの承認された方法を使用して、Azure Payment HSM v2 管理インターフェイスに接続します。
管理エンドポイントをホストするAzure仮想ネットワークに接続されているサイト間 VPN:
管理エンドポイントをホストするAzure仮想ネットワークに接続されているポイント対サイト VPN:
- チュートリアル: Azure VPN ゲートウェイを作成して管理する
- Azure のポイント対サイト VPN 接続について
- P2S VPN クライアントの構成: 証明書認証: Azure VPN クライアント
Azure仮想ネットワーク内にデプロイされたAzure VM (ジャンプ ボックス) を介した SSH ローカル ポート転送:
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