Tutorial: Implantar HSMs em uma rede virtual existente usando a CLI do Azure
O HSM dedicado do Azure fornece um dispositivo físico para uso exclusivo do cliente, com controle administrativo e responsabilidade de gerenciamento completos. O uso de dispositivos físicos faz com que a Microsoft precise controlar a alocação de dispositivos para gerenciar a capacidade com eficiência. Como resultado, em uma assinatura do Azure, o serviço HSM Dedicado normalmente não será visível para o provisionamento de recursos. Qualquer cliente do Azure que precise de acesso ao serviço de HSM dedicado deve, primeiro, entrar em contato com o responsável pela conta da Microsoft para solicitar o registro no serviço. O provisionamento será possível depois que esse processo tiver sido concluído com êxito.
Este tutorial mostra um processo de provisionamento típico no qual:
- Um cliente já tem uma rede virtual
- Já tem uma máquina virtual
- E precisa adicionar recursos de HSM ao ambiente existente.
Uma arquitetura de implantação típica, com várias regiões e com alta disponibilidade deve se parecer com isto:
Este tutorial se concentra na integração de HSMs e do Gateway do ExpressRoute exigido (confira a Sub-rede 1 acima) a uma rede virtual existente (confira a VNET 1 acima). Todos os outros recursos são recursos padrão do Azure. O mesmo processo de integração pode ser usado para HSMs na sub-rede 4 na VNET 3 ou acima.
Pré-requisitos
O HSM dedicado do Azure não está disponível atualmente no portal do Azure. Toda a interação com o serviço ocorrerá por meio da linha de comando ou usando o PowerShell. Este tutorial usará a CLI (interface de linha de comando) no Azure Cloud Shell. Se você não estiver familiarizado com a CLI do Azure, siga estas instruções de introdução: Introdução à CLI do Azure 2.0.
Suposições:
- Você tem um gerente de conta Microsoft atribuído e atende ao requisito monetário de cinco milhões (US$ 5 milhões) ou mais na receita geral comprometida do Azure anualmente a fim de se qualificar para a integração e o uso do HSM Dedicado do Azure.
- Você passou pelo processo de registro do HSM Dedicado do Azure e o uso do serviço foi aprovado. Se não for o caso, entre em contato com seu representante da conta Microsoft para obter detalhes.
- Você criou um Grupo de Recursos para esses recursos, e os novos que foram implantados neste tutorial serão incluídos nesse grupo.
- Você já criou a rede virtual, a sub-rede e as máquinas virtuais necessárias de acordo com o diagrama acima e agora deseja integrar dois HSMs à implantação.
Todas as instruções abaixo pressupõem que você já navegou até o portal do Azure e abriu o Cloud Shell (selecione ">_" no canto superior direito do portal).
Provisionar um HSM Dedicado
O provisionamento de HSMs e a integração deles a uma rede virtual existente por meio do Gateway do ExpressRoute serão validados usando SSH. Essa validação ajuda a garantir a acessibilidade e a disponibilidade básica do dispositivo HSM para atividades de configuração futuras.
Validar o registro de recursos
Conforme mencionado anteriormente, qualquer atividade de provisionamento requer que o serviço HSM Dedicado esteja registrado na sua assinatura. Para validá-lo, execute os comandos a seguir no Cloud Shell do portal do Azure.
az feature show \
--namespace Microsoft.HardwareSecurityModules \
--name AzureDedicatedHSM
Os comandos devem retornar um status "Registrado" (conforme mostrado abaixo). Se os comandos não retornarem "Registrado", você precisará se registrar nesse serviço entrando em contato com seu representante da conta Microsoft.
Criar recursos do HSM
Antes de criar recursos do HSM, há alguns recursos de pré-requisito necessários. Você deve ter uma rede virtual com intervalos de sub-rede para computação, HSMs e gateway. Os comandos a seguir servem como exemplo do que criaria essa rede virtual.
az network vnet create \
--name myHSM-vnet \
--resource-group myRG \
--address-prefix 10.2.0.0/16 \
--subnet-name compute \
--subnet-prefix 10.2.0.0/24
az network vnet subnet create \
--vnet-name myHSM-vnet \
--resource-group myRG \
--name hsmsubnet \
--address-prefixes 10.2.1.0/24 \
--delegations Microsoft.HardwareSecurityModules/dedicatedHSMs
az network vnet subnet create \
--vnet-name myHSM-vnet \
--resource-group myRG \
--name GatewaySubnet \
--address-prefixes 10.2.255.0/26
Observação
A configuração mais importante a ser observada em relação à rede virtual é que a sub-rede do dispositivo HSM deve ter as delegações definidas como "Microsoft.HardwareSecurityModules/dedicatedHSMs". O provisionamento de HSM não funcionará sem isso.
Depois de configurar sua rede, use estes comandos da CLI do Azure para provisionar seus HSMs.
Use o comando az dedicated-hsm create para provisionar o primeiro HSM. O HSM é chamado de hsm1. Substitua sua assinatura:
az dedicated-hsm create --location westus --name hsm1 --resource-group myRG --network-profile-network-interfaces \ /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/MyHSM-vnet/subnets/MyHSM-vnet
Essa implantação deve levar aproximadamente de 25 a 30 minutos para ser concluída; a maior parte desse tempo deve ser consumida pelos dispositivos HSM.
Para ver um HSM atual, execute o comando az dedicated-hsm show:
az dedicated-hsm show --resource group myRG --name hsm1
Provisione o segundo HSM usando este comando:
az dedicated-hsm create --location westus --name hsm2 --resource-group myRG --network-profile-network-interfaces \ /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/MyHSM-vnet/subnets/MyHSM-vnet
Execute o comando az dedicated-hsm list para ver detalhes sobre seus HSMs atuais:
az dedicated-hsm list --resource-group myRG
Há alguns outros comandos que podem ser úteis. Use o comando az dedicated-hsm update para atualizar um HSM:
az dedicated-hsm update --resource-group myRG –-name hsm1
Para excluir um HSM, use o comando az dedicated-hsm delete:
az dedicated-hsm delete --resource-group myRG –-name hsm1
Verificando a implantação
Para verificar os dispositivos que foram provisionados e ver os atributos do dispositivo, execute o conjunto de comandos a seguir. Verifique se o grupo de recursos está definido corretamente e se o nome do recurso é exatamente igual ao que você tem no arquivo de parâmetros.
subid=$(az account show --query id --output tsv)
az resource show \
--ids /subscriptions/$subid/resourceGroups/myRG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSM1
az resource show \
--ids /subscriptions/$subid/resourceGroups/myRG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSM2
A saída será semelhante ao seguinte:
{
"id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/HSMl",
"identity": null,
"kind": null,
"location": "westus",
"managedBy": null,
"name": "HSM1",
"plan": null,
"properties": {
"networkProfile": {
"networkInterfaces": [
{
"id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.Network/networkInterfaces/HSMl_HSMnic", "privatelpAddress": "10.0.2.5",
"resourceGroup": "HSM-RG"
}
L
"subnet": {
"id": n/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/HSM-RG/providers/Microsoft.Network/virtualNetworks/demo-vnet/subnets/hsmsubnet", "resourceGroup": "HSM-RG"
}
},
"provisioningState": "Succeeded",
"stampld": "stampl",
"statusMessage": "The Dedicated HSM device is provisioned successfully and ready to use."
},
"resourceGroup": "HSM-RG",
"sku": {
"capacity": null,
"family": null,
"model": null,
"name": "SafeNet Luna Network HSM A790",
"size": null,
"tier": null
},
"tags": {
"Environment": "prod",
"resourceType": "Hsm"
},
"type": "Microsoft.HardwareSecurityModules/dedicatedHSMs"
}
Agora também é possível ver os recursos usando o Azure Resource Explorer. Uma vez no Explorer, expanda "Assinaturas" à esquerda, expanda sua assinatura específica do HSM Dedicado, expanda "grupos de recursos", expanda o grupo de recursos que você usou e, por fim, selecione o item "recursos".
Testar a implantação
Para o teste da implantação, você se conecta a uma máquina virtual que pode acessar o HSM(s) para depois se conectar diretamente ao dispositivo HSM. Essas ações confirmarão que o HSM está acessível. A ferramenta SSH é usada para se conectar à máquina virtual. O comando será semelhante ao apresentado a seguir, mas com o nome de administrador e o nome DNS especificados no parâmetro.
ssh adminuser@hsmlinuxvm.westus.cloudapp.azure.com
O endereço IP da VM também pode ser usado no lugar do nome DNS no comando acima. Se o comando for bem-sucedido, ele solicitará uma senha, que deve ser inserida por você. Depois de fazer logon na máquina virtual, você poderá entrar no HSM usando o endereço IP encontrado no portal para o recurso de adaptador de rede associado ao HSM.
Observação
Observe a caixa de seleção "Mostrar tipos ocultos", que, quando selecionada, exibirá recursos do HSM.
Na captura de tela acima, um clique em "HSM1_HSMnic" ou "HSM2_HSMnic" mostraria o endereço IP privado pertinente. Caso contrário, o comando az resource show
usado acima é outra forma de identificar o endereço IP correto.
Quando você tiver o endereço IP correto, execute o seguinte comando substituindo o endereço:
ssh tenantadmin@10.0.2.4
Se ele tiver êxito, você receberá uma solicitação de senha. A senha padrão é PASSWORD; primeiro, o HSM solicitará que você altere sua senha, ou seja, defina uma senha forte e use o mecanismo preferido de sua organização para armazenar a senha e evitar sua perda.
Importante
Se você perder a senha, o HSM precisará ser redefinido, o que significa que você perderá as chaves.
Quando estiver conectado ao HSM usando SSH, execute o comando a seguir para garantir que o HSM esteja funcionando.
hsm show
A saída deve se parecer com a mostrada na imagem abaixo:
A essa altura, você alocou todos os recursos para ter uma implantação de dois HSMs altamente disponível e validou o acesso e o estado operacional. Outras configurações ou testes envolvem mais trabalho com o próprio dispositivo HSM. Para isso, siga as instruções do capítulo 7 do Guia de Administração do Thales Luna 7 HSM para inicializar o HSM e criar partições. Toda a documentação e o software estarão disponíveis para download diretamente na Thales depois que você se registrar no portal de suporte ao cliente da Thales e tiver uma ID do cliente. Baixe o software cliente versão 7.2 para obter todos os componentes necessários.
Excluir ou limpar recursos
Se você tiver concluído o uso somente do dispositivo HSM, será possível excluí-lo como um recurso e devolvê-lo ao pool gratuito. O motivo óbvio de preocupação aqui diz respeito a dados confidenciais de clientes que estejam no dispositivo. A melhor maneira de "zerar" um dispositivo é inserir a senha do administrador do HSM incorretamente três vezes (observação: esse não é o administrador do dispositivo, mas o administrador real do HSM). Como medida de segurança para proteger o material da chave, o dispositivo não pode ser excluído como um recurso do Azure até que esteja no estado zerado.
Observação
Caso tenha problema com alguma configuração do dispositivo Thales, entre em contato com o atendimento ao cliente da Thales.
Ao concluir o uso de todos os recursos desse grupo de recursos, remova-os com o seguinte comando:
az group delete \
--resource-group myRG \
--name HSMdeploy \
--verbose
Próximas etapas
Após a conclusão das etapas do tutorial, os recursos do HSM Dedicado são provisionados e você tem uma rede virtual com os HSMs necessários, além de outros componentes de rede que permitem a comunicação com o HSM. Agora é possível complementar essa implantação com mais recursos, conforme exigido pela sua arquitetura de implantação preferencial. Para saber mais sobre como ajudar a planejar sua implantação, confira os documentos de Conceitos. Recomendamos o uso de um design com dois HSMs em uma região primária abordando a disponibilidade no nível do rack e dois HSMs em uma região secundária abordando a disponibilidade regional.