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. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
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.
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 norwayeast.
az group create --name "ContosoResourceGroup" --location norwayeast
Criar um HSM Gerenciado
A criação de um HSM Gerenciado é um processo de duas etapas:
- Provisionar um recurso de HSM gerenciado.
- 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, localizado no Leste da Noruega, com o usuário atual conectado como único administrador, com período de retenção de 7 dias para exclusão suave. 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 "norwayeast" --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.
- Leia uma Visão geral do HSM gerenciado
- Saiba mais sobre Gerenciar chaves em um HSM gerenciado
- Saiba mais sobre Gerenciamento de funções para um HSM gerenciado
- Examine as Melhores práticas do HSM Gerenciado