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:
- Führen Sie zunächst den folgenden Befehl aus:
Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
- 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
- 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
- Installieren Sie die neueste Version der Azure-Befehlszeilenschnittstelle, da diese über die neuen Verschlüsselungsbefehle verfügt.
- 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.