Udostępnij za pośrednictwem


Włączanie szyfrowania dysków dla węzłów klastra zarządzanego usługi Service Fabric

Klastry zarządzane usługi Service Fabric obsługują dwie opcje szyfrowania dysków, aby chronić dane w celu spełnienia wymagań organizacji w zakresie zabezpieczeń i zgodności. Zalecaną opcją jest szyfrowanie na hoście, ale także obsługa usługi Azure Disk Encryption. Przejrzyj opcje szyfrowania dysków i upewnij się, że wybrana opcja spełnia Twoje potrzeby.

Włączanie szyfrowania na hoście

Ta metoda szyfrowania ulepsza usługę Azure Disk Encryption , obsługując wszystkie typy i obrazy systemu operacyjnego, w tym obrazy niestandardowe, dla maszyn wirtualnych przez szyfrowanie danych w usłudze Azure Storage. Ta metoda nie korzysta z procesora CPU maszyn wirtualnych ani nie wpływa na wydajność maszyn wirtualnych, co umożliwia obciążeniom korzystanie ze wszystkich dostępnych zasobów jednostki SKU maszyn wirtualnych.

Uwaga

Nie można włączyć w istniejących typach węzłów. Musisz aprowizować nowy typ węzła i przeprowadzić migrację obciążenia.

Uwaga

Stan szyfrowania dysków usługi Azure Security Center będzie wyświetlany w złej kondycji w przypadku korzystania z szyfrowania na hoście

Wykonaj następujące kroki i zapoznaj się z tym przykładowym szablonem , aby wdrożyć nowy klaster zarządzany usługi Service Fabric z włączonym szyfrowaniem hosta.

  1. Zapoznaj się z poniższymi ograniczeniami , aby sprawdzić, czy spełniają Twoje wymagania.

  2. Skonfiguruj wymagane wymagania wstępne przed wdrożeniem klastra.

  3. Dla każdego typu węzła wymagane jest skonfigurowanie enableEncryptionAtHost właściwości w szablonie klastra zarządzanego. Przykład jest wstępnie skonfigurowany.

    • Wersja interfejsu API zasobów klastra zarządzanego usługi Service Fabric musi mieć wartość 2021-11-01-preview lub nowsza .
         {
                "apiVersion": "[variables('sfApiVersion')]",
                "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
                "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
                "location": "[resourcegroup().location]",
                "properties": {
                    "enableEncryptionAtHost": true
                    ...
                }
        }
    
  4. Wdrażanie i weryfikowanie

    Wdróż klaster zarządzany skonfigurowany przy użyciu włączonego szyfrowania hosta.

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

    Stan szyfrowania dysku można sprawdzić w bazowym zestawie skalowania typu węzła Get-AzVmss przy użyciu polecenia . Najpierw należy znaleźć nazwę pomocniczej grupy zasobów klastra zarządzanego (zawierającej podstawową sieć wirtualną, moduł równoważenia obciążenia, publiczny adres IP, sieciową grupę zabezpieczeń, zestawy skalowania i konta magazynu). Pamiętaj, aby zmodyfikować NodeTypeNAme dowolną nazwę typu węzła klastra, którą chcesz sprawdzić (zgodnie z opisem w szablonie wdrożenia).

    $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
    

    Zwracane dane wyjściowe powinny wyglądać mniej więcej tak:

    $VMSS.VirtualMachineProfile.SecurityProfile.EncryptionAtHost
    True
    

Włączanie usługi Azure Disk Encryption

Usługa Azure Disk Encryption zapewnia szyfrowanie woluminów dla systemu operacyjnego i dysków danych maszyn wirtualnych platformy Azure przy użyciu funkcji DM-Crypt w systemie Linux lub funkcji BitLocker systemu Windows. Usługa ADE jest zintegrowana z usługą Azure Key Vault, aby ułatwić kontrolowanie kluczy szyfrowania dysków i wpisów tajnych oraz zarządzanie nimi.

