Guida introduttiva: Creare un modulo di protezione hardware di pagamento di Azure con un modello di Resource Manager
HSM di pagamento di Azure è un servizio "BareMetal" fornito usando i moduli di protezione hardware di pagamento Thales payShield 10K per fornire operazioni di chiave crittografica per le transazioni di pagamento critiche in tempo reale nel cloud di Azure. Il modulo di protezione hardware di pagamento di Azure è progettato in modo specifico per aiutare un provider di servizi e un singolo istituto finanziario ad accelerare la strategia di trasformazione digitale del sistema di pagamento e adottare il cloud pubblico. Per altre informazioni, vedere HSM di pagamento di Azure: Panoramica.
Questa guida introduttiva descrive come creare un modulo di protezione hardware di pagamento con l'host e la porta di gestione nella stessa rete virtuale. È invece possibile:
- Creare un modulo di protezione hardware di pagamento con porta host e gestione in una rete virtuale diversa usando un modello di Resource Manager
- Creare una risorsa HSM con porta host e di gestione con indirizzi IP in reti virtuali diverse usando il modello di Resource Manager
Un modello di Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto. Il modello usa la sintassi dichiarativa. Nella sintassi dichiarativa si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione necessari per creare la distribuzione.
Prerequisiti
Importante
Il modulo di protezione hardware di pagamento di Azure è un servizio specializzato. Per qualificarsi per l'onboarding e l'uso del modulo di protezione hardware di pagamento di Azure, i clienti devono avere un account manager Microsoft assegnato, avere un csa e soddisfare il requisito monetario di cinque milioni ($ 5 milioni) di USD o superiore nei ricavi complessivi di Azure impegnati annualmente.
Per richiedere informazioni sul servizio, avviare il processo di qualificazione e preparare i prerequisiti prima dell'onboarding, chiedere al responsabile dell'account Microsoft e al CSA di inviare una richiesta tramite posta elettronica.
È necessario registrare i provider di risorse "Microsoft.HardwareSecurityModules" e "Microsoft.Network", nonché le funzionalità del modulo di protezione hardware di pagamento di Azure. Per eseguire questa operazione, vedere Registrare il provider di risorse del modulo di protezione hardware di Pagamento di Azure e le funzionalità del provider di risorse.
Avviso
È necessario applicare il flag di funzionalità "FastPathEnabled" a ogni ID sottoscrizione e aggiungere il tag "fastpathenabled" a ogni rete virtuale. Per altri dettagli, vedere Fastpathenabled.
Per verificare rapidamente se i provider di risorse e le funzionalità sono già registrati, usare il comando az provider show dell'interfaccia della riga di comando di Azure. L'output di questo comando sarà più leggibile se viene visualizzato in formato tabella.
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
È possibile continuare con questa guida introduttiva se tutti e quattro questi comandi restituiscono "Registered".
È necessario disporre di una sottoscrizione di Azure. Se non si ha un account, è possibile crearne uno gratuito.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo uso. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Rivedere il modello
Il modello usato in questa guida introduttiva è 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"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"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": "Virtual network name"
}
},
"vnetAddressPrefix": {
"type": "string",
"metadata": {
"description": "Virtual network address prefix"
}
},
"hsmSubnetName": {
"type": "String",
"metadata": {
"description": "Subnet name"
}
},
"hsmSubnetPrefix": {
"type": "string",
"metadata": {
"description": "Subnet prefix"
}
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.HardwareSecurityModules/dedicatedHSMs",
"apiVersion": "2021-11-30",
"name": "[parameters('resourceName')]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
],
"sku": {
"name": "[parameters('skuName')]"
},
"properties": {
"networkProfile": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
}
},
"managementNetworkProfile": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('hsmSubnetName'))]"
}
},
"stampId": "[parameters('stampId')]"
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2020-11-01",
"name": "[parameters('vnetName')]",
"location": "[parameters('location')]",
"tags": {
"fastpathenabled": "true"
},
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('vnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('hsmSubnetName')]",
"properties": {
"addressPrefix": "[parameters('hsmSubnetPrefix')]",
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
],
"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')]",
"delegations": [
{
"name": "Microsoft.HardwareSecurityModules.dedicatedHSMs",
"properties": {
"serviceName": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
}
],
"privateEndpointNetworkPolicies": "Enabled",
"privateLinkServiceNetworkPolicies": "Enabled"
}
}
]
}
La risorsa di Azure definita nel modello è:
- Microsoft.HardwareSecurityModules.dedicatedHSMs: creare un modulo di protezione hardware di pagamento di Azure.
Il file azuredeploy.parameters.json corrispondente è:
{
"$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": "myHsmVnet"
},
"vnetAddressPrefix": {
"value": "10.0.0.0/16"
},
"hsmSubnetName": {
"value": "myHsmSubnet"
},
"hsmSubnetPrefix": {
"value": "10.0.0.0/24"
}
}
}
Distribuire il modello
In questo esempio si userà l'interfaccia della riga di comando di Azure per distribuire un modello di Resource Manager per creare un modulo di protezione hardware di pagamento di Azure.
Prima di tutto, salvare i file "azuredeploy.json" e "azuredeploy.parameters.json" in locale, da usare nel passaggio successivo. Il contenuto di questi file è disponibile nella sezione Esaminare il modello .
Nota
La procedura seguente presuppone che il file "azuredeploy.json" e "azuredeploy.parameters.json" si trovi nella directory da cui vengono eseguiti i comandi. Se i file si trovano in un'altra directory, è necessario modificare i percorsi dei file di conseguenza.
Creare quindi un gruppo di risorse di Azure.
Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite. Usare il comando az group create per creare un gruppo di risorse denominato myResourceGroup nella località eastus .
az group create --name "myResourceGroup" --location "EastUS"
Usare infine il comando az deployment group create dell'interfaccia della riga di comando di Azure per distribuire il modello di Resource Manager.
az deployment group create --resource-group "MyResourceGroup" --name myPHSMDeployment --template-file "azuredeploy.json"
Quando richiesto, specificare i valori seguenti per i parametri:
- resourceName: myPaymentHSM
- vnetName: myVNet
- vnetAddressPrefix: 10.0.0.0/16
- hsmSubnetName: mySubnet
- hsmSubnetPrefix: 10.0.0.0/24
Convalidare la distribuzione
È possibile verificare che il modulo di protezione hardware di pagamento sia stato creato con il comando az dedicated-hsm list dell'interfaccia della riga di comando di Azure. L'output sarà più facile da leggere se si formattano i risultati come tabella:
az dedicated-hsm list -o table
Verrà visualizzato il nome del modulo di protezione hardware di pagamento appena creato.
Pulire le risorse
Altre guide introduttive ed esercitazioni della raccolta si basano su questa. Se si prevede di usare le guide introduttive e le esercitazioni successive, è consigliabile non cancellare le risorse create.
Quando non sono più necessari, è possibile rimuovere il gruppo di risorse e tutte le risorse correlate tramite il comando az group delete dell'interfaccia della riga di comando di Azure:
az group delete --name "myResourceGroup"
Passaggi successivi
In questa guida introduttiva è stato distribuito un modello di Resource Manager di Azure per creare un modulo di protezione hardware di pagamento, aver verificato la distribuzione ed eliminato il modulo di protezione hardware di pagamento. Per altre informazioni sul modulo di protezione hardware di pagamento di Azure e su come integrarlo con le applicazioni, continuare con gli articoli seguenti.
- Leggere una panoramica del modulo di protezione hardware di pagamento
- Informazioni su come iniziare a usare il modulo di protezione hardware di pagamento di Azure
- Vedere alcuni scenari di distribuzione comuni
- Informazioni su Certificazione e conformità
- Leggere le domande frequenti