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