Partager via


Démarrage rapide : Créer un HSM de paiement Azure à l’aide d’un modèle ARM

Azure Payment HSM est un service « BareMetal » fourni à l’aide de modules de sécurité matériel de paiement Thales payShield 10K (HSM) pour fournir des opérations de clé de chiffrement pour les transactions de paiement en temps réel et critiques dans le cloud Azure. Azure Payment HSM est conçu spécifiquement pour aider un fournisseur de services et une institution financière individuelle à accélérer la stratégie de transformation numérique de son système de paiement et à adopter le cloud public. Pour plus d’informations, consultez Azure Payment HSM : Vue d’ensemble.

Ce guide de démarrage rapide explique comment créer un HSM de paiement avec l’hôte et le port de gestion dans le même réseau virtuel. Vous pouvez à la place :

Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration de votre projet. Le modèle utilise la syntaxe déclarative. Vous décrivez votre déploiement prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.

Prerequisites

Important

Azure Payment HSM est un service spécialisé. Pour bénéficier de l’intégration et de l’utilisation d’Azure Payment HSM, les clients doivent disposer d’un gestionnaire de comptes Microsoft affecté et d’un architecte de services cloud (CSA).

Pour vous renseigner sur le service, démarrez le processus de qualification et préparez les conditions préalables avant l’intégration, demandez à votre responsable de compte Microsoft et à CSA d’envoyer une demande par e-mail.

  • Vous devez inscrire les fournisseurs de ressources Microsoft.HardwareSecurityModules et Microsoft.Network, ainsi que les fonctionnalités Azure Payment HSM. Les étapes à suivre sont décrites dans Inscrire le fournisseur de ressources Azure Payment HSM et les fonctionnalités du fournisseur de ressources.

    Avertissement

    Vous devez appliquer l’indicateur de fonctionnalité FastPathEnabled à chaque ID d’abonnement et ajouter la balise fastpathenabled à chaque réseau virtuel. Pour plus d’informations, consultez Fastpathenabled.

    Pour déterminer rapidement si les fournisseurs de ressources et les fonctionnalités sont déjà inscrits, utilisez la commande Azure CLI az provider show . (La sortie de cette commande est plus lisible si vous l’affichez au format table.)

    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
    

    Vous pouvez continuer avec ce démarrage rapide si les quatre commandes suivantes retournent « Enregistré ».

  • Vous devez disposer d’un abonnement Azure. Vous pouvez créer un compte gratuit si vous n’en avez pas.

Vérifier le modèle

Le modèle utilisé dans ce guide de démarrage rapide est 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 ressource Azure définie dans le modèle est la suivante :

  • Microsoft.HardwareSecurityModules.dedicatedHSMs : Créez un HSM de paiement Azure.

Le fichier azuredeploy.parameters.json correspondant est le suivant :

{
  "$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"
    }
  }
}

Déployer le modèle

Dans cet exemple, vous utilisez Azure CLI pour déployer un modèle ARM pour créer un HSM de paiement Azure.

Tout d’abord, enregistrez les fichiers «azuredeploy.json» et «azuredeploy.parameters.json» localement, à utiliser à l’étape suivante. Le contenu de ces fichiers se trouve dans la section Vérifier le modèle .

Note

Les étapes ci-dessous supposent que le fichier «azuredeploy.json» et «azuredeploy.parameters.json» se trouve dans le répertoire à partir duquel vous exécutez les commandes. Si les fichiers se trouvent dans un autre répertoire, vous devez ajuster les chemins d’accès des fichiers en conséquence.

Ensuite, créez un groupe de ressources Azure.

Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Utilisez la commande az group create pour créer un groupe de ressources nommé myResourceGroup à l’emplacement eastus.

az group create --name "myResourceGroup" --location "EastUS"

Enfin, utilisez la commande de création d’un groupe de déploiement Azure CLI pour déployer votre modèle ARM.

az deployment group create --resource-group "MyResourceGroup" --name myPHSMDeployment --template-file "azuredeploy.json"

Lorsque vous y êtes invité, fournissez les valeurs suivantes pour les paramètres :

  • resourceName : myPaymentHSM
  • vnetName : myVNet
  • vnetAddressPrefix : 10.0.0.0/16
  • hsmSubnetName : mySubnet
  • hsmSubnetPrefix : 10.0.0.0/24

Valider le déploiement

Vous pouvez vérifier que le HSM de paiement a été créé avec la commande azure CLI az dedicated-hsm list . La sortie est plus facile à lire si vous mettez en forme les résultats sous forme de tableau :

az dedicated-hsm list -o table

Vous devez voir le nom de votre module HSM de paiement nouvellement créé.

Nettoyer les ressources

D’autres guides de démarrage rapide et didacticiels de cette collection reposent sur ce guide. Si vous avez l'intention de continuer à travailler avec d'autres démarrages rapides et didacticiels, vous pouvez souhaiter laisser ces ressources en place.

Quand vous n’en avez plus besoin, vous pouvez utiliser la commande Azure CLI az group delete pour supprimer le groupe de ressources ainsi que toutes les ressources associées :

az group delete --name "myResourceGroup"

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez déployé un modèle Azure Resource Manager pour créer un HSM de paiement, vérifié le déploiement et supprimé le HSM de paiement. Pour en savoir plus sur azure Payment HSM et comment l’intégrer à vos applications, passez aux articles ci-dessous.