Dela via


Aktivera diskkryptering för Service Fabric-hanterade klusternoder

Service Fabric-hanterade kluster stöder två alternativ för diskkryptering 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, vilket gör att arbetsbelastningar kan använda alla tillgängliga SKU-resurser för virtuella datorer.

Anteckning

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

Anteckning

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

Följ dessa steg 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 krav före klusterdistribution.

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

    • ApiVersion för service fabric-hanterade klusterresurser 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 det hanterade klustret 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 kommandot Get-AzVmss . 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 funktionen DM-Crypt i Linux eller BitLocker-funktionen i Windows. ADE är integrerat med Azure Key Vault som hjälper dig att kontrollera 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örhandsversionen 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 en Key Vault för diskkryptering

    Azure Disk Encryption kräver en 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 en ny eller befintlig Key Vault genom att aktivera den för diskkryptering.

  3. Skapa Key Vault med diskkryptering aktiverat

    Kör följande kommandon för att skapa en ny Key Vault för diskkryptering. Kontrollera att regionen för din 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 befintliga Key Vault för att aktivera diskkryptering

    Kör följande kommandon för att aktivera diskkryptering för en befintlig Key Vault.

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

Uppdatera mall- och parameterfilerna för diskkryptering

Följande steg vägleder dig genom 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 kommandot Get-AzVmssDiskEncryption . 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 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