Partilhar via


Quickstart: Provisionar e ativar um HSM gerido usando CLI do Azure

Neste quickstart, cria e ativa um Azure Key Vault Managed HSM (Módulo de Segurança de Hardware) usando o CLI do Azure. O HSM gerenciado é um serviço de nuvem totalmente gerenciado, altamente disponível, de locatário único e compatível com os padrões que permite proteger chaves criptográficas para seus aplicativos em nuvem, usando HSMs validados pelo FIPS 140-3 Nível 3 . Para mais informações sobre HSM Geridos, consulte a Visão Geral.

Pré-requisitos

É necessária uma subscrição do Azure. Se você não tiver uma, crie uma conta gratuita antes de começar.

Você também precisa:

  • CLI do Azure versão 2.25.0 ou posterior. Executar az --version para localizar a versão. Se precisares de instalar ou atualizar, vê Instala o CLI do Azure.

Azure Cloud Shell

O Azure aloja o Azure Cloud Shell, um ambiente interativo de shell que pode usar através do seu navegador. Pode usar Bash ou PowerShell com Cloud Shell para trabalhar com serviços do Azure. Pode usar os comandos pré-instalados do Cloud Shell para executar o código deste artigo, sem ter de instalar nada no seu ambiente local.

Para começar Azure Cloud Shell:

Opção Exemplo/Ligação
Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Tentar não copia automaticamente o código ou comando para Cloud Shell. Captura de ecrã que mostra um exemplo de Try It for Azure Cloud Shell.
Vai a https://shell.azure.com, ou seleciona o botão Lançar Cloud Shell para abrir Cloud Shell no teu navegador. Botão para iniciar Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menu no canto superior direito do portal Azure. Captura de ecrã que mostra o botão Cloud Shell no portal Azure

Para usar Azure Cloud Shell:

  1. Iniciar Cloud Shell.

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

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

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

Iniciar sessão no Azure

Para iniciar sessão no Azure usando a linha de código, introduza:

az login

Para mais informações sobre as opções de autenticação através da CLI, consulte Iniciar sessão com CLI do Azure.

Criar um grupo de recursos

Um grupo de recursos é um contentor lógico no qual se implementam e gerem recursos do Azure. O exemplo seguinte cria um grupo de recursos com o nome <resource-group> na localização <location>.

az group create --name "<resource-group>" --location <location>

Criar um HSM gerenciado

Criar um HSM gerenciado é um processo de duas etapas:

  1. Provisione um recurso HSM gerenciado.
  2. Ative seu HSM gerenciado baixando um artefato chamado domínio de segurança.

Provisionar um HSM gerenciado

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

Para criar um recurso de HSM Gerido, forneça os seguintes dados:

  • Um grupo de recursos onde coloca o HSM Gerido na sua subscrição.
  • Uma localização no Azure.
  • Uma lista de administradores iniciais.

O exemplo seguinte cria um HSM nomeado <hsm-name> no grupo <resource-group>de recursos , residindo na localização especificada, com o utilizador atualmente iniciado como único administrador, e um período de retenção de 7 dias para eliminação suave. Continua a pagar pelo HSM Gerido até que este seja purgado num período de eliminação suave. Para obter mais informações, consulte Proteção de exclusão suave e purga gerida do HSM e leia mais sobre exclusão suave gerida do HSM.

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

Nota

Se usar Identidades Geridas como administradores iniciais do seu HSM Gerido, introduza o OID/PrincipalID das Identidades Geridas a seguir --administrators e não o ClientID.

Nota

O comando create pode levar alguns minutos. Quando obtiver uma resposta bem-sucedida, estará pronto para ativar o seu HSM.

Aviso

As instâncias de HSM geridas estão sempre em uso. Se ativares a proteção contra purgas usando a --enable-purge-protection bandeira, pagas 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: O nome que especificaste. Use esse nome para outros comandos.
  • hsmUri: O URI do seu HSM (por exemplo, https://<hsm-name>.managedhsm.azure.net). Os aplicativos que usam seu HSM por meio de sua API REST devem usar esse URI.

A sua conta Azure está agora autorizada a realizar quaisquer operações neste HSM Gerido. Até o momento, ninguém mais está autorizado.

Ative seu HSM gerenciado

Todos os comandos do plano de dados estão desativados até ativares o HSM. Não podes criar chaves nem atribuir funções. Apenas os administradores designados que atribuir durante o comando criar podem ativar o HSM. Para ativar o HSM, você deve baixar o Domínio de segurança.

Para ativar seu HSM, você precisa:

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

Envia pelo menos três (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. Assim que o download do domínio de segurança for concluído com sucesso, o seu HSM está pronto a ser usado. Também precisa de especificar o quórum, que é o número mínimo de chaves privadas necessárias para desencriptar o domínio de segurança.

O exemplo seguinte 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 expiração do certificado não afeta as operações do domínio de segurança — mesmo um certificado "expirado" pode ainda ser usado para restaurar o domínio de segurança.

Importante

Estas chaves privadas RSA são a raiz da confiança para o seu HSM Administrado. Para ambientes de produção, gere estas chaves usando um sistema isolado por ar ou um Módulo de Segurança de Hardware local, e armazene-as seguramente. Consulte as melhores práticas do domínio de Segurança para orientações detalhadas.

Use o az keyvault security-domain download comando para baixar o domínio de segurança e ativar seu 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 quorum como dois.

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. Precisas deles para recuperação de desastres ou para criar outro HSM Gerido que partilhe o mesmo domínio de segurança, para que ambos possam partilhar chaves.

Depois de descarregar com sucesso o domínio de segurança, o seu HSM está num estado ativo e pronto para usar.

Limpar recursos

Outros inícios rápidos e tutoriais desta coleção têm por base este início rápido. Se quiser continuar a trabalhar com os inícios rápidos e tutoriais subsequentes, pode manter estes recursos.

Quando já não forem necessários, pode utilizar o comando az group delete para remover o grupo de recursos e todos os recursos relacionados. Pode eliminar os recursos da seguinte forma:

az group delete --name <resource-group>

Aviso

A exclusão do grupo de recursos coloca o HSM gerenciado em um estado de exclusão suave. O Managed HSM continua a ser faturado até ser eliminado. Consulte Eliminação Suave e Proteção contra Purga do HSM Gerido

Próximos passos

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, continue nestes artigos.