Partager via


Activer le chiffrement de disque pour les nœuds de cluster managé Service Fabric

Les clusters managés Service Fabric prennent en charge deux options de chiffrement de disque pour aider à protéger vos données afin de répondre aux engagements de votre organisation en matière de sécurité et de conformité. L’option recommandée est le chiffrement sur l’hôte, mais Azure Disk Encryption est également pris en charge. Passez en revue les options de chiffrement de disque et assurez-vous que l’option sélectionnée répond à vos besoins.

Activer le chiffrement sur l’hôte

Cette méthode de chiffrement constitue une amélioration par rapport à Azure Disk Encryption en prenant en charge l’ensemble des types et des images de systèmes d’exploitation, notamment les images personnalisées, pour vos machines virtuelles en chiffrant des données dans le service Stockage Azure. Cette méthode n’utilise pas le processeur de vos machines virtuelles ni n’affecte les performances de vos machines virtuelles, ce qui permet aux charges de travail d’utiliser toutes les ressources SKU disponibles des machines virtuelles.

Notes

Vous ne pouvez pas l’activer sur les types de nœuds existants. Vous devez provisionner un nouveau type de nœud et migrer votre charge de travail.

Notes

L’état de chiffrement de disque d’Azure Security Center s’affiche comme étant non sain pour l’instant lors de l’utilisation du chiffrement sur l’hôte

Suivez ces étapes et référencez cet exemple de modèle pour déployer un nouveau cluster managé Service Fabric avec le chiffrement de l’hôte activé.

  1. Passez en revue les restrictions suivantes pour confirmer qu’elles correspondent à vos exigences.

  2. Configurez les prérequis nécessaires avant le déploiement du cluster.

  3. Configurez la propriété enableEncryptionAtHost dans le modèle de cluster managé pour chaque type de nœud. Le chiffrement de disque est obligatoire. L’exemple est préconfiguré.

    • La valeur apiVersion de la ressource de cluster managé Service Fabric doit être 2021-11-01-preview ou ultérieure.
         {
                "apiVersion": "[variables('sfApiVersion')]",
                "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
                "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
                "location": "[resourcegroup().location]",
                "properties": {
                    "enableEncryptionAtHost": true
                    ...
                }
        }
    
  4. Déployer et vérifier

    Déployez votre cluster managé configuré avec le chiffrement de l’hôte activé.

    $clusterName = "<clustername>" 
    $resourceGroupName = "<rg-name>"
    
    New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose 
    

    Vous pouvez vérifier l’état de chiffrement du disque sur un groupe identique sous-jacent du type de nœud au moyen de la commande Get-AzVmss. Vous devez tout d’abord rechercher le nom du groupe de ressources de prise en charge de votre cluster managé (contenant le réseau virtuel sous-jacent, l’équilibreur de charge, l’adresse IP publique, le groupe de sécurité réseau, le ou les groupes identiques et les comptes de stockage). Veillez à modifier NodeTypeNAme pour le nom du type de nœud de cluster que vous souhaitez vérifier (comme spécifié dans votre modèle de déploiement).

    $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
    

    La sortie de retour doit ressembler à ceci :

    $VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost
    True
    

Activer Azure Disk Encryption

Azure Disk Encryption fournit un chiffrement de volume pour les disques de système d’exploitation et de données des machines virtuelles Azure en utilisant la fonctionnalité DM-Crypt de Linux ou la fonctionnalité BitLocker de Windows. ADE est intégré à Azure Key Vault pour faciliter le contrôle et la gestion des clés et des secrets de chiffrement des disques.

