Povolení šifrování disků pro uzly clusteru Azure Service Fabric v Linuxu

V tomto kurzu se dozvíte, jak povolit šifrování disků na uzlech clusteru Azure Service Fabric v Linuxu. Tento postup budete muset provést pro každý typ uzlu a škálovací sady virtuálních počítačů. K šifrování uzlů použijeme funkci Azure Disk Encryption ve škálovacích sadách virtuálních počítačů.

Průvodce se zabývá následujícími tématy:

  • Klíčové koncepty, které je potřeba znát při povolování šifrování disků ve škálovacích sadách virtuálních počítačů clusteru Service Fabric v Linuxu
  • Postup před povolením šifrování disků na uzlech clusteru Service Fabric v Linuxu
  • Postup povolení šifrování disku na uzlech clusteru Service Fabric v Linuxu

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Požadavky

Vlastní registrace

Šifrování disků ve verzi Preview pro škálovací sadu virtuálních počítačů vyžaduje vlastní registraci. Použijte k tomu následující postup:

  1. Spusťte následující příkaz:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Počkejte asi 10 minut, než se stav změní na Zaregistrováno. Stav můžete zkontrolovat spuštěním následujícího příkazu:
    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
    

Azure Key Vault

  1. Vytvořte trezor klíčů ve stejném předplatném a oblasti jako škálovací sada. Pak vyberte zásadu přístupu EnabledForDiskEncryption pro trezor klíčů pomocí příslušné rutiny PowerShellu. Zásady můžete nastavit také pomocí uživatelského rozhraní Key Vault v Azure Portal pomocí následujícího příkazu:

    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
    
  2. Nainstalujte nejnovější verzi Azure CLI, která obsahuje nové příkazy pro šifrování.

  3. Nainstalujte nejnovější verzi sady Azure SDK z verze Azure PowerShell. Následují rutiny služby Azure Disk Encryption škálovací sady virtuálních počítačů, které umožňují (nastavit) šifrování, načíst (získat) stav šifrování a odebrat (zakázat) šifrování v instanci škálovací sady.

Příkaz Verze Zdroj
Get-AzVmssDiskEncryptionStatus 1.0.0 nebo novější Az.Compute
Get-AzVmssVMDiskEncryptionStatus 1.0.0 nebo novější Az.Compute
Disable-AzVmssDiskEncryption 1.0.0 nebo novější Az.Compute
Get-AzVmssDiskEncryption 1.0.0 nebo novější Az.Compute
Get-AzVmssVMDiskEncryption 1.0.0 nebo novější Az.Compute
Set-AzVmssDiskEncryptionExtension 1.0.0 nebo novější Az.Compute

Podporované scénáře šifrování disků

  • Šifrování škálovacích sad virtuálních počítačů se podporuje jenom u škálovacích sad vytvořených se spravovanými disky. Nepodporuje se pro nativní (ani nespravované) škálovací sady disků.
  • Ve škálovacích sadách virtuálních počítačů v Linuxu se podporuje šifrování i zákaz šifrování pro svazky operačního systému a datové svazky.
  • Operace obnovení virtuálního počítače z image a upgradu pro škálovací sady virtuálních počítačů se v aktuální verzi Preview nepodporují.

Vytvoření nového clusteru a povolení šifrování disku

Pomocí následujících příkazů vytvořte cluster a povolte šifrování disků pomocí šablony Azure Resource Manager a certifikátu podepsaného svým držitelem.

Přihlášení k Azure

Přihlaste se pomocí následujících příkazů:


Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Použijte vlastní šablonu, kterou už máte.

Pokud potřebujete vytvořit vlastní šablonu, důrazně doporučujeme použít některou z šablon na stránce s ukázkami šablon pro vytvoření clusteru Azure Service Fabric .

Pokud už vlastní šablonu máte, pečlivě zkontrolujte, jestli jsou všechny tři parametry související s certifikátem v šabloně a souboru parametrů pojmenované takto. Následujícím způsobem se také ujistěte, že hodnoty mají hodnotu null:

   "certificateThumbprint": {
      "value": ""
    },
    "sourceVaultValue": {
      "value": ""
    },
    "certificateUrlValue": {
      "value": ""
    },

