Share via


Ativar a encriptação de discos para nós de cluster do Azure Service Fabric no Windows

Neste tutorial, irá aprender a ativar a encriptação de discos nos nós de cluster do Service Fabric no Windows. Terá de seguir estes passos para cada um dos tipos de nós e conjuntos de dimensionamento de máquinas virtuais. Para encriptar os nós, vamos utilizar a capacidade do Azure Disk Encryption em conjuntos de dimensionamento de máquinas virtuais.

O guia abrange os seguintes tópicos:

  • Principais conceitos a ter em conta ao ativar a encriptação de discos em conjuntos de dimensionamento de máquinas virtuais de cluster do Service Fabric no Windows.
  • Passos a seguir antes de ativar a encriptação de discos nos nós de cluster do Service Fabric no Windows.
  • Passos a seguir para ativar a encriptação de discos em nós de cluster do Service Fabric no Windows.

Nota

Recomendamos que utilize o módulo Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

Auto-registo

A pré-visualização da encriptação de discos para o conjunto de dimensionamento de máquinas virtuais requer o auto-registo. Utilize os passos seguintes:

  1. Primeiro, execute o seguinte comando:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Aguarde cerca de 10 minutos até que o estado seja Registado. Pode verificar o estado ao executar o seguinte comando:
    Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption"
    Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
    

Azure Key Vault

  1. Crie um cofre de chaves na mesma subscrição e região que o conjunto de dimensionamento e, em seguida, selecione a política de acesso EnabledForDiskEncryption no cofre de chaves com o respetivo cmdlet do PowerShell. Também pode definir a política com a IU Key Vault na portal do Azure com o seguinte comando:
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
    
  2. Instale a versão mais recente da CLI do Azure, que tem os novos comandos de encriptação.
  3. Instale a versão mais recente do SDK do Azure a partir Azure PowerShell versão. Seguem-se os cmdlets do conjunto de dimensionamento de máquinas virtuais do Azure Disk Encryption para ativar a encriptação (definir), obter o estado de encriptação (obter) e remover (desativar) a encriptação na instância do conjunto de dimensionamento.
Comando Versão Origem
Get-AzVmssDiskEncryptionStatus 1.0.0 ou posterior Az.Compute
Get-AzVmssVMDiskEncryptionStatus 1.0.0 ou posterior Az.Compute
Disable-AzVmssDiskEncryption 1.0.0 ou posterior Az.Compute
Get-AzVmssDiskEncryption 1.0.0 ou posterior Az.Compute
Get-AzVmssVMDiskEncryption 1.0.0 ou posterior Az.Compute
Set-AzVmssDiskEncryptionExtension 1.0.0 ou posterior Az.Compute

Cenários suportados para encriptação de discos

  • A encriptação para conjuntos de dimensionamento de máquinas virtuais é suportada apenas para conjuntos de dimensionamento criados com discos geridos. Não é suportado para conjuntos de dimensionamento de discos nativos (ou não geridos).
  • A encriptação é suportada para o SO e volumes de dados em conjuntos de dimensionamento de máquinas virtuais no Windows. A desativação da encriptação também é suportada para o SO e volumes de dados para conjuntos de dimensionamento de máquinas virtuais no Windows.
  • As operações de recriação e atualização de máquinas virtuais para conjuntos de dimensionamento de máquinas virtuais não são suportadas na pré-visualização atual.

Criar um novo cluster e ativar a encriptação de discos

Utilize os seguintes comandos para criar um cluster e ativar a encriptação de discos com um modelo do Azure Resource Manager e um certificado autoassinado.

Iniciar sessão no Azure

Inicie sessão com os seguintes comandos:

Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Utilizar o modelo personalizado que já tem

Se precisar de criar um modelo personalizado de acordo com as suas necessidades, recomendamos vivamente que comece com um dos modelos disponíveis na página de exemplos de modelos de criação de clusters do Azure Service Fabric . Para personalizar a secção de modelo de cluster, veja a seguinte documentação de orientação.

Se já tiver um modelo personalizado, verifique novamente se os três parâmetros relacionados com o certificado no modelo e no ficheiro de parâmetros são nomeados da seguinte forma e se os valores são nulos da seguinte forma:

   "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

Implementar uma aplicação num cluster do Service Fabric no Windows

Para implementar uma aplicação no cluster, siga os passos e a documentação de orientação em Implementar e remover aplicações com o PowerShell.

Ativar a encriptação de discos para os conjuntos de dimensionamento de máquinas virtuais criados anteriormente

Para ativar a encriptação de discos para os conjuntos de dimensionamento de máquinas virtuais que criou através dos passos anteriores, execute os seguintes 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>

Validar se a encriptação de discos está ativada para um conjunto de dimensionamento de máquinas virtuais no Windows

Obtenha o estado de um conjunto de dimensionamento de máquinas virtuais inteiro ou de qualquer instância num conjunto de dimensionamento ao executar os seguintes 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>

Além disso, pode iniciar sessão no conjunto de dimensionamento de máquinas virtuais e certificar-se de que as unidades estão encriptadas.

Desativar a encriptação de disco para um conjunto de dimensionamento de máquinas virtuais num cluster do Service Fabric

Desative a encriptação de disco para um conjunto de dimensionamento de máquinas virtuais ao executar os seguintes comandos. Tenha em atenção que a desativação da encriptação do disco aplica-se a todo o conjunto de dimensionamento de máquinas virtuais e não a uma instância individual.


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


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

Passos seguintes

Neste momento, deve ter um cluster seguro e saber como ativar e desativar a encriptação de discos para nós de cluster do Service Fabric e conjuntos de dimensionamento de máquinas virtuais. Para obter orientações semelhantes sobre nós de cluster do Service Fabric no Linux, veja Disk Encryption for Linux (Encriptação de Discos para Linux).