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

V tomto kurzu se dozvíte, jak povolit šifrování disků v uzlech clusteru Azure Service Fabric v Linuxu. Pro každý typ uzlu a škálovací sady virtuálních počítačů budete muset postupovat podle těchto kroků. 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 vědět při povolování šifrování disků ve škálovacích sadách virtuálních počítačů clusteru Service Fabric v Linuxu.
  • Před povolením šifrování disků v uzlech clusteru Service Fabric v Linuxu postupujte podle kroků, které je potřeba provést.
  • Postup povolení šifrování disků na uzlech clusteru Service Fabric v Linuxu

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si 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

Samoobslužná registrace

Šifrování disku ve verzi Preview pro škálovací sadu virtuálních počítačů vyžaduje samoobslužnou registraci. Použijte 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 přečte Jako zaregistrovaný. 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 pomocí rutiny PowerShellu vyberte zásadu přístupu EnabledForDiskEncryption v trezoru klíčů. Zásady můžete nastavit také pomocí uživatelského rozhraní služby Key Vault na webu Azure Portal pomocí následujícího příkazu:

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

  3. Nainstalujte nejnovější verzi sady Azure SDK z verze Azure PowerShellu . Následují rutiny 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 pro škálovací sady vytvořené se spravovanými disky. Nepodporuje se pro nativní (nebo nespravované) škálovací sady disků.
  • Šifrování i zákaz šifrování jsou podporovány pro operační systém a datové svazky ve škálovacích sadách virtuálních počítačů v Linuxu.
  • Operace opětovného nastavení a upgradu virtuálních počítačů 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í disků

Pomocí následujících příkazů vytvořte cluster a povolte šifrování disků pomocí šablony Azure Resource Manageru 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žití vlastní šablony, kterou už máte

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

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

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

Vzhledem k tomu, že pro škálovací sady virtuálních počítačů v Linuxu se podporuje pouze šifrování datového disku, je nutné přidat datový disk pomocí šablony Resource Manageru. 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 deklarací na odpovídající 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 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 rychlém startu: 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ěřte, jestli je pro škálovací sadu virtuálních počítačů v Linuxu povolené šifrování disku.

Pokud chcete získat 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 Linuxem a spustit příkaz LSBLK . Výstup by měl zobrazit přidaný datový disk ve sloupci Přípojný bod a sloupec Typ by měl číst 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>

Zakázání š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 zakázání šifrování disků platí pro celou škálovací sadu virtuálních počítačů, a ne pro jednotlivé instance.

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

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

Další kroky

V tomto okamžiku 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í disku pro Windows.