Share via


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.

  1. Examine as seguintes restrições para validar que elas atendem às suas necessidades.

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

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

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

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

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

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

Amostra: SKU Standard do cluster gerenciado do Service Fabric, um tipo de nó com criptografia de disco habilitada

Azure Disk Encryption para VMs do Windows

Criptografar os Conjuntos de Dimensionamento de Máquinas Virtuais com o Azure Resource Manager