Dans ce guide, vous allez apprendre à activer le chiffrement de disque sur les nœuds de cluster managé Service Fabric dans Windows, à l’aide de la fonctionnalité Azure Disk Encryption pour les groupes de machines virtuelles identiques avec des modèles Azure Resource Manager (ARM).

  1. S’inscrire auprès d’Azure Disk Encryption

    La préversion du chiffrement de disque des groupes de machines virtuelles identiques nécessite une inscription automatique. Exécutez la commande suivante :

    Register-AzProviderFeature -FeatureName "UnifiedDiskEncryption" -ProviderNamespace "Microsoft.Compute"
    

    Vérifiez l’état de l’inscription en exécutant :

    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    

    Lorsque l’état passe à Enregistré, vous êtes prêt à continuer.

  2. Provisionner un coffre de clés pour le chiffrement de disque

    Azure Disk Encryption exige Azure Key Vault pour contrôler et gérer les clés et les secrets de chiffrement de disque. Votre coffre de clés et le cluster managé Service Fabric doivent résider dans le même abonnement et la même région Azure. Tant que ces exigences sont respectées, vous pouvez utiliser un coffre de clés nouveau ou existant en l’activant pour le chiffrement de disque.

  3. Créer un coffre de clés avec le chiffrement de disque activé

    Exécutez les commandes suivantes qui permettent de créer un coffre de clés pour le chiffrement de disque. Assurez-vous que la région de votre Key Vault se trouve dans la même région que votre cluster.

    $resourceGroupName = "<rg-name>" 
    $keyvaultName = "<kv-name>" 
    
    New-AzResourceGroup -Name $resourceGroupName -Location eastus2 
    New-AzKeyVault -ResourceGroupName $resourceGroupName -Name $keyvaultName -Location eastus2 -EnabledForDiskEncryption
    

  1. Mettre à jour un coffre de clés existant pour activer le chiffrement de disque

    Exécutez les commandes permettant d’activer le chiffrement de disque pour un coffre de clés existant.

    Set-AzKeyVaultAccessPolicy -ResourceGroupName $resourceGroupName -VaultName $keyvaultName -EnabledForDiskEncryption
    

Mettre à jour le fichier de paramètres et le modèle pour le chiffrement de disque

L’étape suivante vous guide tout au long des modifications nécessaires du modèle pour activer le chiffrement de disque sur un cluster managé existant. Vous pouvez aussi déployer un nouveau cluster managé Service Fabric avec le chiffrement de disque activé, à l’aide de ce modèle : https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/SF-Managed-Standard-SKU-1-NT-DiskEncryption

  1. Ajoutez les paramètres suivants au modèle, en substituant votre propre abonnement, nom de groupe de ressources et nom de coffre de clés sous 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. Ensuite, ajoutez l’extension de machine virtuelle AzureDiskEncryption aux types de nœuds du cluster managé dans le modèle :

    "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. Enfin, mettez à jour le fichier des paramètres, en substituant votre propre abonnement, groupe de ressources et nom de coffre de clés dans keyVaultResourceId :

    "parameters": { 
    ...
     "keyVaultResourceId": { 
      "value": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>" 
     },   
     "volumeType": { 
      "value": "All" 
     }    
    } 
    
  4. Déployer et vérifier les modifications

    Lorsque vous êtes prêt, déployez les modifications pour activer le chiffrement de disque sur votre cluster managé.

    $clusterName = "<clustername>" 
    
    New-AzResourceGroupDeployment -Name $resourceGroupName -ResourceGroupName $resourceGroupName .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug -Verbose 
    

    Vous pouvez vérifier l’état de chiffrement du disque sur un groupe identique sous-jacent du type de nœud au moyen de la commande Get-AzVmssDiskEncryption. Vous devez tout d’abord rechercher le nom du groupe de ressources de prise en charge de votre cluster managé (contenant le réseau virtuel sous-jacent, l’équilibreur de charge, l’adresse IP publique, le groupe de sécurité réseau, le ou les groupes identiques et les comptes de stockage). Veillez à modifier VmssName pour le nom du type de nœud de cluster que vous souhaitez vérifier (comme spécifié dans votre modèle de déploiement).

    $VmssName = "NT1"
    $clustername = <clustername>
    $supportResourceGroupName = "SFC_" + (Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clustername).ClusterId
    Get-AzVmssDiskEncryption -ResourceGroupName $supportResourceGroupName -VMScaleSetName $VmssName
    

    Le résultat doit ressembler à ceci :

    ResourceGroupName            : SFC_########-####-####-####-############
    VmScaleSetName               : NT1
    EncryptionEnabled            : True
    EncryptionExtensionInstalled : True
    

Étapes suivantes

Exemple : cluster managé Service Fabric de référence SKU Standard, un type de nœud avec chiffrement de disque activé

Azure Disk Encryption pour les machines virtuelles Windows

Chiffrer des groupes de machines virtuelles identiques avec Azure Resource Manager