W tym przewodniku dowiesz się, jak włączyć szyfrowanie dysków w węzłach klastra zarządzanego usługi Service Fabric w systemie Windows przy użyciu funkcji Azure Disk Encryption dla zestawów skalowania maszyn wirtualnych za pomocą szablonów usługi Azure Resource Manager (ARM).

  1. Rejestrowanie w usłudze Azure Disk Encryption

    Wersja zapoznawcza szyfrowania dysków dla zestawu skalowania maszyn wirtualnych wymaga samodzielnej rejestracji. Uruchom następujące polecenie:

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

    Sprawdź stan rejestracji, uruchamiając polecenie:

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

    Gdy stan zmieni się na Zarejestrowany, możesz kontynuować.

  2. Aprowizuj usługę Key Vault na potrzeby szyfrowania dysków

    Usługa Azure Disk Encryption wymaga usługi Azure Key Vault do kontrolowania kluczy szyfrowania dysków i wpisów tajnych oraz zarządzania nimi. Magazyn kluczy i klaster zarządzany usługi Service Fabric muszą znajdować się w tym samym regionie i subskrypcji platformy Azure. Jeśli te wymagania zostaną spełnione, możesz użyć nowego lub istniejącego magazynu kluczy, włączając go na potrzeby szyfrowania dysków.

  3. Tworzenie usługi Key Vault z włączonym szyfrowaniem dysków

    Uruchom następujące polecenia, aby utworzyć nową usługę Key Vault na potrzeby szyfrowania dysków. Upewnij się, że region usługi Key Vault znajduje się w tym samym regionie co klaster.

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

  1. Aktualizowanie istniejącej usługi Key Vault w celu włączenia szyfrowania dysków

    Uruchom następujące polecenia, aby włączyć szyfrowanie dysków dla istniejącej usługi Key Vault.

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

Aktualizowanie plików szablonu i parametrów na potrzeby szyfrowania dysków

Poniższy krok przeprowadzi Cię przez wymagane zmiany szablonu w celu włączenia szyfrowania dysków w istniejącym klastrze zarządzanym. Alternatywnie można wdrożyć nowy klaster zarządzany usługi Service Fabric z włączonym szyfrowaniem dysków za pomocą tego szablonu: https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/SF-Managed-Standard-SKU-1-NT-DiskEncryption

  1. Dodaj następujące parametry do szablonu, podstawiając własną subskrypcję, nazwę grupy zasobów i nazwę magazynu w obszarze 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. Następnie dodaj AzureDiskEncryption rozszerzenie maszyny wirtualnej do typów węzłów klastra zarządzanego w szablonie:

    "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. Na koniec zaktualizuj plik parametrów, podstawiając własną subskrypcję, grupę zasobów i nazwę magazynu kluczy w identyfikatorze keyVaultResourceId:

    "parameters": { 
    ...
     "keyVaultResourceId": { 
      "value": "/subscriptions/########-####-####-####-############/resourceGroups/<rg-name>/providers/Microsoft.KeyVault/vaults/<kv-name>" 
     },   
     "volumeType": { 
      "value": "All" 
     }    
    } 
    
  4. Wdrażanie i weryfikowanie zmian

    Gdy wszystko będzie gotowe, wdróż zmiany, aby włączyć szyfrowanie dysków w klastrze zarządzanym.

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

    Stan szyfrowania dysku można sprawdzić w bazowym zestawie skalowania typu węzła Get-AzVmssDiskEncryption przy użyciu polecenia . Najpierw należy znaleźć nazwę pomocniczej grupy zasobów klastra zarządzanego (zawierającej podstawową sieć wirtualną, moduł równoważenia obciążenia, publiczny adres IP, sieciową grupę zabezpieczeń, zestawy skalowania i konta magazynu). Pamiętaj, aby zmodyfikować VmssName dowolną nazwę typu węzła klastra, którą chcesz sprawdzić (zgodnie z opisem w szablonie wdrożenia).

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

    Dane wyjściowe powinny wyglądać mniej więcej tak:

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

Następne kroki

Przykład: klaster zarządzany usługi Service Fabric w warstwie Standardowa, jeden typ węzła z włączonym szyfrowaniem dysków

Azure Disk Encryption dla maszyn wirtualnych z systemem Windows

Szyfrowanie zestawów skalowania maszyn wirtualnych za pomocą usługi Azure Resource Manager