Compartilhar via


Habilitar a criptografia de disco para os nós de cluster do Azure Service Fabric no Linux

Neste tutorial, você aprenderá de que modo habilitar a criptografia de disco para os nós de cluster do Azure Service Fabric no Linux. Será preciso seguir as etapas abaixo para cada um dos tipos de nós ou conjuntos de dimensionamento de máquinas virtuais. Para criptografar os nós, usaremos a funcionalidade do Azure Disk Encryption em conjuntos de dimensionamento de máquinas virtuais.

O guia abordará os seguintes tópicos:

  • Conceitos importantes a serem considerados ao habilitar a criptografia de disco em conjuntos de dimensionamento de máquinas virtuais de cluster do Service Fabric no Linux.
  • Etapas a serem seguidas antes de habilitar a criptografia de disco em nós de cluster do Service Fabric no Linux.
  • Etapas a serem seguidas para habilitar a criptografia de disco em nós de cluster do Service Fabric no Linux.

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

Auto-registro

A versão prévia da criptografia de disco para o conjunto de dimensionamento de máquinas virtuais exige obter um auto-registro. Use as seguintes etapas:

  1. Execute o seguinte comando:
    Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
    
  2. Aguarde cerca de 10 minutos até que a leitura do status seja Registrado. É possível verificar o status executando 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 assinatura e região como conjunto de dimensionamento. Depois selecione a política de acesso EnabledForDiskEncryption no cofre de chaves usando o respectivo cmdlet do PowerShell. Também é possível definir a política usando a interface do usuário do Key Vault no 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 criptografia.

  3. Instale a versão mais recente do SDK do Azure da versão do Azure PowerShell. Veja abaixo os cmdlets do Azure Disk Encryption do conjunto de dimensionamento de máquinas virtuais para habilitar (definir) a criptografia, recuperar (obter) o status da criptografia e remover (desabilitar) a criptografia na instância do conjunto de dimensionamento.

Comando Versão Fonte
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 com suporte para criptografia de disco

  • A criptografia para os conjuntos de dimensionamento de máquinas virtuais é compatível somente com os conjuntos de dimensionamento criados com os discos gerenciados. Não é suportado para conjuntos de escala de discos nativos (ou não gerenciados).
  • Usar a criptografia e desabilitar a criptografia são ações compatíveis com o sistema operacional e os volumes de dados usados em conjuntos de dimensionamento de máquinas virtuais no Linux.
  • As operações usadas para atualizar a VM (máquina virtual) e refazer imagem dela para os conjuntos de dimensionamento de máquinas virtuais não são compatíveis com a versão prévia atual.

Criar um cluster e habilitar a criptografia de disco

Use os comandos a seguir para criar um cluster e habilitar a criptografia de disco usando um modelo do Azure Resource Manager e um certificado autoassinado.

Entrar no Azure

Entre usando os seguintes comandos:


Login-AzAccount
Set-AzContext -SubscriptionId <guid>


azure login
az account set --subscription $subscriptionId

Usar um modelo personalizado que você já tem

Caso precise criar um modelo personalizado, recomendamos usar um dos modelos disponíveis na página de Exemplos de modelos de criação de cluster do Azure Service Fabric.

Caso já tenha um modelo personalizado, verifique se os três parâmetros relacionados ao certificado usados no modelo e no arquivo de parâmetros estão nomeados conforme mostrado abaixo. Verifique também se os valores são nulos conforme mostrado abaixo:

   "certificateThumbprint": {
      "value": ""
    },
    "sourceVaultValue": {
      "value": ""
    },
    "certificateUrlValue": {
      "value": ""
    },

Uma vez que somente a criptografia de disco de dados é compatível com os conjuntos de dimensionamento de máquinas virtuais no Linux, será preciso adicionar um disco de dados usando um modelo do Resource Manager. Atualize o modelo para provisionar o disco de dados conforme mostrado abaixo:

   
   "storageProfile": { 
            "imageReference": { 
              "publisher": "[parameters('vmImagePublisher')]", 
              "offer": "[parameters('vmImageOffer')]", 
              "sku": "[parameters('vmImageSku')]", 
              "version": "[parameters('vmImageVersion')]" 
            }, 
            "osDisk": { 
              "caching": "ReadOnly", 
              "createOption": "FromImage", 
              "managedDisk": { 
                "storageAccountType": "[parameters('storageAccountType')]" 
              } 
           }, 
                "dataDisks": [ 
                { 
                    "diskSizeGB": 1023, 
                    "lun": 0, 
                    "createOption": "Empty" 
   
$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 

Veja abaixo o comando equivalente da CLI. Altere os valores nas instruções declaradas usando os valores apropriados. A CLI é compatível com todos os outros parâmetros compatíveis com o comando anterior do PowerShell.

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

Montar um disco de dados em uma instância do Linux

Antes de prosseguir com a criptografia em um conjunto de dimensionamento de máquinas virtuais, verifique se o disco de dados adicionado está montado de modo adequado. Entre na VM do cluster do Linux e execute o comando LSBLK. A saída deverá mostrar a coluna Ponto de Montagem com esse disco de dados adicionado.

Implantar o aplicativo em um cluster do Service Fabric no Linux

Para implantar um aplicativo em seu cluster, siga as etapas e diretrizes indicadas no artigo Guia de início rápido: implantar contêineres do Linux no Service Fabric.

Habilitar a criptografia de disco para os conjuntos de dimensionamento de máquinas virtuais criados anteriormente

A fim de habilitar a criptografia de disco para os conjuntos de dimensionamento de máquinas virtuais criados por meio das etapas 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>

Verifique se a criptografia de disco está habilitada para um conjunto de dimensionamento de máquinas virtuais no Linux

Para obter o status de um conjunto de dimensionamento de máquinas virtuais completo ou de instâncias em um conjunto de dimensionamento, execute os comandos a seguir. Além disso, é possível entrar na VM do cluster do Linux e executar o comando LSBLK. A saída deverá mostrar a coluna Ponto de Montagem com o disco de dados adicionado e a coluna Tipo com a opção Crypt.


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

Desabilitar a criptografia de disco para um conjunto de dimensionamento de máquinas virtuais em um cluster do Service Fabric

Desabilite a criptografia de disco para um conjunto de dimensionamento de máquinas virtuais executando os comandos a seguir. Observe que desabilitar a criptografia de disco se aplica ao conjunto de dimensionamento de máquinas virtuais completo, em vez de somente uma instância individual.

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

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

Próximas etapas

Neste momento, você deve ter um cluster protegido e saber de que modo habilitar e desabilitar a criptografia de disco para os nós de cluster e conjuntos de dimensionamento de máquinas virtuais do Service Fabric. Para obter diretrizes semelhantes sobre os nós de cluster do Service Fabric no Linux, confira a Criptografia de disco para Windows.