Início Rápido: Provisionar e ativar um HSM Gerenciado usando a CLI do Azure

Neste início rápido, você criará e ativará um HSM Gerenciado do Azure Key Vault (Módulo de Segurança de Hardware) com a CLI do Azure. O HSM Gerenciado é um serviço de nuvem de apenas um locatário, altamente disponível, totalmente gerenciado e em conformidade com os padrões do setor, que permite proteger chaves criptográficas para seus aplicativos de nuvem usando HSMs validados FIPS 140-2 Nível 3. Para obter mais informações sobre o HSM Gerenciado, examine a Visão geral.

Pré-requisitos

Para concluir as etapas deste artigo, você precisa ter:

  • Uma assinatura do Microsoft Azure. Se você não tiver uma, poderá se inscrever para uma avaliação gratuita.
  • A CLI do Azure versão 2.25.0 ou posterior. Execute az --version para encontrar a versão. Se você precisar instalar ou atualizar, confira Instalar a CLI do Azure.

Azure Cloud Shell

O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Link
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. Button to launch Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.

  4. Pressione Enter para executar o código ou comando.

Entrar no Azure

Para entrar no Azure usando a CLI, você pode digitar:

az login

Criar um grupo de recursos

Um grupo de recursos é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. O exemplo a seguir cria um grupo de recursos chamado ContosoResourceGroup na localização eastus2.

az group create --name "ContosoResourceGroup" --location eastus2

Criar um HSM Gerenciado

A criação de um HSM Gerenciado é um processo de duas etapas:

  1. Provisionar um recurso de HSM gerenciado.
  2. Ative o HSM Gerenciado baixando um artefato chamado domínio de segurança.

Provisionar um HSM Gerenciado

Use o comando az keyvault create para criar um HSM gerenciado. Esse script tem três parâmetros obrigatórios: um nome de grupo de recursos, um nome de HSM e a localização geográfica.

Você precisa fornecer as seguintes entradas para criar um recurso do HSM Gerenciado:

  • Um grupo de recursos em que ele será colocado na assinatura.
  • Localização do Azure.
  • Uma lista de administradores iniciais.

O exemplo a seguir cria um HSM chamado ContosoMHSM, no grupo de recursos ContosoResourceGroup, residindo na localização Leste dos EUA 2, com o usuário conectado no momento como o único administrador, com um período de retenção de 7 dias para exclusão temporária. O HSM Gerenciado continuará a ser cobrado até ser limpo em um período de exclusão reversível. Para obter mais informações, consulte Exclusão reversível e proteção contra limpeza do HSM Gerenciado e leia mais sobre Exclusão temporária do HSM Gerenciado.

oid=$(az ad signed-in-user show --query id -o tsv)
az keyvault create --hsm-name "ContosoMHSM" --resource-group "ContosoResourceGroup" --location "eastus2" --administrators $oid --retention-days 7

Observação

Se você estiver usando Identidades Gerenciadas como os administradores iniciais do HSM Gerenciado, deverá inserir o OID/PrincipalID das Identidades Gerenciadas após "--administrators" e não o ClientID.

Observação

O comando Criar pode levar alguns minutos. Quando ele retornar com sucesso, você estará pronto para ativar o HSM.

Aviso

As instâncias de HSM Gerenciado são consideradas sempre em uso. Se você optar por habilitar a proteção contra limpeza usando o sinalizador --enable-purge-protection, será cobrado por todo o período de retenção.

A saída deste comando mostra as propriedades do HSM Gerenciado que você criou. As duas propriedades mais importantes são:

  • nome: no exemplo, o nome é ContosoMHSM. Você usará esse nome para outros comandos.
  • hsmUri: no exemplo, o URI é 'https://contosohsm.managedhsm.azure.net.' Os aplicativos que usam o HSM por meio da API REST devem usar essa URI.

Sua conta do Azure agora está autorizada a executar qualquer operação neste HSM Gerenciado. Até o momento, ninguém mais tem autorização.

Ativar o HSM Gerenciado

Todos os comandos do plano de dados ficam desabilitados até que o HSM seja ativado. Por exemplo, você não poderá criar chaves nem atribuir funções. Somente os administradores designados que foram atribuídos durante o comando create podem ativar o HSM. Para ativar o HSM, você deve baixar o Domínio de Segurança.

Para ativar o HSM, você precisará:

  • Fornecer pelo menos três (no máximo 10) pares de chaves RSA
  • Especificar o número mínimo de chaves necessário para descriptografar o domínio de segurança (chamado de quorum)

Para ativar o HSM, você envia pelo menos três (no máximo 10) chaves públicas RSA para o HSM. O HSM criptografa o domínio de segurança com essas chaves e o envia de volta. Depois que o download do domínio de segurança for concluído com êxito, o HSM estará pronto para uso. Você também precisa especificar quorum, que é o número mínimo de chaves privadas necessárias para descriptografar o domínio de segurança.

O exemplo a seguir mostra como usar openssl para gerar três certificados autoassinados.

openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer
openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer

Observação

Mesmo que o certificado tenha "expirado", ele ainda poderá ser usado para restaurar o domínio de segurança.

Importante

Crie e armazene os pares de chaves RSA e o arquivo de domínio de segurança gerados nesta etapa com segurança.

Use o comando az keyvault security-domain download para baixar o domínio de segurança e ativar o HSM Gerenciado. O exemplo a seguir usa três pares de chaves RSA (somente chaves públicas são necessárias para este comando) e define o quórum como duas.

az keyvault security-domain download --hsm-name ContosoMHSM --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file ContosoMHSM-SD.json

Armazene o arquivo de domínio de segurança e os pares de chaves RSA com segurança. Você precisará deles para a recuperação de desastre ou para criar outro HSM Gerenciado que compartilhe o mesmo domínio de segurança para que ambos possam compartilhar chaves.

Depois de baixar com êxito o domínio de segurança, seu HSM estará em estado ativo e pronto para uso.

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 para remover o grupo de recursos e todos os recursos relacionados. Você pode excluir os recursos da seguinte maneira:

az group delete --name ContosoResourceGroup

Aviso

Excluir o grupo de recursos coloca o HSM gerenciado em um estado de exclusão reversível. O HSM gerenciado continuará a ser cobrado até que seja limpo. Consulte Exclusão reversível e proteção contra limpeza do HSM gerenciado

Próximas etapas

Neste início rápido, você provisionou um HSM Gerenciado e o ativou. Para saber mais sobre o HSM Gerenciado e como integrá-lo aos seus aplicativos, prossiga para examinar os seguintes artigos.