Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
pt-PT: Aplica-se a: ✔️ VMs Linux ✔️ VMs Windows ✔️ Conjuntos de escala flexíveis ✔️ Conjuntos de escala uniformes
O Armazenamento em Disco do Azure permite que você gerencie suas próprias chaves ao usar a criptografia do lado do servidor (SSE) para discos gerenciados, se desejar. Para obter informações conceituais sobre SSE com chaves gerenciadas pelo cliente, bem como outros tipos de criptografia de disco gerenciado, consulte a seção Chaves gerenciadas pelo cliente de nosso artigo sobre criptografia de disco.
Restrições
Por enquanto, as chaves gerenciadas pelo cliente têm as seguintes restrições:
- Se esse recurso estiver habilitado para um disco com snapshots incrementais, ele não poderá ser desabilitado nesse disco ou em seus snapshots. Para contornar isso, copie todos os dados para um disco gerenciado totalmente diferente que não esteja usando chaves gerenciadas pelo cliente. Você pode fazer isso com a CLI do Azure ou o módulo do Azure PowerShell.
- Um disco e todos os snapshots incrementais associados devem ter o mesmo conjunto de criptografia de disco.
- Apenas software e chaves HSM RSA de tamanhos 2.048 bits, 3.072 bits e 4.096 bits são suportados, não são suportados outros tamanhos ou chaves.
- As chaves HSM exigem a camada premium dos cofres de Chave do Azure.
- Apenas para discos Ultra e SSD Premium v2:
- (Pré-visualização) As identidades gerenciadas atribuídas pelo usuário estão disponíveis para discos Ultra e SSD Premium v2 criptografados com chaves gerenciadas pelo cliente.
- (Pré-visualização) Você pode criptografar discos Ultra e discos SSD Premium v2 com chaves geridas pelo cliente usando os Cofres de Chaves do Azure armazenados em um tenant diferente do Microsoft Entra ID.
- A maioria dos recursos relacionados às chaves geridas pelo cliente (conjuntos de criptografia de disco, VMs, discos e instantâneos) devem estar na mesma assinatura e região.
- Os Cofres de Chaves do Azure podem ser usados a partir de uma assinatura diferente, mas devem estar na mesma região do conjunto de criptografia de disco. Em pré-visualização, pode usar os Cofres de Chaves do Azure de diferentes locatários do Microsoft Entra.
- Os discos criptografados com chaves gerenciadas pelo cliente só podem ser movidos para outro grupo de recursos se a VM à qual estão conectados estiver deslocalizada.
- Discos, instantâneos e imagens criptografados com chaves geridas pelo cliente não podem ser transferidos entre assinaturas.
- Os discos gerenciados atualmente ou anteriormente criptografados usando o Azure Disk Encryption não podem ser criptografados usando chaves gerenciadas pelo cliente.
- Só pode criar até 5000 conjuntos de criptografia de disco por região e por assinatura.
- Para obter informações sobre como usar chaves gerenciadas pelo cliente com galerias de imagens compartilhadas, consulte Visualização: usar chaves gerenciadas pelo cliente para criptografar imagens.
Criar recursos
Assim que a funcionalidade estiver habilitada, será necessário configurar um DiskEncryptionSet e um Azure Key Vault ou um Azure Key Vault Managed HSM.
Azure Key Vault
- Instale a versão mais recente da Azure CLI e inicie sessão numa conta do Azure com az login.
- Crie um Cofre de Chaves do Azure e uma chave de criptografia.
Ao criar o Cofre de Chaves, deve habilitar a proteção contra eliminação. A proteção contra eliminação garante que uma chave eliminada não possa ser eliminada de forma permanente até que o período de retenção expire. Estas definições protegem-no contra a perda de dados devido à eliminação acidental. Essas configurações são obrigatórias ao usar um Cofre de Chaves para criptografar discos gerenciados.
Importante
Não uses camel case para a região; se o fizeres, podes ter problemas ao atribuir discos adicionais ao recurso no portal do Azure.
subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
az account set --subscription $subscriptionId
az group create --resource-group $rgName --location $location
az keyvault create -n $keyVaultName \
-g $rgName \
-l $location \
--enable-purge-protection true
az keyvault key create --vault-name $keyVaultName \
-n $keyName \
--protection software
- Crie um conjunto de encriptação de disco. Você pode definir enable-auto-key-rotation como true para habilitar a rotação automática da chave. Quando você habilita a rotação automática, o sistema atualiza automaticamente todos os discos gerenciados, instantâneos e imagens que fazem referência ao conjunto de criptografia de disco para usar a nova versão da chave em uma hora.
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set create -n $diskEncryptionSetName \
-l $location \
-g $rgName \
--key-url $keyVaultKeyUrl \
--enable-auto-key-rotation false
- Conceda ao recurso DiskEncryptionSet acesso ao cofre de chaves.
Nota
Pode levar alguns minutos para o Azure criar a identidade do seu DiskEncryptionSet em sua ID do Microsoft Entra. Se você receber um erro como "Não é possível localizar o objeto do Ative Directory" ao executar o seguinte comando, aguarde alguns minutos e tente novamente.
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
az keyvault set-policy -n $keyVaultName \
-g $rgName \
--object-id $desIdentity \
--key-permissions wrapkey unwrapkey get
HSM Gerido do Azure Key Vault
Como alternativa, você pode usar um HSM gerenciado para manipular suas chaves.
Para fazer isso, você deve preencher os seguintes pré-requisitos:
- Instale a CLI do Azure mais recente e inicie sessão numa conta do Azure com az login.
- Crie e configure um HSM gerenciado.
- Atribua permissões a um utilizador, para que possa gerir o seu HSM Gerido.
Configuração
Depois de criar um HSM gerenciado e adicionar permissões, habilite a proteção contra limpeza e crie uma chave de criptografia.
subscriptionId=yourSubscriptionID
rgName=yourResourceGroupName
location=westcentralus
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
diskName=yourDiskName
az account set --subscription $subscriptionId
az keyvault update-hsm --subscription $subscriptionId -g $rgName --hsm-name $keyVaultName --enable-purge-protection true
az keyvault key create --hsm-name $keyVaultName --name $keyName --ops wrapKey unwrapKey --kty RSA-HSM --size 2048
Em seguida, crie um DiskEncryptionSet.
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set create -n $diskEncryptionSetName \
-l $location \
-g $rgName \
--key-url $keyVaultKeyUrl \
--enable-auto-key-rotation false
Por fim, conceda ao DiskEncryptionSet acesso ao HSM gerenciado.
desIdentity=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [identity.principalId] -o tsv)
az keyvault role assignment create --hsm-name $keyVaultName --role "Managed HSM Crypto Service Encryption User" --assignee $desIdentity --scope /keys
Agora que você criou e configurou esses recursos, pode usá-los para proteger seus discos gerenciados. Os links a seguir contêm scripts de exemplo, cada um com um respetivo cenário, que você pode usar para proteger seus discos gerenciados.
Exemplos
Crie uma VM usando uma imagem do Marketplace, criptografando o sistema operacional e os discos de dados com chaves gerenciadas pelo cliente
rgName=yourResourceGroupName
vmName=yourVMName
location=westcentralus
vmSize=Standard_DS3_V2
image=LinuxImageURN
diskEncryptionSetName=yourDiskencryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vm create -g $rgName -n $vmName -l $location --image $image --size $vmSize --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 128 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Criptografar discos gerenciados existentes
Seus discos existentes não devem ser anexados a uma VM em execução para que você os criptografe usando o seguinte script:
rgName=yourResourceGroupName
diskName=yourDiskName
diskEncryptionSetName=yourDiskEncryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az disk update -n $diskName -g $rgName --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId
Crie um conjunto de dimensionamento de máquina virtual usando uma imagem do Marketplace, criptografando o sistema operacional e os discos de dados com chaves gerenciadas pelo cliente
rgName=yourResourceGroupName
vmssName=yourVMSSName
location=westcentralus
vmSize=Standard_DS3_V2
image=LinuxImageURN
diskEncryptionSetName=yourDiskencryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az vmss create -g $rgName -n $vmssName --image $image --upgrade-policy automatic --admin-username azureuser --generate-ssh-keys --os-disk-encryption-set $diskEncryptionSetId --data-disk-sizes-gb 64 128 --data-disk-encryption-sets $diskEncryptionSetId $diskEncryptionSetId
Crie um disco vazio criptografado usando criptografia do lado do servidor com chaves gerenciadas pelo cliente e anexe-o a uma VM
vmName=yourVMName
rgName=yourResourceGroupName
diskName=yourDiskName
diskSkuName=Premium_LRS
diskSizeinGiB=30
location=westcentralus
diskLUN=2
diskEncryptionSetName=yourDiskEncryptionSetName
diskEncryptionSetId=$(az disk-encryption-set show -n $diskEncryptionSetName -g $rgName --query [id] -o tsv)
az disk create -n $diskName -g $rgName -l $location --encryption-type EncryptionAtRestWithCustomerKey --disk-encryption-set $diskEncryptionSetId --size-gb $diskSizeinGiB --sku $diskSkuName
diskId=$(az disk show -n $diskName -g $rgName --query [id] -o tsv)
az vm disk attach --vm-name $vmName --lun $diskLUN --ids $diskId
Altere a chave de um DiskEncryptionSet para girar a chave para todos os recursos que fazem referência ao DiskEncryptionSet
rgName=yourResourceGroupName
keyVaultName=yourKeyVaultName
keyName=yourKeyName
diskEncryptionSetName=yourDiskEncryptionSetName
keyVaultId=$(az keyvault show --name $keyVaultName--query [id] -o tsv)
keyVaultKeyUrl=$(az keyvault key show --vault-name $keyVaultName --name $keyName --query [key.kid] -o tsv)
az disk-encryption-set update -n keyrotationdes -g keyrotationtesting --key-url $keyVaultKeyUrl --source-vault $keyVaultId
Localizar o status da criptografia do lado do servidor de um disco
az disk show -g yourResourceGroupName -n yourDiskName --query [encryption.type] -o tsv
Importante
As chaves gerenciadas pelo cliente dependem de identidades gerenciadas para recursos do Azure, um recurso do Microsoft Entra ID. Quando se configuram chaves geridas pelo cliente, uma identidade gerida é automaticamente atribuída aos seus recursos nos bastidores. Se, posteriormente, você mover a assinatura, o grupo de recursos ou o disco gerenciado de um diretório do Microsoft Entra para outro, a identidade gerenciada associada aos discos gerenciados não será transferida para o novo locatário, portanto, as chaves gerenciadas pelo cliente podem não funcionar mais. Para obter mais informações, consulte Transferindo uma assinatura entre diretórios do Microsoft Entra.
Próximos passos
- Explore os modelos do Azure Resource Manager para criar discos criptografados com chaves gerenciadas pelo cliente
- Replicar máquinas com discos habilitados para chaves geridas pelo cliente
- Configurar a recuperação após desastre de VMs do VMware para o Azure com o PowerShell
- Configurar a recuperação de desastres para o Azure para VMs Hyper-V com o PowerShell e o Azure Resource Manager
- Consulte Criar um disco gerenciado a partir de um snapshot com a CLI para obter um exemplo de código.