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.
Zapoznaj się z poniższymi ograniczeniami , aby sprawdzić, czy spełniają Twoje wymagania.
Skonfiguruj wymagane wymagania wstępne przed wdrożeniem klastra.
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 ... } }
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).
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ć.
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.
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
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
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" } } },
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')]" } } } ] }
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" } }
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
Azure Disk Encryption dla maszyn wirtualnych z systemem Windows
Szyfrowanie zestawów skalowania maszyn wirtualnych za pomocą usługi Azure Resource Manager