Share via


Configuración de un certificado de cifrado y cifrado de secretos en clústeres Windows

En este artículo se muestra cómo configurar un certificado de cifrado y usarlo para cifrar secretos en clústeres Windows. En el caso de los clústeres Linux, consulte Configuración de un certificado de cifrado y cifrado de secretos en clústeres Linux.

Azure Key Vault se usa aquí como ubicación de almacenamiento seguro para los certificados y como forma de obtener los certificados instalados en clústeres de Service Fabric en Azure. Si no va a implementar en Azure, no es necesario usar Key Vault para administrar secretos en aplicaciones de Service Fabric. Sin embargo, el uso de secretos en una aplicación es independiente de la plataforma de nube para permitir que las aplicaciones se implementen en un clúster hospedado en cualquier parte.

Obtención de un certificado de cifrado de datos

Un certificado de cifrado de datos se utiliza estrictamente para cifrar y descifrar los parámetros de un archivo Settings.xml del servicio y las variables de entorno de un archivo ServiceManifest.xml del servicio. No se usa para la autenticación o la firma de texto cifrado. El certificado debe cumplir los siguientes requisitos:

  • El certificado debe contener una clave privada.

  • El certificado debe crearse para el intercambio de claves, que se puedan exportar a un archivo Personal Information Exchange (.pfx).

  • El uso de claves de certificado debe incluir el cifrado de datos (10), y no debe incluir la autenticación de servidor o la autenticación de cliente.

    Por ejemplo, al crear un certificado autofirmado mediante PowerShell, la marca KeyUsage debe establecerse en DataEncipherment:

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

Instalación del certificado en el clúster

Este certificado debe instalarse en cada nodo del clúster. Consulte cómo crear un clúster mediante Azure Resource Manager para ver las instrucciones de configuración.

Cifrado de los secretos de aplicación

El siguiente comando de PowerShell se usa para cifrar un secreto. Este comando solo cifra el valor; no firma el texto cifrado. Para producir texto cifrado para los valores de secreto, debe usar el mismo certificado de cifrado que está instalado en el clúster:

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

La cadena codificada en base64 resultante contiene tanto el texto cifrado del secreto, así como la información sobre el certificado que se usó para cifrarlo.

Pasos siguientes

Obtenga información sobre cómo especificar secretos cifrados en una aplicación.