Freigeben über


Aktivieren der Datenträgerverschlüsselung für Azure Service Fabric-Clusterknoten unter Windows

In diesem Tutorial erfahren Sie, wie Sie die Datenträgerverschlüsselung für Service Fabric-Clusterknoten unter Windows aktivieren. Diese Schritte müssen für alle Knotentypen und VM-Skalierungsgruppen ausgeführt werden. Für die Verschlüsselung der Knoten verwenden wir die Azure Disk Encryption-Funktion für VM-Skalierungsgruppen.

Der Leitfaden behandelt folgende Themen:

  • Schlüsselkonzepte, mit denen Sie beim Aktivieren der Datenträgerverschlüsselung für VM-Skalierungsgruppen im Service Fabric-Cluster unter Windows vertraut sein müssen.
  • Schritte, die Sie vor dem Aktivieren der Datenträgerverschlüsselung für Service Fabric-Clusterknoten unter Windows ausführen müssen.
  • Schritte, die Sie zum Aktivieren der Datenträgerverschlüsselung für Service Fabric-Clusterknoten unter Windows ausführen müssen.

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Voraussetzungen

Selbstregistrierung

Die Vorschauversion der Datenträgerverschlüsselung für die VM-Skalierungsgruppe erfordert eine Selbstregistrierung. Führen Sie die folgenden Schritte durch:

  1. Führen Sie zunächst den folgenden Befehl aus:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Warten Sie etwa zehn Minuten, bis der Status Registriert angezeigt wird. Sie können den Status überprüfen, indem Sie den folgenden Befehl ausführen:
    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
    

Azure Key Vault

  1. Erstellen Sie einen Schlüsseltresor im gleichen Abonnement und in der gleichen Region wie die Skalierungsgruppe, und wählen Sie für den Schlüsseltresor mithilfe des zugehörigen PowerShell-Cmdlets die Zugriffsrichtlinie EnabledForDiskEncryption aus. Sie können die Richtlinie auch mit folgendem Befehl über die Key Vault-Benutzeroberfläche im Azure-Portal festlegen:
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
    
  2. Installieren Sie die neueste Version der Azure-Befehlszeilenschnittstelle, da diese über die neuen Verschlüsselungsbefehle verfügt.
  3. Installieren Sie die neueste Version des Azure SDK aus dem Azure PowerShell-Release. Es folgen die Azure Disk Encryption-Cmdlets (ADE) der VM-Skalierungsgruppe zum Aktivieren (set) der Verschlüsselung, Abrufen (get) des Verschlüsselungsstatus und Entfernen (disable) der Verschlüsselung aus der Skalierungsgruppeninstanz.
Get-Help Version `Source`
Get-AzVmssDiskEncryptionStatus 1.0.0 oder höher Az.Compute
Get-AzVmssVMDiskEncryptionStatus 1.0.0 oder höher Az.Compute
Disable-AzVmssDiskEncryption 1.0.0 oder höher Az.Compute
Get-AzVmssDiskEncryption 1.0.0 oder höher Az.Compute
Get-AzVmssVMDiskEncryption 1.0.0 oder höher Az.Compute
Set-AzVmssDiskEncryptionExtension 1.0.0 oder höher Az.Compute

Unterstützte Szenarien für die Datenträgerverschlüsselung

  • Die Verschlüsselung für VM-Skalierungsgruppen wird nur für Skalierungsgruppen mit verwalteten Datenträgern unterstützt. Sie wird nicht für native (oder nicht verwaltete) Datenträger-Skalierungsgruppen unterstützt.
  • Die Verschlüsselung wird für Betriebssystem- und Datenvolumes in VM-Skalierungsgruppen unter Windows unterstützt. Das Deaktivieren der Verschlüsselung wird ebenfalls für Betriebssystem- und Datenvolumes für VM-Skalierungsgruppen unter Windows unterstützt.
  • Reimaging- und Upgradevorgänge von virtuellen Computern für VM-Skalierungsgruppen werden in der aktuellen Vorschauversion nicht unterstützt.

Erstellen eines neuen Clusters und Aktivieren der Datenträgerverschlüsselung

Verwenden Sie die folgenden Befehle, um Cluster zu erstellen und die Datenträgerverschlüsselung mit Azure Resource Manager-Vorlage und selbstsigniertem Zertifikat zu aktivieren.

Anmelden bei Azure

Melden Sie sich mit den folgenden Befehlen an:

Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Verwenden einer bereits vorhandenen benutzerdefinierten Vorlage

Wenn Sie eine benutzerdefinierte Vorlage für Ihre speziellen Anforderungen erstellen müssen, wird dringend empfohlen, mit einer der Vorlagen zu beginnen, die auf der Seite mit Beispielen für Azure Service Fabric-Clustererstellungsvorlagen zur Verfügung stehen. Eine Anleitung zum Anpassen Ihrer Clustervorlage finden Sie im weiteren Verlauf.

Wenn Sie bereits über eine benutzerdefinierte Vorlage verfügen, überprüfen Sie, ob alle drei zertifikatbezogenen Parameter in der Vorlage und der Parameterdatei wie folgt benannt und die Werte NULL sind:

   "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

Bereitstellen einer Anwendung in einem Service Fabric-Cluster unter Windows

Gehen Sie wie unter Bereitstellen und Entfernen von Anwendungen mit PowerShell beschrieben vor, um eine Anwendung in Ihrem Cluster bereitzustellen.

Aktivieren der Datenträgerverschlüsselung für die zuvor erstellten VM-Skalierungsgruppen

Führen Sie die folgenden Befehle aus, um die Datenträgerverschlüsselung für die VM-Skalierungsgruppen zu aktivieren, die Sie in den vorherigen Schritten erstellt haben:


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

Vergewissern, dass die Datenträgerverschlüsselung für eine VM-Skalierungsgruppe unter Windows aktiviert ist

Rufen Sie mit den folgenden Befehlen den Status einer gesamten VM-Skalierungsgruppe oder einer beliebigen Instanz in einer Skalierungsgruppe ab.


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

Darüber hinaus können Sie sich bei der VM-Skalierungsgruppe anmelden und sich vergewissern, dass die Laufwerke verschlüsselt sind.

Deaktivieren der Datenträgerverschlüsselung für eine VM-Skalierungsgruppe in einem Service Fabric-Cluster

Deaktivieren Sie die Datenträgerverschlüsselung für eine VM-Skalierungsgruppe, indem Sie die folgenden Befehle ausführen. Beachten Sie, dass sich das Deaktivieren der Datenträgerverschlüsselung auf die gesamte VM-Skalierungsgruppe und nicht auf eine einzelne Instanz bezieht.


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


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

Nächste Schritte

An diesem Punkt sollten Sie über einen sicheren Cluster verfügen und wissen, wie Sie die Datenträgerverschlüsselung für Service Fabric-Clusterknoten und VM-Skalierungsgruppen aktivieren und deaktivieren. Eine ähnliche Anleitung für Service Fabric-Clusterknoten unter Linux finden Sie unter Aktivieren der Datenträgerverschlüsselung für Azure Service Fabric-Clusterknoten unter Linux.