Habilitar a criptografia de disco para nós de cluster gerenciado do Service Fabric
Os clusters gerenciados do Service Fabric oferecem suporte a duas opções de criptografia de disco para ajudar a proteger seus dados e atender aos seus compromissos organizacionais de segurança e conformidade. A opção recomendada é Criptografia no host, mas também dá suporte à Criptografia de Disco do Azure. Revise as opções de criptografia de disco e verifique se a opção selecionada atende às suas necessidades.
Habilite a criptografia no host
Este método de encriptação melhora a Encriptação de Disco do Azure suportando todos os tipos de SO e imagens, incluindo imagens personalizadas, para as suas VMs encriptando dados no serviço de Armazenamento do Azure. Esse método não usa a CPU das VMs nem afeta o desempenho das VMs, permitindo que as cargas de trabalho usem todos os recursos de SKU de VMs disponíveis.
Nota
Não é possível ativar em tipos de nó existentes. Você deve provisionar um novo tipo de nó e migrar sua carga de trabalho.
Nota
O status da criptografia de disco da Central de Segurança do Azure será exibido como Não íntegro neste momento ao usar a Criptografia no Host
Siga estas etapas e faça referência a este modelo de exemplo para implantar um novo cluster gerenciado do Service Fabric com a criptografia de host habilitada.
Analise as restrições a seguir para validar que elas atendem aos seus requisitos.
Configure os pré-requisitos necessários antes da implantação do cluster.
Configure a
enableEncryptionAtHost
propriedade no modelo de cluster gerenciado para cada tipo de nó que a criptografia de disco é necessária. O exemplo está pré-configurado.- O recurso de cluster gerenciado do Service Fabric apiVersion deve ser 2021-11-01-preview ou posterior.
{ "apiVersion": "[variables('sfApiVersion')]", "type": "Microsoft.ServiceFabric/managedclusters/nodetypes", "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]", "location": "[resourcegroup().location]", "properties": { "enableEncryptionAtHost": true ... } }
Implantar e verificar
Implante seu cluster gerenciado configurado com a Criptografia de Host habilitada.
$clusterName = "<clustername>" $resourceGroupName = "<rg-name>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose
Você pode verificar o status da criptografia de disco no conjunto de escala subjacente de um tipo de nó usando o
Get-AzVmss
comando. Primeiro, você precisará encontrar o nome do grupo de recursos de suporte do cluster gerenciado (contendo a rede virtual subjacente, o balanceador de carga, o IP público, o NSG, o(s) conjunto(s) de escala e as contas de armazenamento). Certifique-se de modificarNodeTypeNAme
para qualquer nome de tipo de nó de cluster que você deseja verificar (conforme especificado no seu modelo de implantação).$NodeTypeName = "NT2" $clustername = <clustername> $resourceGroupName = "<rg-name>" $supportResourceGroupName = "SFC_" + (Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clustername).ClusterId $VMSS = Get-AzVmss -ResourceGroupName $supportResourceGroupName -Name $NodeTypeName $VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost
A saída de retorno deve ser semelhante a esta:
$VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost True
Habilitar a criptografia de disco do Azure
O Azure Disk Encryption fornece criptografia de volume para o sistema operacional e discos de dados de máquinas virtuais (VMs) do Azure usando o recurso DM-Crypt no Linux ou o recurso BitLocker do Windows. O ADE é integrado ao Azure Key Vault para ajudá-lo a controlar e gerenciar as chaves e segredos de criptografia de disco.
Neste guia, você aprenderá como habilitar a criptografia de disco em nós de cluster gerenciados do Service Fabric no Windows usando o recurso de Criptografia de Disco do Azure para conjuntos de dimensionamento de máquina virtual por meio de modelos do Azure Resource Manager (ARM).
Registre-se no Azure Disk Encryption
A visualização de criptografia de disco para o conjunto de dimensionamento de máquina virtual requer autoregistro. Execute o seguinte comando:
Register-AzProviderFeature -FeatureName "UnifiedDiskEncryption" -ProviderNamespace "Microsoft.Compute"
Verifique o status do registro executando:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
Assim que o status mudar para Registrado, você estará pronto para continuar.
Provisionar um Cofre de Chaves para criptografia de disco
O Azure Disk Encryption requer um Cofre de Chaves do Azure para controlar e gerenciar chaves e segredos de criptografia de disco. O cluster gerenciado do Cofre da Chave e do Service Fabric deve residir na mesma região e assinatura do Azure. Desde que esses requisitos sejam atendidos, você pode usar um Cofre de Chaves novo ou existente habilitando-o para criptografia de disco.
Criar Cofre de Chaves com criptografia de disco habilitada
Execute os comandos a seguir para criar um novo Cofre de Chaves para criptografia de disco. Verifique se a região do Cofre da Chave está na mesma região do cluster.
$resourceGroupName = "<rg-name>" $keyvaultName = "<kv-name>" New-AzResourceGroup -Name $resourceGroupName -Location eastus2 New-AzKeyVault -ResourceGroupName $resourceGroupName -Name $keyvaultName -Location eastus2 -EnabledForDiskEncryption
Atualizar o Cofre da Chave existente para habilitar a criptografia de disco
Execute os comandos a seguir para habilitar a criptografia de disco para um Cofre de Chaves existente.
Set-AzKeyVaultAccessPolicy -ResourceGroupName $resourceGroupName -VaultName $keyvaultName -EnabledForDiskEncryption
Atualize os arquivos de modelo e parâmetros para criptografia de disco
A etapa a seguir orientará você pelas alterações de modelo necessárias para habilitar a criptografia de disco em um cluster gerenciado existente. Como alternativa, você pode implantar um novo cluster gerenciado do Service Fabric com a criptografia de disco habilitada com este modelo: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/SF-Managed-Standard-SKU-1-NT-DiskEncryption
Adicione os seguintes parâmetros ao modelo, substituindo sua própria assinatura, nome do grupo de recursos e nome do cofre em
keyVaultResourceId
:"parameters": { "keyVaultResourceId": { "type": "string", "defaultValue": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>", "metadata": { "description": "Full resource id of the Key Vault used for disk encryption." } }, "volumeType": { "type": "string", "defaultValue": "All", "metadata": { "description": "Type of the volume OS or Data to perform encryption operation" } } },
Em seguida, adicione a
AzureDiskEncryption
extensão VM aos tipos de nó de cluster gerenciado no modelo:"properties": { "vmExtensions": [ { "name": "AzureDiskEncryption", "properties": { "publisher": "Microsoft.Azure.Security", "type": "AzureDiskEncryption", "typeHandlerVersion": "2.2", "autoUpgradeMinorVersion": true, "settings": { "EncryptionOperation": "EnableEncryption", "KeyVaultURL": "[reference(parameters('keyVaultResourceId'),'2016-10-01').vaultUri]", "KeyVaultResourceId": "[parameters('keyVaultResourceID')]", "VolumeType": "[parameters('volumeType')]" } } } ] }
Finalmente, atualize o arquivo de parâmetros, substituindo sua própria assinatura, grupo de recursos e nome do cofre de chaves em keyVaultResourceId:
"parameters": { ... "keyVaultResourceId": { "value": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>" }, "volumeType": { "value": "All" } }
Implantar e verificar as alterações
Quando estiver pronto, implante as alterações para habilitar a criptografia de disco no cluster gerenciado.
$clusterName = "<clustername>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose
Você pode verificar o status da criptografia de disco no conjunto de escala subjacente de um tipo de nó usando o
Get-AzVmssDiskEncryption
comando. Primeiro, você precisará encontrar o nome do grupo de recursos de suporte do cluster gerenciado (contendo a rede virtual subjacente, o balanceador de carga, o IP público, o NSG, o(s) conjunto(s) de escala e as contas de armazenamento). Certifique-se de modificarVmssName
para qualquer nome de tipo de nó de cluster que você deseja verificar (conforme especificado no seu modelo de implantação).$VmssName = "NT1" $clustername = <clustername> $supportResourceGroupName = "SFC_" + (Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clustername).ClusterId Get-AzVmssDiskEncryption -ResourceGroupName $supportResourceGroupName -VMScaleSetName $VmssName
A saída deve ser semelhante a esta:
ResourceGroupName : SFC_########-####-####-####-############ VmScaleSetName : NT1 EncryptionEnabled : True EncryptionExtensionInstalled : True
Próximos passos
Azure Disk Encryption para VMs do Windows
Criptografar conjuntos de dimensionamento de máquina virtual com o Azure Resource Manager