Share via


Schijfversleuteling inschakelen voor beheerde Service Fabric-clusterknooppunten

Beheerde Service Fabric-clusters ondersteunen twee schijfversleutelingsopties om uw gegevens te beveiligen zodat ze voldoen aan de beveiligings- en nalevingsverplichtingen van uw organisatie. De aanbevolen optie is Versleuteling op host, maar biedt ook ondersteuning voor Azure Disk Encryption. Controleer de opties voor schijfversleuteling en zorg ervoor dat de geselecteerde optie aan uw behoeften voldoet.

Versleuteling op host inschakelen

Deze versleutelingsmethode verbetert Azure Disk Encryption door ondersteuning te bieden voor alle typen besturingssysteem en installatiekopieën, inclusief aangepaste installatiekopieën, voor uw VM's door gegevens te versleutelen in de Azure Storage-service. Deze methode maakt geen gebruik van de CPU van uw VM's en heeft ook geen invloed op de prestaties van uw VM's, zodat workloads alle beschikbare VM's SKU-resources kunnen gebruiken.

Notitie

U kunt niet inschakelen voor bestaande knooppunttypen. U moet een nieuw knooppunttype inrichten en uw workload migreren.

Notitie

Azure Security Center schijfversleutelingsstatus wordt op dit moment weergegeven als Niet in orde wanneer u Versleuteling op host gebruikt

Volg deze stappen en raadpleeg deze voorbeeldsjabloon om een nieuw beheerd Service Fabric-cluster te implementeren waarvoor hostversleuteling is ingeschakeld.

  1. Bekijk de volgende beperkingen om te controleren of ze aan uw vereisten voldoen.

  2. Stel de vereiste vereisten in voordat het cluster wordt geïmplementeerd.

  3. Configureer de enableEncryptionAtHost eigenschap in de beheerde clustersjabloon voor elk knooppunttype schijfversleuteling is vereist. Het voorbeeld is vooraf geconfigureerd.

    • De apiVersion van de beheerde Service Fabric-clusterresource moet 2021-11-01-preview of hoger zijn.
         {
                "apiVersion": "[variables('sfApiVersion')]",
                "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
                "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
                "location": "[resourcegroup().location]",
                "properties": {
                    "enableEncryptionAtHost": true
                    ...
                }
        }
    
  4. Implementeren en controleren

    Implementeer uw beheerde cluster geconfigureerd met Hostversleuteling ingeschakeld.

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

    U kunt de schijfversleutelingsstatus voor de onderliggende schaalset van een knooppunttype controleren met behulp van de Get-AzVmss opdracht . Eerst moet u de naam vinden van de ondersteunende resourcegroep van uw beheerde cluster (met het onderliggende virtuele netwerk, load balancer, openbare IP, NSG, schaalset(s) en opslagaccounts). Zorg ervoor dat u de naam van het clusterknooppunttype wijzigt NodeTypeNAme dat u wilt controleren (zoals opgegeven in de implementatiesjabloon).

    $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
    

    De retouruitvoer ziet er ongeveer als volgt uit:

    $VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost
    True
    

Azure Disk Encryption inschakelen

Azure Disk Encryption biedt volumeversleuteling voor de besturingssysteem- en gegevensschijven van virtuele Azure-machines (VM's) met behulp van de functie DM-Crypt in Linux of de BitLocker-functie van Windows. ADE is geïntegreerd met Azure Key Vault om u te helpen bij het beheren en beheren van de schijfversleutelingssleutels en -geheimen.

In deze handleiding leert u hoe u schijfversleuteling inschakelt op door Service Fabric beheerde clusterknooppunten in Windows met behulp van de Azure Disk Encryption-mogelijkheid voor virtuele-machineschaalsets via ARM-sjablonen (Azure Resource Manager).

  1. Registreren voor Azure Disk Encryption

    De preview-versie van schijfversleuteling voor de virtuele-machineschaalset vereist zelfregistratie. Voer de volgende opdracht uit:

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

    Controleer de status van de registratie door het volgende uit te voeren:

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

    Zodra de status is gewijzigd in Geregistreerd, kunt u doorgaan.

  2. Een Key Vault inrichten voor schijfversleuteling

    Azure Disk Encryption vereist een Azure Key Vault voor het beheren en beheren van schijfversleutelingssleutels en -geheimen. Uw Key Vault en door Service Fabric beheerde cluster moeten zich in dezelfde Azure-regio en hetzelfde abonnement bevinden. Zolang aan deze vereisten wordt voldaan, kunt u een nieuwe of bestaande Key Vault gebruiken door deze in te schakelen voor schijfversleuteling.

  3. Key Vault maken waarvoor schijfversleuteling is ingeschakeld

    Voer de volgende opdrachten uit om een nieuwe Key Vault voor schijfversleuteling te maken. Zorg ervoor dat de regio voor uw Key Vault zich in dezelfde regio bevindt als uw cluster.

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

  1. Bestaande Key Vault bijwerken om schijfversleuteling in te schakelen

    Voer de volgende opdrachten uit om schijfversleuteling in te schakelen voor een bestaande Key Vault.

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

De sjabloon- en parameterbestanden voor schijfversleuteling bijwerken

In de volgende stap doorloopt u de vereiste sjabloonwijzigingen voor het inschakelen van schijfversleuteling op een bestaand beheerd cluster. U kunt ook een nieuw beheerd Service Fabric-cluster implementeren met schijfversleuteling ingeschakeld met deze sjabloon: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/SF-Managed-Standard-SKU-1-NT-DiskEncryption

  1. Voeg de volgende parameters toe aan de sjabloon, waarbij u uw eigen abonnement, resourcegroepnaam en kluisnaam vervangt onder 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. Voeg vervolgens de VM-extensie AzureDiskEncryption toe aan de typen beheerde clusterknooppunten in de sjabloon:

    "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. Werk ten slotte het parameterbestand bij, waarbij u uw eigen abonnement, resourcegroep en sleutelkluisnaam vervangt in keyVaultResourceId:

    "parameters": { 
    ...
     "keyVaultResourceId": { 
      "value": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>" 
     },   
     "volumeType": { 
      "value": "All" 
     }    
    } 
    
  4. De wijzigingen implementeren en controleren

    Zodra u klaar bent, implementeert u de wijzigingen om schijfversleuteling in uw beheerde cluster in te schakelen.

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

    U kunt de schijfversleutelingsstatus voor de onderliggende schaalset van een knooppunttype controleren met behulp van de Get-AzVmssDiskEncryption opdracht . Eerst moet u de naam vinden van de ondersteunende resourcegroep van uw beheerde cluster (met het onderliggende virtuele netwerk, load balancer, openbare IP, NSG, schaalset(s) en opslagaccounts). Zorg ervoor dat u de naam van het clusterknooppunttype wijzigt VmssName dat u wilt controleren (zoals opgegeven in de implementatiesjabloon).

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

    De uitvoer moet er ongeveer als volgt uitzien:

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

Volgende stappen

Voorbeeld: Beheerd cluster met standard-SKU Service Fabric, één knooppunttype met schijfversleuteling ingeschakeld

Azure Disk Encryption voor virtuele Windows-machines

Schaalsets voor virtuele machines versleutelen met Azure Resource Manager