Dela via


Aktivera diskkryptering för Service Fabric-hanterade klusternoder

Service Fabric-hanterade kluster har stöd för två diskkrypteringsalternativ för att skydda dina data för att uppfylla organisationens säkerhets- och efterlevnadsåtaganden. Det rekommenderade alternativet är Kryptering på värden, men har även stöd för Azure Disk Encryption. Granska diskkrypteringsalternativen och kontrollera att det valda alternativet uppfyller dina behov.

Aktivera kryptering på värden

Den här krypteringsmetoden förbättrar Azure Disk Encryption genom att stödja alla operativsystemtyper och avbildningar, inklusive anpassade avbildningar, för dina virtuella datorer genom att kryptera data i Azure Storage-tjänsten. Den här metoden använder inte processorn för virtuella datorer och påverkar inte heller dina virtuella datorers prestanda så att arbetsbelastningar kan använda alla tillgängliga SKU-resurser för virtuella datorer.

Kommentar

Du kan inte aktivera på befintliga nodtyper. Du måste etablera en ny nodtyp och migrera din arbetsbelastning.

Kommentar

Azure Security Center-diskkrypteringsstatus visas som Felaktig just nu när kryptering används på värden

Följ de här stegen och referera till den här exempelmallen för att distribuera ett nytt Service Fabric-hanterat kluster med värdkryptering aktiverat.

  1. Granska följande begränsningar för att verifiera att de uppfyller dina krav.

  2. Konfigurera nödvändiga förutsättningar före klusterdistributionen.

  3. enableEncryptionAtHost Konfigurera egenskapen i mallen för hanterade kluster för varje nodtyp diskkryptering krävs. Exemplet är förkonfigurerat.

    • Den hanterade Service Fabric-klusterresursen apiVersion måste vara 2021-11-01-preview eller senare.
         {
                "apiVersion": "[variables('sfApiVersion')]",
                "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
                "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
                "location": "[resourcegroup().location]",
                "properties": {
                    "enableEncryptionAtHost": true
                    ...
                }
        }
    
  4. Distribuera och verifiera

    Distribuera ditt hanterade kluster som konfigurerats med värdkryptering aktiverat.

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

    Du kan kontrollera diskkrypteringsstatus för en nodtyps underliggande skalningsuppsättning med hjälp av Get-AzVmss kommandot . Först måste du hitta namnet på det hanterade klustrets stödresursgrupp (som innehåller det underliggande virtuella nätverket, lastbalanseraren, offentliga IP-adresser, NSG, skalningsuppsättningar och lagringskonton). Se till att ändra NodeTypeNAme till det klusternodstypnamn som du vill kontrollera (enligt beskrivningen i distributionsmallen).

    $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
    

    Returutdata bör se ut ungefär så här:

    $VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost
    True
    

Aktivera Azure Disk Encryption

Azure Disk Encryption tillhandahåller volymkryptering för operativsystemet och datadiskarna för virtuella Azure-datorer (VM) med hjälp av DM-Crypt-funktionen i Linux eller BitLocker-funktionen i Windows. ADE är integrerat med Azure Key Vault för att hjälpa dig att styra och hantera diskkrypteringsnycklar och hemligheter.

I den här guiden får du lära dig hur du aktiverar diskkryptering på Service Fabric-hanterade klusternoder i Windows med hjälp av Azure Disk Encryption-funktionen för VM-skalningsuppsättningar via ARM-mallar (Azure Resource Manager).

  1. Registrera dig för Azure Disk Encryption

    Förhandsgranskningen av diskkryptering för vm-skalningsuppsättningen kräver självregistrering. Kör följande kommando:

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

    Kontrollera status för registreringen genom att köra:

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

    När statusen har ändrats till Registrerad är du redo att fortsätta.

  2. Etablera ett Key Vault för diskkryptering

    Azure Disk Encryption kräver ett Azure Key Vault för att styra och hantera diskkrypteringsnycklar och hemligheter. Ditt Key Vault- och Service Fabric-hanterade kluster måste finnas i samma Azure-region och prenumeration. Så länge dessa krav uppfylls kan du använda antingen ett nytt eller befintligt Nyckelvalv genom att aktivera det för diskkryptering.

  3. Skapa Key Vault med diskkryptering aktiverat

    Kör följande kommandon för att skapa ett nytt Key Vault för diskkryptering. Kontrollera att regionen för ditt Key Vault finns i samma region som klustret.

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

  1. Uppdatera befintligt Key Vault för att aktivera diskkryptering

    Kör följande kommandon för att aktivera diskkryptering för ett befintligt Key Vault.

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

Uppdatera mall- och parameterfilerna för diskkryptering

Följande steg beskriver de malländringar som krävs för att aktivera diskkryptering i ett befintligt hanterat kluster. Alternativt kan du distribuera ett nytt Service Fabric-hanterat kluster med diskkryptering aktiverat med den här mallen: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/SF-Managed-Standard-SKU-1-NT-DiskEncryption

  1. Lägg till följande parametrar i mallen och ersätt din egen prenumeration, resursgruppsnamn och valvnamn under 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. Lägg sedan till AzureDiskEncryption VM-tillägget till de hanterade klusternodtyperna i mallen:

    "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. Uppdatera slutligen parameterfilen och ersätt din egen prenumeration, resursgrupp och nyckelvalvsnamn i keyVaultResourceId:

    "parameters": { 
    ...
     "keyVaultResourceId": { 
      "value": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>" 
     },   
     "volumeType": { 
      "value": "All" 
     }    
    } 
    
  4. Distribuera och verifiera ändringarna

    När du är klar distribuerar du ändringarna för att aktivera diskkryptering i det hanterade klustret.

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

    Du kan kontrollera diskkrypteringsstatus för en nodtyps underliggande skalningsuppsättning med hjälp av Get-AzVmssDiskEncryption kommandot . Först måste du hitta namnet på det hanterade klustrets resursgrupp (som innehåller det underliggande virtuella nätverket, lastbalanseraren, offentliga IP-adresser, NSG, skalningsuppsättningar och lagringskonton). Se till att ändra VmssName till det klusternodstypnamn som du vill kontrollera (enligt beskrivningen i distributionsmallen).

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

    Utdata bör se ut ungefär så här:

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

Nästa steg

Exempel: Standard SKU Service Fabric-hanterat kluster, en nodtyp med diskkryptering aktiverat

Azure Disk Encryption på virtuella Windows-datorer

Kryptera vm-skalningsuppsättningar med Azure Resource Manager