Compartilhar via


Início Rápido: criar um HSM de Pagamento do Azure usando um modelo do ARM

O HSM de Pagamento do Azure é um serviço "BareMetal" fornecido usando HSMs (módulos de segurança de hardware) de pagamento do Thales PayShield 10K para oferecer operações de chave de criptografia a transações de pagamento críticas e em tempo real na nuvem do Azure. O HSM de Pagamento do Azure foi projetado especificamente para ajudar um provedor de serviços e uma instituição financeira individual a acelerar a estratégia de transformação digital do sistema de pagamento e adotar a nuvem pública. Para saber mais, confira HSM de Pagamento do Azure: visão geral.

Este artigo descreve como criar um HSM de pagamento com o host e a porta de gerenciamento na mesma rede virtual. Em vez disso, você pode:

Um modelo do Azure Resource Manager é um arquivo em JavaScript Object Notation (JSON) que define a infraestrutura e a configuração do seu projeto. O modelo usa a sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.

Pré-requisitos

Importante

O HSM de Pagamento do Azure é um serviço especializado. Para se qualificarem para a integração e o uso do HSM de Pagamento do Azure, os clientes precisam ter um gerente de conta Microsoft atribuído, ter uma CSA e atender ao requisito monetário de USD 5 milhões (cinco milhões de dólares) ou mais na receita geral comprometida do Azure anualmente.

Para saber mais sobre o serviço, inicie o processo de qualificação, prepare os pré-requisitos antes da integração e peça ao gerente de contas da Microsoft e à CSA para enviar uma solicitação por email.

  • Você precisa registrar os provedores de recursos "Microsoft.HardwareSecurityModules" e "Microsoft.Network", bem como os recursos do HSM de Pagamento do Azure. As etapas para fazer isso estão em Registrar o provedor de recursos do HSM de Pagamento do Azure e as funcionalidades do provedor de recursos.

    Aviso

    Você deve aplicar o sinalizador do recurso "FastPathEnabled" a todas as IDs de assinatura e adicionar a marca "fastpathenabled" a todas as redes virtuais. Para saber mais, veja Fastpathenabled.

    Para verificar rapidamente se os provedores de recursos e os recursos já estão registrados, use o comando az provider show da CLI do Azure. (A saída desse comando ficará mais legível se você a exibir em formato de tabela.)

    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
    

    Continue com este guia de início rápido se os quatro comandos retornarem "Registrado".

  • Você precisa ter uma assinatura do Azure. Você pode criar uma conta gratuita se não tiver uma.

Examinar o modelo

O modelo usado neste início rápido é 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"
      }
    }
  ]
}

O recurso do Azure definido neste modelo é:

  • Microsoft.HardwareSecurityModules.dedicatedHSMs: crie um HSM de pagamento do Azure.

O arquivo azuredeploy.parameters.json correspondente é:

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

Implantar o modelo

Neste exemplo, você usará a CLI do Azure para implantar um modelo do ARM a fim de criar um HSM de pagamento do Azure.

Primeiro, salve os arquivos "azuredeploy.json" e "azuredeploy.parameters.json" localmente para uso na próxima etapa. O conteúdo desses arquivos se encontra na seção Examinar o modelo.

Observação

As etapas a seguir pressupõem que o arquivo "azuredeploy.json" e "azuredeploy.parameters.json" estejam no diretório do qual você está executando os comandos. Se os arquivos estiverem em outro diretório, você deverá ajustar os caminhos de arquivo adequadamente.

Em seguida, crie um grupo de recursos do Azure.

Um grupo de recursos é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Use o comando az group create para criar um grupo de recursos chamado myResourceGroup na localização eastus.

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

Por fim, use o comando az deployment group create da CLI do Azure para implantar o modelo do ARM.

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

Quando solicitado, forneça os seguintes valores para os parâmetros:

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

Validar a implantação

Verifique se o HSM de pagamento foi criado com o comando az dedicated-hsm list da CLI do Azure. A saída é mais fácil de ler se você formatar os resultados como uma tabela:

az dedicated-hsm list -o table

Você verá o nome do HSM de pagamento recém-criado.

Limpar os recursos

Outros guias de início rápido e tutoriais da coleção aproveitam esse guia de início rápido. Se você planeja continuar a trabalhar com os tutoriais e inícios rápidos subsequentes, deixe esses recursos onde estão.

Quando não forem mais necessários, você poderá usar o comando az group delete da CLI do Azure para remover o grupo de recursos e todos os recursos relacionados:

az group delete --name "myResourceGroup"

Próximas etapas

Neste início rápido, você implantou um modelo do Resource Manager do Azure para criar um HSM de pagamento, verificou a implantação e excluiu o HSM de pagamento. Para saber mais sobre o HSM de Pagamento do Azure e como integrá-lo a seus aplicativos, confira os artigos abaixo.