Een versleutelingscertificaat instellen en geheimen versleutelen in Windows-clusters

In dit artikel wordt beschreven hoe u een versleutelingscertificaat instelt en gebruikt om geheimen in Windows-clusters te versleutelen. Zie Een versleutelingscertificaat instellen en geheimen versleutelen in Linux-clusters voor Linux-clusters.

Azure Key Vault wordt hier gebruikt als een veilige opslaglocatie voor certificaten en als een manier om certificaten te installeren op Service Fabric-clusters in Azure. Als u niet implementeert in Azure, hoeft u Key Vault niet te gebruiken om geheimen in Service Fabric-toepassingen te beheren. Het gebruik van geheimen in een toepassing is echter platformneutraal in de cloud, zodat toepassingen kunnen worden geïmplementeerd in een cluster dat overal wordt gehost.

Een certificaat voor gegevenscodering verkrijgen

Een certificaat voor gegevenscodering wordt uitsluitend gebruikt voor het versleutelen en ontsleutelen van parameters in de Settings.xml en omgevingsvariabelen van een service in de ServiceManifest.xml van een service. Deze wordt niet gebruikt voor verificatie of ondertekening van coderingstekst. Het certificaat moet aan de volgende vereisten voldoen:

  • Het certificaat moet een persoonlijke sleutel bevatten.

  • Het certificaat moet worden gemaakt voor sleuteluitwisseling en kan worden geëxporteerd naar een PFX-bestand (Personal Information Exchange).

  • Het gebruik van de certificaatsleutel moet Gegevenscodering (10) bevatten en mag geen serververificatie of clientverificatie bevatten.

    Wanneer u bijvoorbeeld een zelfondertekend certificaat maakt met behulp van PowerShell, moet de KeyUsage vlag worden ingesteld op DataEncipherment:

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

Het certificaat installeren in uw cluster

Dit certificaat moet op elk knooppunt in het cluster worden geïnstalleerd. Zie een cluster maken met behulp van Azure Resource Manager voor installatie-instructies.

Toepassingsgeheimen versleutelen

De volgende PowerShell-opdracht wordt gebruikt om een geheim te versleutelen. Met deze opdracht wordt alleen de waarde versleuteld; de coderingstekst wordt niet ondertekend. U moet hetzelfde coderingscertificaat gebruiken dat in uw cluster is geïnstalleerd om coderingstekst voor geheime waarden te produceren:

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

De resulterende base-64 gecodeerde tekenreeks bevat zowel de geheime coderingstekst als informatie over het certificaat dat is gebruikt om het te versleutelen.

Volgende stappen

Meer informatie over het opgeven van versleutelde geheimen in een toepassing.