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:
- Criar um HSM de Pagamento com host e porta de gerenciamento em redes virtuais diferentes usando um modelo do ARM
- Criar um recurso HSM com host e porta de gerenciamento com endereços IP em redes virtuais diferentes usando o modelo do ARM
Um Modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) 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 Contas Microsoft atribuído e um CSA (Arquiteto de Serviços de Nuvem).
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.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
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.
- Leia uma Visão geral do HSM de Pagamento
- Saiba como começar a usar o HSM de Pagamento do Azure
- Veja alguns cenários comuns de implantação
- Saiba mais sobre Certificação e conformidade
- Leia as perguntas frequentes