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:
- Spusťte následující příkaz:
Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
- 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
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
Nainstalujte nejnovější verzi Azure CLI, která obsahuje nové příkazy pro šifrování.
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.