Włączanie szyfrowania dysków dla węzłów klastra usługi Azure Service Fabric w systemie Windows

Z tego samouczka dowiesz się, jak włączyć szyfrowanie dysków w węzłach klastra usługi Service Fabric w systemie Windows. Należy wykonać te kroki dla każdego z typów węzłów i zestawów skalowania maszyn wirtualnych. Do szyfrowania węzłów użyjemy funkcji Azure Disk Encryption w zestawach skalowania maszyn wirtualnych.

Przewodnik obejmuje następujące tematy:

  • Kluczowe pojęcia, które należy wziąć pod uwagę podczas włączania szyfrowania dysków w zestawach skalowania maszyn wirtualnych klastra usługi Service Fabric w systemie Windows.
  • Kroki, które należy wykonać przed włączeniem szyfrowania dysków w węzłach klastra usługi Service Fabric w systemie Windows.
  • Należy wykonać kroki włączania szyfrowania dysków w węzłach klastra usługi Service Fabric w systemie Windows.

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Wymagania wstępne

Rejestracja własna

Wersja zapoznawcza szyfrowania dysków dla zestawu skalowania maszyn wirtualnych wymaga samodzielnej rejestracji. Wykonaj następujące kroki:

  1. Najpierw uruchom następujące polecenie:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Poczekaj około 10 minut, aż stan będzie wyświetlany jako Zarejestrowany. Stan można sprawdzić, uruchamiając następujące polecenie:
    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
    

Usługa Azure Key Vault

  1. Utwórz magazyn kluczy w tej samej subskrypcji i regionie co zestaw skalowania, a następnie wybierz zasady dostępu EnabledForDiskEncryption w magazynie kluczy przy użyciu polecenia cmdlet programu PowerShell. Zasady można również ustawić przy użyciu interfejsu użytkownika Key Vault w Azure Portal za pomocą następującego polecenia:
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
    
  2. Zainstaluj najnowszą wersję interfejsu wiersza polecenia platformy Azure, która ma nowe polecenia szyfrowania.
  3. Zainstaluj najnowszą wersję zestawu Azure SDK z wersji Azure PowerShell. Poniżej przedstawiono polecenia cmdlet zestawu skalowania maszyn wirtualnych usługi Azure Disk Encryption, aby włączyć (ustawić) szyfrowanie, pobrać (pobrać) stan szyfrowania i usunąć (wyłączyć) szyfrowanie w wystąpieniu zestawu skalowania.
Polecenie Wersja Element źródłowy
Get-AzVmssDiskEncryptionStatus 1.0.0 lub nowszy Az.Compute
Get-AzVmssVMDiskEncryptionStatus 1.0.0 lub nowszy Az.Compute
Disable-AzVmssDiskEncryption 1.0.0 lub nowszy Az.Compute
Get-AzVmssDiskEncryption 1.0.0 lub nowszy Az.Compute
Get-AzVmssVMDiskEncryption 1.0.0 lub nowszy Az.Compute
Set-AzVmssDiskEncryptionExtension 1.0.0 lub nowszy Az.Compute

Obsługiwane scenariusze szyfrowania dysków

  • Szyfrowanie zestawów skalowania maszyn wirtualnych jest obsługiwane tylko w przypadku zestawów skalowania utworzonych przy użyciu dysków zarządzanych. Nie jest obsługiwana w przypadku natywnych (lub niezarządzanych) zestawów skalowania dysków.
  • Szyfrowanie jest obsługiwane w przypadku woluminów systemu operacyjnego i danych w zestawach skalowania maszyn wirtualnych w systemie Windows. Wyłączenie szyfrowania jest również obsługiwane w przypadku woluminów systemu operacyjnego i danych dla zestawów skalowania maszyn wirtualnych w systemie Windows.
  • Operacje ponownego obrazu i uaktualniania maszyn wirtualnych dla zestawów skalowania maszyn wirtualnych nie są obsługiwane w bieżącej wersji zapoznawczej.

Tworzenie nowego klastra i włączanie szyfrowania dysków

Użyj następujących poleceń, aby utworzyć klaster i włączyć szyfrowanie dysków przy użyciu szablonu usługi Azure Resource Manager i certyfikatu z podpisem własnym.

Logowanie do platformy Azure

Zaloguj się przy użyciu następujących poleceń:

Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Użyj szablonu niestandardowego, który został już użyty

Jeśli musisz utworzyć szablon niestandardowy zgodnie z twoimi potrzebami, zdecydowanie zalecamy rozpoczęcie od jednego z szablonów dostępnych na stronie przykładów szablonów tworzenia klastra usługi Azure Service Fabric . Aby dostosować sekcję szablonu klastra , zapoznaj się z poniższymi wskazówkami.

Jeśli masz już szablon niestandardowy, sprawdź dokładnie, czy wszystkie trzy parametry związane z certyfikatem w szablonie i pliku parametrów są nazwane w następujący sposób i że wartości mają wartość null w następujący sposób:

   "certificateThumbprint": {
      "value": ""
    },
    "sourceVaultValue": {
      "value": ""
    },
    "certificateUrlValue": {
      "value": ""
    },
$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 


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

Wdrażanie aplikacji w klastrze usługi Service Fabric w systemie Windows

Aby wdrożyć aplikację w klastrze, wykonaj kroki i wskazówki opisane w temacie Wdrażanie i usuwanie aplikacji przy użyciu programu PowerShell.

Włączanie szyfrowania dysków dla utworzonych wcześniej zestawów skalowania maszyn wirtualnych

Aby włączyć szyfrowanie dysków dla zestawów skalowania maszyn wirtualnych utworzonych w poprzednich krokach, uruchom następujące polecenia:


$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>

Sprawdź, czy szyfrowanie dysków jest włączone dla zestawu skalowania maszyn wirtualnych w systemie Windows

Uzyskaj stan całego zestawu skalowania maszyn wirtualnych lub dowolnego wystąpienia w zestawie skalowania, uruchamiając następujące polecenia.


$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>

Ponadto możesz zalogować się do zestawu skalowania maszyn wirtualnych i upewnić się, że dyski są szyfrowane.

Wyłączanie szyfrowania dysków dla zestawu skalowania maszyn wirtualnych w klastrze usługi Service Fabric

Wyłącz szyfrowanie dysków dla zestawu skalowania maszyn wirtualnych, uruchamiając następujące polecenia. Należy pamiętać, że wyłączenie szyfrowania dysków dotyczy całego zestawu skalowania maszyn wirtualnych, a nie pojedynczego wystąpienia.


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


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

Następne kroki

W tym momencie należy mieć bezpieczny klaster i wiedzieć, jak włączyć i wyłączyć szyfrowanie dysków dla węzłów klastra usługi Service Fabric i zestawów skalowania maszyn wirtualnych. Aby uzyskać podobne wskazówki dotyczące węzłów klastra usługi Service Fabric w systemie Linux, zobacz Disk Encryption for Linux (Szyfrowanie dysków dla systemu Linux).