Habilitar criptografia de disco para os nós do cluster gerenciado do Service Fabric
Clusters gerenciados do Service Fabric dão suporte a duas opções de criptografia de disco para ajudar a proteger seus dados para atender aos compromissos de conformidade e segurança organizacional. A opção recomendada é criptografia no host, mas também oferece suporte a Azure Disk Encryption. Examine as Opções de criptografia de disco e verifique se a opção selecionada atende às suas necessidades.
Habilitar a criptografia no host
Esse método de criptografia melhora no Azure Disk Encryption ao dar suporte a todos os tipos de sistemas operacionais e imagens, incluindo imagens personalizadas para suas VMs ao criptografar dados no serviço de Armazenamento do Microsoft Azure. Esse método não usa a CPU de VMs, nem afeta o desempenho das VMs, permitindo que as cargas de trabalho usem todos os recursos de SKU de VMs disponíveis.
Observação
Não é possível habilitar em tipos de nó existentes. Você deve provisionar um novo tipo de nó e migrar sua carga de trabalho.
Observação
O status da criptografia de disco da Central de Segurança do Azure será mostrado como não íntegro no momento, ao usar a criptografia no host
Siga estas etapas e referencie este modelo de exemplo para implantar um novo cluster gerenciado do Service Fabric com a criptografia de host habilitada.
Examine as seguintes restrições para validar que elas atendem às suas necessidades.
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. A amostra é pré-configurada.- A apiVersion do recurso de cluster gerenciado do Service Fabric deve ser 2021-11-01-preview ou mais recente.
{ "apiVersion": "[variables('sfApiVersion')]", "type": "Microsoft.ServiceFabric/managedclusters/nodetypes", "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]", "location": "[resourcegroup().location]", "properties": { "enableEncryptionAtHost": true ... } }
Implantar e verificar
Implante o 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 de criptografia do disco no conjunto de dimensionamento subjacente de um tipo de nó usando o comando
Get-AzVmss
. Primeiro, você precisará encontrar o nome do grupo de recursos de suporte do seu cluster gerenciado (que contém a rede virtual subjacente, balanceador de carga, IP público, NSG, conjuntos de dimensionamento e contas de armazenamento). ModifiqueNodeTypeNAme
para qualquer nome de tipo de nó de cluster que você deseja verificar (conforme especificado no 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 Azure Disk Encryption
O Azure Disk Encryption fornece criptografia de volume para o sistema operacional e os discos de dados das VMs (máquinas virtuais) do Azure usando o recurso DM-Crypt no Linux ou o recurso BitLocker do Windows. A ADE é integrada ao Azure Key Vault para ajudar a controlar e gerenciar os segredos e as chaves de criptografia de disco.
Neste guia, você aprenderá a habilitar a criptografia de disco em nós do cluster gerenciado do Service Fabric (versão prévia) no Windows usando a capacidade do Azure Disk Encryption para conjuntos de dimensionamento de máquinas virtuais por meio de modelos do Azure Resource Manager (ARM).
Registrar para o Azure Disk Encryption
A versão prévia da criptografia de disco para o conjunto de dimensionamento de máquinas virtuais exige obter um auto-registro. Execute o comando a seguir:
Register-AzProviderFeature -FeatureName "UnifiedDiskEncryption" -ProviderNamespace "Microsoft.Compute"
Verifique o status do registro executando:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
Depois que o status for alterado para Registrado, você estará pronto para continuar.
Provisionar um Key Vault para criptografia de disco
O Azure Disk Encryption requer um Azure Key Vault para ajudar você a controlar e gerenciar os segredos e chaves de criptografia de disco. O Key Vault e o cluster gerenciado do Service Fabric devem residir na mesma região e assinatura do Azure. Contanto que esses requisitos sejam atendidos, você pode usar um Key Vault novo ou existente habilitando-o para a criptografia de disco.
Criar o Key Vault com a criptografia de disco habilitada
Execute os comandos a seguir para criar um novo Key Vault para a criptografia de disco. Verifique se a região do seu Key Vault está na mesma região que o cluster.
$resourceGroupName = "<rg-name>" $keyvaultName = "<kv-name>" New-AzResourceGroup -Name $resourceGroupName -Location eastus2 New-AzKeyVault -ResourceGroupName $resourceGroupName -Name $keyvaultName -Location eastus2 -EnabledForDiskEncryption
Atualizar o Key Vault existente para habilitar a criptografia de disco
Execute os comandos a seguir para habilitar a criptografia de disco para um Key Vault existente.
Set-AzKeyVaultAccessPolicy -ResourceGroupName $resourceGroupName -VaultName $keyvaultName -EnabledForDiskEncryption
Atualizar o modelo e os arquivos de parâmetros para a criptografia de disco
A etapa a seguir explicará as 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, o nome do grupo de recursos e o 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 extensão de VM
AzureDiskEncryption
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')]" } } } ] }
Por fim, 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 seu cluster gerenciado.
$clusterName = "<clustername>" New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose
Você pode verificar o status de criptografia do disco no conjunto de dimensionamento subjacente de um tipo de nó usando o comando
Get-AzVmssDiskEncryption
. Primeiro, você precisará encontrar o nome do grupo de recursos de suporte do seu cluster gerenciado (que contém a rede virtual subjacente, balanceador de carga, IP público, NSG, conjuntos de dimensionamento e contas de armazenamento). ModifiqueVmssName
para qualquer nome de tipo de nó de cluster que você deseja verificar (conforme especificado no 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 ter aparência similar à exibida a seguir:
ResourceGroupName : SFC_########-####-####-####-############ VmScaleSetName : NT1 EncryptionEnabled : True EncryptionExtensionInstalled : True
Próximas etapas
Azure Disk Encryption para VMs do Windows
Criptografar os Conjuntos de Dimensionamento de Máquinas Virtuais com o Azure Resource Manager