Share via


Habilitación del cifrado de disco para nodos de clústeres de Azure Service Fabric en Windows

En este tutorial, obtendrá información sobre cómo habilitar el cifrado de disco en los nodos de clústeres de Service Fabric en Windows. Debe seguir estos pasos para cada uno de los tipos de nodo y de los conjuntos de escalado de máquinas virtuales. Para cifrar los nodos, usaremos la funcionalidad Azure Disk Encryption en los conjuntos de escalado de máquinas virtuales.

En esta guía se tratan los temas siguientes:

  • Conceptos clave que debe tener en cuenta para habilitar el cifrado de disco en conjuntos de escalado de máquinas virtuales de un clúster de Service Fabric en Windows.
  • Pasos que se deben seguir antes de habilitar el cifrado de disco en nodos de clúster de Service Fabric en Windows.
  • Pasos que se deben seguir para habilitar el cifrado de disco en nodos de clúster de Service Fabric en Windows.

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Prerrequisitos

Registro automático

La versión preliminar del cifrado de disco de un conjunto de escalado de máquinas virtuales requiere el registro automático. Siga estos pasos:

  1. En primer lugar, ejecute el siguiente comando:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Espere unos 10 minutos hasta que el estado sea Registrado. Puede comprobar el estado ejecutando el siguiente comando:
    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
    

Azure Key Vault

  1. Cree un almacén de claves en la misma suscripción y región que el conjunto de escalado y seleccione la directiva de acceso EnabledForDiskEncryption en el almacén de claves mediante el cmdlet de PowerShell. También puede establecer la directiva usando la interfaz de usuario de Key Vault en Azure Portal con el siguiente comando:
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
    
  2. Instale la versión más reciente de la CLI de Azure, que contiene los nuevos comandos de cifrado.
  3. Instale la versión más reciente del SDK de Azure desde Azure PowerShell. Estos son los cmdlets de Azure Disk Encryption para habilitar (set) el cifrado, recuperar (get) el estado de cifrado y eliminar (disable) el cifrado en la instancia del conjunto de escalado.
Get-Help Versión Source
Get-AzVmssDiskEncryptionStatus 1.0.0 o posterior Az.Compute
Get-AzVmssVMDiskEncryptionStatus 1.0.0 o posterior Az.Compute
Disable-AzVmssDiskEncryption 1.0.0 o posterior Az.Compute
Get-AzVmssDiskEncryption 1.0.0 o posterior Az.Compute
Get-AzVmssVMDiskEncryption 1.0.0 o posterior Az.Compute
Set-AzVmssDiskEncryptionExtension 1.0.0 o posterior Az.Compute

Escenarios admitidos para el cifrado de disco

  • El cifrado de conjuntos de escalado de máquinas virtuales se admite solo en conjuntos de escalado creados con discos administrados. No es compatible con conjuntos de escalado con disco nativo (o no administrado).
  • El cifrado se admite para volúmenes de datos y sistema operativo en conjuntos de escalado de máquinas virtuales en Windows. El cifrado se admite para volúmenes de datos y sistema operativo en conjuntos de escalado de máquinas virtuales en Windows.
  • Las operaciones de restablecimiento de la imagen y actualización de las máquinas virtuales para conjunto de escalado de máquinas virtuales no se admiten en la versión preliminar actual.

Creación de un nuevo clúster y habilitación del cifrado de disco

Use los siguientes comandos para crear un clúster y habilitar el cifrado de disco con una plantilla de Azure Resource Manager y un certificado autofirmado.

Inicio de sesión en Azure

Inicie sesión con los siguientes comandos:

Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Uso de la plantilla personalizada ya existente

Si tiene que crear una plantilla personalizada para adaptarla a sus necesidades, es muy aconsejable comenzar con una de las ya disponibles en la página Azure Service Fabric cluster creation template samples (Plantillas de ejemplo de creación de clústeres de Azure Service Fabric). Para personalizar la plantilla de clúster, consulte las siguientes recomendaciones.

Si ya tiene una plantilla personalizada, vuelva a comprobar que los tres parámetros relacionados con el certificado de la plantilla y el archivo de parámetros tengan los nombres siguientes y que los valores sean null, como se indica a continuación:

   "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

Implementación de una aplicación en un clúster de Service Fabric en Windows

Para implementar una aplicación en el clúster, siga los pasos y las recomendaciones de Implementación y eliminación de aplicaciones con PowerShell.

Habilitación del cifrado de disco para los conjuntos de escalado de máquinas virtuales creados previamente

Para habilitar el cifrado de disco para los conjuntos de escalado de máquinas virtuales que se han creado siguiendo los pasos anteriores, ejecute los siguientes comandos:


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

Validación de que el cifrado de disco está habilitado para un conjunto de escalado de máquinas virtuales en Windows

Obtenga el estado de un conjunto de escalado de máquinas virtuales completo o de cualquier instancia de un conjunto de escalado ejecutando los siguientes comandos.


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

Además, puede iniciar sesión en el conjunto de escalado de máquinas virtuales y asegúrese de que las unidades se cifran.

Deshabilitación del cifrado de disco para un conjunto de escalado de máquinas virtuales en un clúster de Service Fabric

Deshabilite el cifrado de disco para un conjunto de escalado de máquinas virtuales en un clúster de Service Fabric ejecutando los siguientes comandos. Tenga en cuenta que la deshabilitación del cifrado de disco se aplica al conjunto de escalado de máquinas virtuales completo y no a una instancia individual.


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


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

Pasos siguientes

En este punto, debe tener un clúster seguro y el procedimiento para habilitar o deshabilitar el cifrado del disco para los nodos de clúster y los conjuntos de escalado de máquinas virtuales de Service Fabric. Para obtener instrucciones similares sobre los nodos de clúster de Service Fabric en Linux, consulte Cifrado de disco para Linux.