Een versleutelingscertificaat instellen en geheimen versleutelen in Windows-clusters
In dit artikel wordt beschreven hoe u een versleutelingscertificaat instelt en gebruikt om geheimen op Windows-clusters te versleutelen. Zie Voor Linux-clusters een versleutelingscertificaat instellen en geheimen versleutelen op 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 overal kunnen worden geïmplementeerd in een cluster dat wordt gehost.
Een certificaat voor gegevenscodering verkrijgen
Een certificaat voor gegevenscodering wordt strikt gebruikt voor versleuteling en ontsleuteling van parameters in de Settings.xml- en omgevingsvariabelen van een service in de ServiceManifest.xml van een service. Het wordt niet gebruikt voor verificatie of ondertekening van coderingstekst. Het certificaat moet voldoen aan de volgende vereisten:
Het certificaat moet een persoonlijke sleutel bevatten.
Het certificaat moet worden gemaakt voor sleuteluitwisseling, exporteerbaar 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 powerShell, moet de
KeyUsage
vlag zijn ingesteld opDataEncipherment
: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 hoe u een cluster maakt 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.