Schijfversleuteling inschakelen voor Azure Service Fabric-clusterknooppunten in Windows

In deze zelfstudie leert u hoe u schijfversleuteling inschakelt op Service Fabric-clusterknooppunten in Windows. U moet deze stappen volgen voor elk van de knooppunttypen en virtuele-machineschaalsets. Voor het versleutelen van de knooppunten gebruiken we de mogelijkheid Azure Disk Encryption op virtuele-machineschaalsets.

In de handleiding worden de volgende onderwerpen behandeld:

  • Belangrijke concepten waarmee u rekening moet houden bij het inschakelen van schijfversleuteling in virtuele-machineschaalsets van Het Service Fabric-cluster in Windows.
  • Stappen die moeten worden gevolgd voordat u schijfversleuteling inschakelt op Service Fabric-clusterknooppunten in Windows.
  • Stappen die moeten worden gevolgd om schijfversleuteling in te schakelen op Service Fabric-clusterknooppunten in Windows.

Notitie

U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Vereisten

Zelfregistratie

De preview-versie van schijfversleuteling voor de virtuele-machineschaalset vereist zelfregistratie. Voer de volgende stappen uit:

  1. Voer eerst de volgende opdracht uit:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Wacht ongeveer 10 minuten totdat de status Geregistreerd is. U kunt de status controleren door de volgende opdracht uit te voeren:
    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
    

Azure Key Vault

  1. Maak een sleutelkluis in hetzelfde abonnement en dezelfde regio als de schaalset en selecteer vervolgens het toegangsbeleid EnabledForDiskEncryption voor de sleutelkluis met behulp van de PowerShell-cmdlet. U kunt het beleid ook instellen met behulp van de gebruikersinterface van Key Vault in de Azure Portal met de volgende opdracht:
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
    
  2. Installeer de nieuwste versie van de Azure CLI, die de nieuwe versleutelingsopdrachten bevat.
  3. Installeer de nieuwste versie van de Azure SDK vanaf Azure PowerShell release. Hieronder ziet u de Azure Disk Encryption-cmdlets voor virtuele-machineschaalsets om versleuteling in te schakelen (instellen), de versleutelingsstatus op te halen (ophalen) en versleuteling op het schaalsetexemplaren te verwijderen (uitschakelen).
Opdracht Versie Bron
Get-AzVmssDiskEncryptionStatus 1.0.0 of hoger Az.Compute
Get-AzVmssVMDiskEncryptionStatus 1.0.0 of hoger Az.Compute
Disable-AzVmssDiskEncryption 1.0.0 of hoger Az.Compute
Get-AzVmssDiskEncryption 1.0.0 of hoger Az.Compute
Get-AzVmssVMDiskEncryption 1.0.0 of hoger Az.Compute
Set-AzVmssDiskEncryptionExtension 1.0.0 of hoger Az.Compute

Ondersteunde scenario's voor schijfversleuteling

  • Versleuteling voor virtuele-machineschaalsets wordt alleen ondersteund voor schaalsets die zijn gemaakt met beheerde schijven. Het wordt niet ondersteund voor systeemeigen (of onbeheerde) schijfschaalsets.
  • Versleuteling wordt ondersteund voor besturingssysteem- en gegevensvolumes in virtuele-machineschaalsets in Windows. Versleuteling uitschakelen wordt ook ondersteund voor besturingssysteem- en gegevensvolumes voor virtuele-machineschaalsets in Windows.
  • Bewerkingen voor het opnieuw maken van installatiekopieën van virtuele machines en het upgraden van virtuele-machineschaalsets worden niet ondersteund in de huidige preview.

Een nieuw cluster maken en schijfversleuteling inschakelen

Gebruik de volgende opdrachten om een cluster te maken en schijfversleuteling in te schakelen met behulp van een Azure Resource Manager-sjabloon en een zelfondertekend certificaat.

Aanmelden bij Azure

Meld u aan met de volgende opdrachten:

Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Gebruik de aangepaste sjabloon die u al hebt

Als u een aangepaste sjabloon wilt maken die aan uw behoeften voldoet, raden we u ten zeerste aan om te beginnen met een van de sjablonen die beschikbaar zijn op de pagina Voorbeelden van azure Service Fabric-clustersjablonen maken. Zie de volgende richtlijnen om de sectie met clustersjablonen aan te passen .

Als u al een aangepaste sjabloon hebt, controleert u of alle drie de certificaatgerelateerde parameters in de sjabloon en het parameterbestand de volgende namen hebben en of de waarden als volgt null zijn:

   "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

Een toepassing implementeren in een Service Fabric-cluster in Windows

Als u een toepassing in uw cluster wilt implementeren, volgt u de stappen en richtlijnen in Toepassingen implementeren en verwijderen met behulp van PowerShell.

Schijfversleuteling inschakelen voor de virtuele-machineschaalsets die eerder zijn gemaakt

Voer de volgende opdrachten uit om schijfversleuteling in te schakelen voor de virtuele-machineschaalsets die u in de vorige stappen hebt gemaakt:


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

Controleren of schijfversleuteling is ingeschakeld voor een virtuele-machineschaalset in Windows

Haal de status van een volledige virtuele-machineschaalset of een willekeurig exemplaar in een schaalset op door de volgende opdrachten uit te voeren.


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

Daarnaast kunt u zich aanmelden bij de virtuele-machineschaalset en ervoor zorgen dat de stations zijn versleuteld.

Schijfversleuteling uitschakelen voor een virtuele-machineschaalset in een Service Fabric-cluster

Schakel schijfversleuteling voor een virtuele-machineschaalset uit door de volgende opdrachten uit te voeren. Houd er rekening mee dat het uitschakelen van schijfversleuteling van toepassing is op de volledige virtuele-machineschaalset en niet op een afzonderlijk exemplaar.


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


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

Volgende stappen

Op dit moment moet u een beveiligd cluster hebben en weten hoe u schijfversleuteling voor Service Fabric-clusterknooppunten en virtuele-machineschaalsets kunt in- en uitschakelen. Zie Disk Encryption for Linux (Schijfversleuteling voor Linux) voor vergelijkbare richtlijnen voor Service Fabric-clusterknooppunten in Linux.