Habilitar a criptografia de disco para nós de cluster do Azure Service Fabric no Windows
Neste tutorial, você aprenderá como habilitar a criptografia de disco em nós de cluster do Service Fabric no Windows. Você precisará seguir estas etapas para cada um dos tipos de nó e conjuntos de escala de máquina virtual. Para criptografar os nós, usaremos o recurso de Criptografia de Disco do Azure em conjuntos de escala de máquina virtual.
O guia abrange os seguintes tópicos:
- Principais conceitos a ter em conta ao ativar a encriptação de disco em conjuntos de dimensionamento de máquinas virtuais de cluster do Service Fabric no Windows.
- Etapas a serem seguidas antes de habilitar a criptografia de disco em nós de cluster do Service Fabric no Windows.
- Etapas a serem seguidas para habilitar a criptografia de disco em nós de cluster do Service Fabric no Windows.
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. 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 visualização de criptografia de disco para o conjunto de dimensionamento de máquina virtual requer autoregistro. Utilize os passos seguintes:
- Primeiro, execute o seguinte comando:
Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
- Aguarde cerca de 10 minutos até que o status leia Registrado. Você pode verificar o status executando o seguinte comando:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption" Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
Azure Key Vault
- Crie um cofre de chaves na mesma assinatura e região do conjunto de escala e, em seguida, selecione a política de acesso EnabledForDiskEncryption no cofre de chaves usando seu cmdlet do PowerShell. Você também pode definir a política usando a interface do usuário do Cofre da Chave no portal do Azure com o seguinte comando:
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
- Instale a versão mais recente da CLI do Azure, que tem os novos comandos de criptografia.
- Instale a versão mais recente do SDK do Azure a partir da versão do Azure PowerShell . A seguir estão os cmdlets do Azure Disk Encryption do conjunto de dimensionamento de máquina virtual para habilitar (definir) a criptografia, recuperar (obter) o status da criptografia e remover (desabilitar) a criptografia na instância do conjunto de escala.
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 criptografia de disco
- A criptografia para conjuntos de dimensionamento de máquina virtual é suportada apenas para conjuntos de dimensionamento criados com discos gerenciados. Não há suporte para conjuntos de escala de disco nativos (ou não gerenciados).
- A criptografia é suportada para SO e volumes de dados em conjuntos de dimensionamento de máquinas virtuais no Windows. A desativação da criptografia também é suportada para SO e volumes de dados para conjuntos de dimensionamento de máquinas virtuais no Windows.
- As operações de reimagem e atualização de máquinas virtuais para conjuntos de dimensionamento de máquinas virtuais não são suportadas na visualização atual.
Criar um novo 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.
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
Use o modelo personalizado que você já tem
Se você precisar criar um modelo personalizado para atender às suas necessidades, é altamente recomendável que você comece com um dos modelos disponíveis na página de exemplos de modelo de criação de cluster do Azure Service Fabric. Para personalizar a seção de modelo de cluster, consulte as diretrizes a seguir.
Se você já tiver um modelo personalizado, verifique se todos os três parâmetros relacionados ao certificado no modelo e no arquivo de parâmetros são nomeados da seguinte maneira e se os valores são nulos da seguinte maneira:
"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
Implantar um aplicativo em um cluster do Service Fabric no Windows
Para implantar um aplicativo em seu cluster, siga as etapas e orientações em Implantar e remover aplicativos usando o PowerShell.
Habilitar a criptografia de disco para os conjuntos de dimensionamento de máquina virtual criados anteriormente
Para habilitar a criptografia de disco para os conjuntos de escala de máquina virtual criados nas 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>
Validar se a criptografia de disco está habilitada para uma escala de máquina virtual definida no Windows
Obtenha o status de um conjunto de escala de máquina virtual inteiro ou de qualquer instância em um conjunto de escala executando os comandos a seguir.
$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, você pode entrar no conjunto de escala da máquina virtual e certificar-se de que as unidades estão criptografadas.
Desabilitar a criptografia de disco para um conjunto de dimensionamento de máquina virtual em um cluster do Service Fabric
Desative a criptografia de disco para um conjunto de escala de máquina virtual executando os seguintes comandos. Observe que a desativação da criptografia de disco se aplica a todo o conjunto de dimensionamento da máquina virtual 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>
Próximos passos
Neste ponto, você deve ter um cluster seguro e saber como habilitar e desabilitar a criptografia de disco para nós de cluster do Service Fabric e conjuntos de dimensionamento de máquina virtual. Para obter orientações semelhantes sobre nós de cluster do Service Fabric no Linux, consulte Criptografia de disco para Linux.