Partilhar via


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.

  1. Analise as restrições a seguir para validar que elas atendem aos seus requisitos.

  2. Configure os pré-requisitos necessários antes da implantação do cluster.

  3. 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
                    ...
                }
        }
    
  4. 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 modificar NodeTypeNAme 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).

  1. 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.

  2. 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.

  3. 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
    

  1. 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

  1. 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" 
    }
    }
    }, 
    
  2. 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')]" 
         } 
       } 
    } 
    ] 
    } 
    
  3. 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" 
     }    
    } 
    
  4. 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 modificar VmssName 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

Exemplo: cluster gerenciado padrão do SKU Service Fabric, um tipo de nó com criptografia de disco habilitada

Azure Disk Encryption para VMs do Windows

Criptografar conjuntos de dimensionamento de máquina virtual com o Azure Resource Manager