Vzhledem k tomu, že se pro škálovací sady virtuálních počítačů v Linuxu podporuje pouze šifrování datového disku, musíte datový disk přidat pomocí šablony Resource Manager. Aktualizujte šablonu pro zřízení datového disku následujícím způsobem:

   
   "storageProfile": { 
            "imageReference": { 
              "publisher": "[parameters('vmImagePublisher')]", 
              "offer": "[parameters('vmImageOffer')]", 
              "sku": "[parameters('vmImageSku')]", 
              "version": "[parameters('vmImageVersion')]" 
            }, 
            "osDisk": { 
              "caching": "ReadOnly", 
              "createOption": "FromImage", 
              "managedDisk": { 
                "storageAccountType": "[parameters('storageAccountType')]" 
              } 
           }, 
                "dataDisks": [ 
                { 
                    "diskSizeGB": 1023, 
                    "lun": 0, 
                    "createOption": "Empty" 
   
$resourceGroupLocation="westus"
$resourceGroupName="mycluster"
$CertSubjectName="mycluster.westus.cloudapp.azure.com"
$certPassword="Password!1" | ConvertTo-SecureString -AsPlainText -Force 
$certOutputFolder="c:\certificates"

$parameterFilePath="c:\templates\templateparam.json"
$templateFilePath="c:\templates\template.json"


New-AzServiceFabricCluster -ResourceGroupName $resourceGroupName -CertificateOutputFolder $certOutputFolder -CertificatePassword $certpassword -CertificateSubjectName $CertSubjectName -TemplateFile $templateFilePath -ParameterFile $parameterFilePath 

Tady je ekvivalentní příkaz rozhraní příkazového řádku. Změňte hodnoty v příkazech declare na příslušné hodnoty. Rozhraní příkazového řádku podporuje všechny ostatní parametry, které podporuje předchozí příkaz PowerShellu.

declare certPassword=""
declare resourceGroupLocation="westus"
declare resourceGroupName="mylinux"
declare certSubjectName="mylinuxsecure.westus.cloudapp.azure.com"
declare parameterFilePath="c:\mytemplates\linuxtemplateparm.json"
declare templateFilePath="c:\mytemplates\linuxtemplate.json"
declare certOutputFolder="c:\certificates"


az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation  \
	--certificate-output-folder $certOutputFolder --certificate-password $certPassword  \
	--certificate-subject-name $certSubjectName \
    --template-file $templateFilePath --parameter-file $parametersFilePath

Připojení datového disku k instanci Linuxu

Než budete pokračovat v šifrování škálovací sady virtuálních počítačů, ujistěte se, že je přidaný datový disk správně připojený. Přihlaste se k virtuálnímu počítači clusteru s Linuxem a spusťte příkaz LSBLK . Výstup by měl zobrazit přidaný datový disk ve sloupci Přípojný bod .

Nasazení aplikace do clusteru Service Fabric v Linuxu

Pokud chcete nasadit aplikaci do clusteru, postupujte podle kroků a pokynů v tématu Rychlý start: Nasazení kontejnerů Linuxu do Service Fabric.

Povolení šifrování disků pro škálovací sady virtuálních počítačů vytvořené dříve

Pokud chcete povolit šifrování disků pro škálovací sady virtuálních počítačů, které jste vytvořili v předchozích krocích, spusťte následující příkazy:

$VmssName = "nt1vm"
$vaultName = "mykeyvault"
$resourceGroupName = "mycluster"
$KeyVault = Get-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName
$DiskEncryptionKeyVaultUrl = $KeyVault.VaultUri
$KeyVaultResourceId = $KeyVault.ResourceId

Set-AzVmssDiskEncryptionExtension -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType All


az vmss encryption enable -g <resourceGroupName> -n <VMSS name> --disk-encryption-keyvault <KeyVaultResourceId>

Ověření, jestli je pro škálovací sadu virtuálních počítačů v Linuxu povolené šifrování disků

Pokud chcete zjistit stav celé škálovací sady virtuálních počítačů nebo jakékoli instance ve škálovací sadě, spusťte následující příkazy. Kromě toho se můžete přihlásit k virtuálnímu počítači s clusterem s Linuxem a spustit příkaz LSBLK . Ve výstupu by se měl zobrazit přidaný datový disk ve sloupci Přípojný bod a ve sloupci Typ by měl být text Crypt.


$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Get-AzVmssDiskEncryption -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName

Get-AzVmssVMDiskEncryption -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName -InstanceId "0"

az vmss encryption show -g <resourceGroupName> -n <VMSS name>

Zákaz šifrování disků pro škálovací sadu virtuálních počítačů v clusteru Service Fabric

Zakažte šifrování disků pro škálovací sadu virtuálních počítačů spuštěním následujících příkazů. Všimněte si, že zákaz šifrování disků se vztahuje na celou škálovací sadu virtuálních počítačů, a ne na jednotlivé instance.

$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Disable-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $VmssName

az vmss encryption disable -g <resourceGroupName> -n <VMSS name>

Další kroky

V tuto chvíli byste měli mít zabezpečený cluster a vědět, jak povolit a zakázat šifrování disků pro uzly clusteru Service Fabric a škálovací sady virtuálních počítačů. Podobné pokyny k uzlům clusteru Service Fabric v Linuxu najdete v tématu Šifrování disků pro Windows.