Compartilhar via


Configurar um certificado de criptografia e criptografar segredos em clusters Windows

Este artigo mostra como configurar um certificado de criptografia e criptografar segredos em clusters Windows. Para clusters Linux, consulte Configurar um certificado de criptografia e criptografar segredos em clusters Linux.

O Azure Key Vault é usado aqui como um local de armazenamento seguro para certificados e como uma maneira de obter certificados instalados em clusters do Service Fabric no Azure. Se não estiver implantando no Azure, você não precisará usar o cofre de chaves para gerenciar segredos em aplicativos do Service Fabric. No entanto, o uso de segredos em um aplicativo é independente de plataforma de nuvem para permitir que os aplicativos sejam implantados em um cluster hospedado em qualquer lugar.

Obter um certificado de codificação de dados

Um certificado de codificação de dados é usado estritamente para criptografia e descriptografia de parâmetros no arquivo Settings.xml de um serviço e nas variáveis de ambiente do ServiceManifest.xml do serviço. Ele não é usado para autenticação ou assinatura do texto codificado. O certificado deve atender aos seguintes requisitos:

  • O certificado deve conter uma chave privada.

  • O certificado deve ser criado para troca de chaves, exportável para um arquivo Troca de Informações Pessoais (.pfx).

  • O uso da chave de certificado deve incluir a Codificação de Dados (10) e não deve incluir a Autenticação de Servidor ou de Cliente.

    Por exemplo, ao criar um certificado autoassinado usando o PowerShell, o sinalizador KeyUsage deverá ser definido como DataEncipherment:

    New-SelfSignedCertificate -Type DocumentEncryptionCert -KeyUsage DataEncipherment -Subject mydataenciphermentcert -Provider 'Microsoft Enhanced Cryptographic Provider v1.0'
    

Instalar o certificado em seu cluster

Esse certificado deve ser instalado em cada nó no cluster. Veja como criar um cluster usando o Azure Resource Manager para obter instruções de instalação.

Criptografar segredos do aplicativo

O comando do PowerShell a seguir é usado para criptografar um segredo. Esse comando só criptografa o valor; ele não assina o texto da criptografia. Você deve usar o mesmo certificado de codificação instalado no seu cluster para produzir texto cifrado para valores do segredo:

Invoke-ServiceFabricEncryptText -CertStore -CertThumbprint "<thumbprint>" -Text "mysecret" -StoreLocation CurrentUser -StoreName My

A cadeia de caracteres codificada de base 64 resultante contém tanto o texto cifrado secreto como informações sobre o certificado usado para criptografá-lo.

Próximas etapas

Saiba como Especificar segredos criptografados em um aplicativo.