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.
Granska följande begränsningar för att verifiera att de uppfyller dina krav.
Konfigurera nödvändiga förutsättningar före klusterdistributionen.
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 ... } }
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 ändraNodeTypeNAme
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).
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.
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.
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
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
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" } } },
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')]" } } } ] }
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" } }
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 ändraVmssName
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