Criar e configurar um cofre de chaves para Azure Disk Encryption
Aplica-se a: ✔️ VMs do Linux ✔️ Conjuntos de dimensionamento flexíveis
O Azure Disk Encryption usa o Azure Key Vault para ajudar você a controlar e gerenciar os segredos e chaves de criptografia de disco. Para obter mais informações sobre cofres-chave, consulte Introdução ao Cofre de Chaves do Azure e Proteja seu cofre de chaves.
Aviso
- Se você já tiver usado o Azure Disk Encryption com o Microsoft Entra anteriormente para criptografar uma VM, deverá continuar usando essa opção para criptografar a VM. Veja Criação e configuração de um cofre de chaves para Azure Disk Encryption com o Microsoft Entra ID (versão anterior) para saber detalhes.
Criar e configurar um cofre de chaves para usar com Azure Disk Encryption envolve três etapas:
- Criar um grupo de recursos, se necessário.
- Criando um cofre de chaves.
- Definir as políticas de acesso avançado do cofre de chaves.
Esses passos estão ilustrados nos seguintes guias de início rápido:
- Criar e criptografar uma VM do Linux com a CLI do Azure
- Criar e criptografar uma VM do Linux com o Azure PowerShell
Caso queira, também é possível gerar ou importar uma KEK (chave de criptografia de chave).
Observação
As etapas neste artigo são automatizadas no Script de CLI de pré-requisitos do Azure Disk Encryption e no Script do PowerShell de pré-requisitos do Azure Disk Encryption.
Instalar ferramentas e conectar-se ao Azure
As etapas neste artigo podem ser concluídas com a CLI do Azure, o módulo Az do Azure PowerShell ou o portal do Azure.
Embora o portal possa ser acessado através do navegador, a CLI do Azure e o Azure PowerShell exigem a instalação local; veja Azure Disk Encryption para Linux: Instalação de ferramentas para saber detalhes.
Conectar-se à sua conta do Azure
Antes de usar a CLI do Azure ou o Azure PowerShell, é necessário se conectar a sua assinatura do Azure. Você pode fazer isso ao entrar com a CLI do Azure, ao entrar com Azure PowerShell ou ao fornecer suas credenciais para o portal do Azure quando solicitado.
az login
Connect-AzAccount
Criar um grupo de recursos
Se você já tiver um grupo de recursos, poderá pular para Criar um cofre de chaves.
Um grupo de recursos é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados.
Crie um grupo de recursos usando o comando az group create da CLI do Azure, o comando New-AzResourceGroup do Azure PowerShell ou por meio do portal do Azure.
CLI do Azure
az group create --name "myResourceGroup" --location eastus
Azure PowerShell
New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"
Criar um cofre de chave
Se você já tiver um cofre de chaves, poderá pular para definir políticas de acesso avançado do cofre de chaves.
Crie um cofre de chaves usando o comando az keyvault create da CLI do Azure, o comando New-AzKeyvault do Azure PowerShell, o portal do Azure ou um modelo do Resource Manager.
Aviso
Para garantir que os segredos de criptografia não ultrapassem limites regionais, crie e use um cofre de chaves na mesma região e no mesmo locatário que as VMs que serão criptografadas.
Cada Key Vault deve ter um nome exclusivo. Substitua <seu-nome-de cofre-de-chaves-exclusivo> pelo nome do seu cofre de chaves nos exemplos a seguir.
CLI do Azure
Ao criar um cofre de chaves usando a CLI do Azure, adicione o sinalizador "--enabled-for-disk-encryption".
az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption
Azure PowerShell
Ao criar um cofre de chaves usando o Azure PowerShell, adicione o sinalizador "-EnabledForDiskEncryption".
New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption
Modelo do Resource Manager
Você também pode criar um cofre de chaves usando o modelo do Resource Manager.
- No modelo de início rápido do Azure, clique em Implantar no Azure.
- Selecione a assinatura, o grupo de recursos, a localização do grupo de recursos, o nome do Key Vault, a ID do Objeto, os termos legais e o contrato e clique em Comprar.
Definir as políticas de acesso avançado do cofre de chaves
Importante
Os cofres de chaves recém-criados têm a exclusão temporária ativada por padrão. Se estiver usando um cofre de chaves pré-existente, você deverá habilitar a exclusão temporária. Consulte Visão geral da exclusão temporária do Azure Key Vault.
A plataforma Azure precisa acessar as chaves de criptografia ou os segredos no cofre de chaves para disponibilizá-los para a máquina virtual para inicialização e descriptografar os volumes.
Se você não habilitou o cofre de chaves para criptografia de disco, implantação ou implantação de modelo no momento da criação (conforme demonstrado na etapa anterior), você precisa atualizar as políticas de acesso avançado dele.
CLI do Azure
Use atualização de keyvault az para habilitar a criptografia de disco para o Cofre de chaves.
Habilite o cofre de chaves para criptografia de disco: habilitado para criptografia de disco é necessária.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
Ative o cofre de chaves para implantação, se necessário: Permite que o provedor de recursos Microsoft.Compute recupere segredos desse cofre de chaves quando esse cofre de chaves é mencionado na criação de recursos, por exemplo, ao criar uma máquina virtual.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
Habilite o cofre de chaves para implantação de modelo, se necessário: permitem que o Gerenciador de recursos para recuperar segredos do cofre.
az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
Azure PowerShell
Use o cmdlet de cofre de chaves Set-AzKeyVaultAccessPolicy do PowerShell para habilitar a criptografia de disco para o cofre da chaves.
Ative o Key Vault para criptografia de disco: EnabledForDiskEncryption é necessário para a criptografia do Azure Disk.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
Ative o cofre de chaves para implantação, se necessário: Permite que o provedor de recursos Microsoft.Compute recupere segredos desse cofre de chaves quando esse cofre de chaves é mencionado na criação de recursos, por exemplo, ao criar uma máquina virtual.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
Ative o cofre de chaves para implantação de modelos, se necessário: Permite que o Azure Resource Manager obtenha segredos desse cofre de chaves quando esse cofre de chaves for mencionado em uma implantação de modelo.
Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
Portal do Azure
Selecione seu cofre de chaves e vá para Acessar Políticas.
Em "Habilitar Acesso para", selecione a caixa rotulada Azure Disk Encryption para criptografia de volume.
Selecione Máquinas Virtuais do Azure para implantação e/ou Azure Resource Manager para implantação de modelo, se necessário.
Clique em Salvar.
Azure Disk Encryption e rotação automática
Embora o Azure Key Vault tenha a rotação automática de chaves, atualmente ele não é compatível com o Azure Disk Encryption. Especificamente, o Azure Disk Encryption continuará a usar a chave de criptografia original, mesmo após ela ter sido girada automaticamente.
A rotação de uma chave de criptografia não interrompe o Azure Disk Encryption, mas isso pode ocorrer ao desabilitar a chave de criptografia "antiga" (em outras palavras, a chave que o Azure Disk Encryption ainda está usando).
Configurar uma KEK (chave de criptografia)
Importante
A conta em execução para habilitar a criptografia de disco no cofre de chaves deve ter permissões de "leitura".
Se você quiser usar uma chave de criptografia (KEK) para uma camada adicional de segurança para chaves de criptografia, adicione uma KEK ao seu cofre de chaves. Quando uma chave de criptografia de chave é especificada, o Azure Disk Encryption usa essa chave para agrupar os segredos de criptografia antes de gravar no Key Vault.
Você pode gerar uma nova KEK usando o comando az keyvault key create
da CLI do Azure, o cmdlet Add-AzKeyVaultKey do Azure PowerShell ou o portal do Azure. Você deve gerar uma chave do tipo RSA. Atualmente, o Azure Disk Encryption não é compatível com o uso de chaves de Curva Elíptica.
Em vez disso, você pode importar uma KEK do HSM de gerenciamento de chaves local. Para obter mais informações, consulte documentação do cofre de chaves.
As URLs de KEK do cofre de chaves devem ser submetidas ao controle de versão. O Azure impõe essa restrição de controle de versão. Para um segredo válido e URLs KEK, confira os seguintes exemplos:
- Exemplo de uma URL secreta válida: https://contosovault.vault.azure.net/secrets/EncryptionSecretWithKek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Exemplo de uma URL de KEK válida: https://contosovault.vault.azure.net/keys/diskencryptionkek/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CLI do Azure
Use o comando az keyvault key create
da CLI do Azure para gerar uma nova KEK e armazená-la no cofre de chaves.
az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA --size 4096
Em vez disso, você pode importar uma chave privada usando o comando az keyvault key import da CLI do Azure:
Em ambos os casos, você fornecerá o nome da KEK ao parâmetro de chave az vm encryption enable
--key-encryption-key da CLI do Azure.
az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"
Azure PowerShell
Use o cmdlet Add-AzKeyVaultKey do Azure PowerShell para gerar uma nova KEK e armazená-la no cofre de chaves.
Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM" -Size 4096
Em vez disso, você pode importar uma chave privada usando o comando az keyvault key import
do Azure PowerShell.
Em ambos os casos, você fornecerá a ID do cofre de chaves da KEK e a URL da KEK para os parâmetros Set-AzVMDiskEncryptionExtension -KeyEncryptionKeyVaultId e -KeyEncryptionKeyUrl do Azure PowerShell. Este exemplo pressupõe que você esteja usando o mesmo cofre de chaves para a chave de criptografia de disco e a KEK.
$KeyVault = Get-AzKeyVault -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup"
$KEK = Get-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -Name "myKEK"
Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyUrl $KEK.Id -SkipVmBackup -VolumeType All