Dela via


Aktivera diskkryptering för Azure Service Fabric-klusternoder i Windows

I den här självstudien får du lära dig hur du aktiverar diskkryptering på Service Fabric-klusternoder i Windows. Du måste följa dessa steg för var och en av nodtyperna och vm-skalningsuppsättningar. För att kryptera noderna använder vi funktionen Azure Disk Encryption på VM-skalningsuppsättningar.

Guiden beskriver följande ämnen:

  • Viktiga begrepp att känna till när du aktiverar diskkryptering på Service Fabric-kluster vm-skalningsuppsättningar i Windows.
  • Steg som ska följas innan du aktiverar diskkryptering på Service Fabric-klusternoder i Windows.
  • Steg som ska följas för att aktivera diskkryptering på Service Fabric-klusternoder i Windows.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Förutsättningar

Självregistrering

Förhandsgranskningen av diskkryptering för vm-skalningsuppsättningen kräver självregistrering. Gör så här:

  1. Kör först följande kommando:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Vänta cirka 10 minuter tills statusen har lästs Registrerad. Du kan kontrollera statusen genom att köra följande kommando:
    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
    

Azure Key Vault

  1. Skapa ett nyckelvalv i samma prenumeration och region som skalningsuppsättningen och välj sedan åtkomstprincipen EnabledForDiskEncryption i nyckelvalvet med hjälp av dess PowerShell-cmdlet. Du kan också ange principen med hjälp av Key Vault-användargränssnittet i Azure-portalen med följande kommando:
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
    
  2. Installera den senaste versionen av Azure CLI, som har de nya krypteringskommandona.
  3. Installera den senaste versionen av Azure SDK från Azure PowerShell-versionen . Följande är cmdletarna för vm-skalningsuppsättningen azure diskkryptering för att aktivera (ange) kryptering, hämta (hämta) krypteringsstatus och ta bort (inaktivera) kryptering på skalningsuppsättningsinstansen.
Command Version Källa
Get-AzVmssDiskEncryptionStatus 1.0.0 eller senare Az.Compute
Get-AzVmssVMDiskEncryptionStatus 1.0.0 eller senare Az.Compute
Disable-AzVmssDiskEncryption 1.0.0 eller senare Az.Compute
Get-AzVmssDiskEncryption 1.0.0 eller senare Az.Compute
Get-AzVmssVMDiskEncryption 1.0.0 eller senare Az.Compute
Set-AzVmssDiskEncryptionExtension 1.0.0 eller senare Az.Compute

Scenarier som stöds för diskkryptering

  • Kryptering för vm-skalningsuppsättningar stöds endast för skalningsuppsättningar som skapats med hanterade diskar. Det stöds inte för interna (eller ohanterade) diskskalningsuppsättningar.
  • Kryptering stöds för OS- och datavolymer i VM-skalningsuppsättningar i Windows. Inaktivera kryptering stöds också för OS- och datavolymer för VM-skalningsuppsättningar i Windows.
  • Åtgärder för att återskapa och uppgradera virtuella datorer för vm-skalningsuppsättningar stöds inte i den aktuella förhandsversionen.

Skapa ett nytt kluster och aktivera diskkryptering

Använd följande kommandon för att skapa ett kluster och aktivera diskkryptering med hjälp av en Azure Resource Manager-mall och ett självsignerat certifikat.

Logga in på Azure

Logga in med följande kommandon:

Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Använd den anpassade mall som du redan har

Om du behöver skapa en anpassad mall som passar dina behov rekommenderar vi starkt att du börjar med en av de mallar som är tillgängliga på sidan mallexempel för Azure Service Fabric-klusterskapande. Information om hur du anpassar klustrets mallavsnitt finns i följande vägledning.

Om du redan har en anpassad mall kontrollerar du att alla tre certifikatrelaterade parametrarna i mallen och parameterfilen namnges på följande sätt och att värdena är null enligt följande:

   "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

Distribuera ett program till ett Service Fabric-kluster i Windows

Om du vill distribuera ett program till klustret följer du stegen och vägledningen i Distribuera och ta bort program med PowerShell.

Aktivera diskkryptering för vm-skalningsuppsättningar som skapades tidigare

Om du vill aktivera diskkryptering för de vm-skalningsuppsättningar som du skapade genom föregående steg kör du följande kommandon:


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

Kontrollera om diskkryptering är aktiverat för en VM-skalningsuppsättning i Windows

Hämta status för en hel vm-skalningsuppsättning eller en instans i en skalningsuppsättning genom att köra följande kommandon.


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

Dessutom kan du logga in på vm-skalningsuppsättningen och se till att enheterna är krypterade.

Inaktivera diskkryptering för en VM-skalningsuppsättning i ett Service Fabric-kluster

Inaktivera diskkryptering för en VM-skalningsuppsättning genom att köra följande kommandon. Observera att inaktivering av diskkryptering gäller för hela vm-skalningsuppsättningen och inte en enskild instans.


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


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

Nästa steg

Nu bör du ha ett säkert kluster och veta hur du aktiverar och inaktiverar diskkryptering för Service Fabric-klusternoder och VM-skalningsuppsättningar. Liknande vägledning om Service Fabric-klusternoder i Linux finns i Diskkryptering för Linux.