Compartilhar via


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

Criar e configurar um cofre de chaves para usar com Azure Disk Encryption envolve três etapas:

  1. Criar um grupo de recursos, se necessário.
  2. Criando um cofre de chaves.
  3. 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:

Caso queira, também é possível gerar ou importar uma KEK (chave de criptografia de chave).

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.

  1. No modelo de início rápido do Azure, clique em Implantar no Azure.
  2. 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

  1. Selecione seu cofre de chaves e vá para Acessar Políticas.

  2. Em "Habilitar Acesso para", selecione a caixa rotulada Azure Disk Encryption para criptografia de volume.

  3. Selecione Máquinas Virtuais do Azure para implantação e/ou Azure Resource Manager para implantação de modelo, se necessário.

  4. Clique em Salvar.

    Cofre de chaves do Azure, políticas de acesso avançadas

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:

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

Próximas etapas