Criar e configurar um cofre de chaves para o Azure Disk Encryption

Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível

O Azure Disk Encryption usa o Azure Key Vault para controlar e gerenciar chaves e segredos de criptografia de disco. Para obter mais informações sobre cofres de chaves, consulte Introdução ao Cofre de Chaves do Azure e Proteger seu cofre de chaves.

Aviso

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

  1. Criação de um grupo de recursos, se necessário.
  2. Criação de um cofre de chaves.
  3. Definição de políticas avançadas de acesso do cofre de chaves.

Essas etapas são ilustradas nos seguintes inícios rápidos:

Você também pode, se desejar, gerar ou importar uma chave de criptografia de chave (KEK).

Nota

As etapas neste artigo são automatizadas no script CLI de pré-requisitos de Criptografia de Disco do Azure e no script PowerShell de pré-requisitos de Criptografia de Disco do Azure.

Instalar ferramentas e conectar-se ao Azure

As etapas neste artigo podem ser concluídas com a CLI do Azure, o módulo de módulo do Azure PowerShell Az PowerShell ou o portal do Azure.

Embora o portal esteja acessível através do seu navegador, a CLI do Azure e o Azure PowerShell exigem instalação local; consulte Azure Disk Encryption para Linux: Instalar ferramentas para obter detalhes.

Ligar à sua conta do Azure

Antes de usar a CLI do Azure ou o Azure PowerShell, você deve primeiro se conectar à sua assinatura do Azure. Para fazer isso , entre com a CLI do Azure, entre com o Azure PowerShell ou forneça suas credenciais ao portal do Azure quando solicitado.

az login
Connect-AzAccount

Criar um grupo de recursos

Se já tiver um grupo de recursos, pode saltar para Criar um cofre de chaves.

Um grupo de recursos é um contentor lógico no qual os recursos do Azure são implementados e geridos.

Crie um grupo de recursos usando o comando az group create Azure CLI, o comando New-AzResourceGroup Azure PowerShell ou a partir 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 chaves

Se já tiver um cofre de chaves, pode saltar para Definir políticas de acesso avançado do cofre de chaves.

Crie um cofre de chaves usando o comando az keyvault create Azure CLI, o comando New-AzKeyvault Azure PowerShell, o portal do Azure ou um modelo do Resource Manager.

Aviso

Para garantir que os segredos de criptografia não ultrapassem os limites regionais, você deve criar e usar um cofre de chaves que esteja na mesma região e locatário que as VMs a serem criptografadas.

Cada Cofre de Chaves deve ter um nome exclusivo. Substitua <your-unique-keyvault-name> 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 Gerenciador de Recursos.

  1. No Modelo de Início Rápido do Azure, clique em Implantar no Azure.
  2. Selecione a assinatura, o grupo de recursos, o local do grupo de recursos, o nome do Cofre da Chave, a ID do objeto, os termos legais e o contrato e clique em Comprar.

Definir as políticas avançadas de acesso do cofre de chaves

Importante

Os cofres de chaves recém-criados têm a exclusão suave ativada por padrão. Se estiver a utilizar um cofre de chaves pré-existente, tem de ativar a eliminação suave. Consulte Visão geral de exclusão suave do Azure Key Vault.

A plataforma Azure precisa de acesso às chaves de encriptação ou segredos no seu cofre de chaves para disponibilizá-los à VM para arranque e desencriptação dos volumes.

Se você não habilitou seu cofre de chaves para criptografia de disco, implantação ou implantação de modelo no momento da criação (como demonstrado na etapa anterior), deverá atualizar suas políticas de acesso avançadas.

CLI do Azure

Use az keyvault update para habilitar a criptografia de disco para o cofre de chaves.

  • Habilitar o Cofre da Chave para criptografia de disco: é necessário habilitar a criptografia de disco.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
    
  • Habilitar 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 é referenciado 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 da Chave para implantação de modelo, se necessário: permita que o Gerenciador de Recursos recupere segredos do cofre.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
    

Azure PowerShell

Use o cmdlet do PowerShell do cofre de chaves Set-AzKeyVaultAccessPolicy para habilitar a criptografia de disco para o cofre de chaves.

  • Habilitar o Cofre da Chave para criptografia de disco: EnabledForDiskEncryption é necessário para a criptografia de disco do Azure.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
    
  • Habilitar 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 é referenciado na criação de recursos, por exemplo, ao criar uma máquina virtual.

     Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
    
  • Habilitar o Cofre da Chave para implantação de modelo, se necessário: Permite que o Azure Resource Manager obtenha segredos desse cofre de chaves quando esse cofre de chaves é referenciado 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 Políticas de Acesso.

  2. Em "Habilitar acesso a", selecione a caixa chamada 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 Guardar.

    Azure key vault advanced access policies

Azure Disk Encryption e rotação automática

Embora o Azure Key Vault agora tenha rotação automática de chaves, ele não é compatível com a Criptografia de Disco do Azure. Especificamente, o Azure Disk Encryption continuará a usar a chave de criptografia original, mesmo depois que ela tiver sido girada automaticamente.

Girar uma chave de criptografia não quebrará a Criptografia de Disco do Azure, mas desabilitar a chave de criptografia "antiga" (em outras palavras, a chave que a Criptografia de Disco do Azure ainda está usando) irá.

Configurar uma chave de criptografia de chave (KEK)

Importante

A conta em execução para habilitar a criptografia de disco no cofre de chaves deve ter permissões de "leitor".

Se você quiser usar uma chave de criptografia de chave (KEK) para uma camada adicional de segurança para chaves de criptografia, adicione um KEK ao seu cofre de chaves. Quando uma chave de criptografia de chave é especificada, o Azure Disk Encryption usa essa chave para encapsular os segredos de criptografia antes de gravar no Cofre da Chave.

Você pode gerar um novo KEK usando o comando CLI az keyvault key create do Azure, o cmdlet Add-AzKeyVaultKey do Azure PowerShell ou o portal do Azure. Você deve gerar um tipo de chave RSA; Atualmente, o Azure Disk Encryption não oferece suporte ao uso de chaves de curva elíptica.

Em vez disso, você pode importar um KEK do HSM de gerenciamento de chaves local. Para obter mais informações, consulte a documentação do Key Vault.

Os URLs KEK do cofre de chaves devem ter versão. O Azure impõe essa restrição de controle de versão. Para URLs secretas e KEK válidas, consulte os seguintes exemplos:

CLI do Azure

Use o comando CLI az keyvault key create do Azure para gerar um novo KEK e armazená-lo em seu 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 Azure CLI az keyvault key import:

Em ambos os casos, você fornece o nome do seu KEK para o parâmetro da CLI az vm encryption enable do Azure --key-encryption-key.

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 um novo KEK e armazená-lo em seu 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 Azure PowerShell az keyvault key import .

Em ambos os casos, você fornecerá a ID do seu Cofre de chave KEK e a URL do seu KEK para os parâmetros Set-AzVMDiskEncryptionExtension do Azure PowerShell -KeyEncryptionKeyVaultId e -KeyEncryptionKeyUrl. Este exemplo pressupõe que você esteja usando o mesmo cofre de chaves para a chave de criptografia de disco e o 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óximos passos