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

Neste início rápido, você cria e ativa um HSM Gerenciado Azure Key Vault (Módulo de Segurança de Hardware) usando CLI do Azure. O HSM Gerenciado é um serviço de nuvem de gerenciamento completo, altamente disponível, de locatário único e compatível com padrões que permite proteger chaves criptográficas para seus aplicativos de nuvem, com HSMs validados pelo FIPS 140-3 Nível 3. Para obter mais informações sobre hsm gerenciado, examine a visão geral.

Pré-requisitos

Uma assinatura Azure é necessária. Se você não tiver uma, crie uma conta gratuita antes de começar.

Você também precisará de:

  • CLI do Azure versão 2.25.0 ou posterior. Execute az --version para encontrar a versão. Se você precisar instalar ou atualizar, consulte Instale o CLI do Azure.

Azure Cloud Shell

Azure hospeda Azure Cloud Shell, um ambiente de shell interativo que você pode usar por meio do navegador. Você pode usar o Bash ou o PowerShell com Cloud Shell para trabalhar com serviços de Azure. Você pode usar os comandos pré-instalados Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.

Para iniciar Azure Cloud Shell:

Opção Exemplo/Link
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Try It não copia automaticamente o código ou o comando para Cloud Shell. Screenshot que mostra um exemplo de Try It for Azure Cloud Shell.
Vá para https://shell.azure.com ou selecione o botão Launch Cloud Shell para abrir Cloud Shell no navegador. Button para iniciar Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito no portal Azure. Screenshot que mostra o botão Cloud Shell no portal Azure

Para usar Azure Cloud Shell:

  1. Inicie 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 o comando na sessão Cloud Shell selecionando Ctrl+Shift+V em Windows e Linux, ou selecionando Cmd+Shift+V no macOS.

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

Entrar no Azure

Para entrar no Azure usando a CLI, insira:

az login

Para obter mais informações sobre opções de autenticação por meio da CLI, consulte Sign in with CLI do Azure.

Criar um grupo de recursos

Um grupo de recursos é um contêiner lógico no qual Azure recursos 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"

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.

Para criar um recurso de HSM gerenciado, forneça as seguintes entradas:

  • Nome do HSM gerenciado: uma cadeia de caracteres de 3 a 24 caracteres que pode conter apenas números (0-9), letras (a-z, A-Z) e hifens (-).

    Importante

    Cada HSM Gerenciado precisa ter um nome exclusivo. Substitua <hsm-name> por seu próprio nome HSM gerenciado exclusivo nos exemplos a seguir.

  • Nome do grupo de recursos: myResourceGroup.

  • Localização: EastUS.

  • Uma lista de administradores iniciais.

O exemplo a seguir cria um HSM chamado <hsm-name> no grupo de recursos myResourceGroup, que reside na localização EastUS, com o usuário atual conectado como o único administrador e um período de retenção de 7 dias para exclusão reversível. Você continuará pagando pelo HSM gerenciado até que ele seja purgado permanentemente durante um período de exclusão temporária. 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 "<hsm-name>" --resource-group "myResourceGroup" --location "EastUS" --administrators $oid --retention-days 7

Observação

Se você usar Identidades Gerenciadas como administradores iniciais do HSM Gerenciado, insira a OID/PrincipalID das Identidades Gerenciadas após --administrators e não a ClientID.

Observação

O comando Criar pode levar alguns minutos. Quando a conexão for restabelecida com êxito, você estará preparado para ativar o HSM.

Aviso

As instâncias de HSM gerenciadas estão sempre em uso. Se você habilitar a proteção contra exclusão usando a marca --enable-purge-protection, pagará por todo o período de retenção.

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

  • nome: o nome que você especificou. Você usa este nome para outros comandos.
  • hsmUri: o URI do HSM (por exemplo, https://<hsm-name>.managedhsm.azure.net). Os aplicativos que usam o HSM por meio da API REST devem usar essa URI.

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

Ativar o HSM Gerenciado

Todos os comandos do plano de dados são desabilitados até que você ative o HSM. Você não pode criar chaves ou atribuir funções. Somente os administradores designados que você atribui 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ê precisa:

  • Um mínimo de três pares de chaves RSA (máximo de 10)
  • O número mínimo de chaves necessárias para descriptografar o domínio de segurança (chamado quorum)

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 o 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

A data de validade do certificado não afeta as operações de domínio de segurança— mesmo um certificado "expirado" ainda pode ser usado para restaurar o domínio de segurança.

Importante

Essas chaves privadas RSA são a raiz da confiança para o HSM Gerenciado. Para ambientes de produção, gere essas chaves usando um sistema isolado por ar ou HSM em instalações locais e armazene-as com segurança. Consulte as práticas recomendadas do domínio de segurança para obter diretrizes detalhadas.

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 <hsm-name> --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file <hsm-name>-SD.json

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

Depois de baixar com êxito o domínio de segurança, o HSM está em um 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 for mais necessário, você poderá usar o comando CLI do Azure az group delete para remover o grupo de recursos e todos os recursos relacionados:

az group delete --name "myResourceGroup"

Aviso

Excluir o grupo de recursos coloca o HSM gerenciado em um estado de exclusão reversível. O HSM gerenciado continuará sendo cobrado até ser purgado. 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.