Konfigurowanie certyfikatu szyfrowania i szyfrowanie wpisów tajnych w klastrach systemu Windows
W tym artykule przedstawiono sposób konfigurowania certyfikatu szyfrowania i używania go do szyfrowania wpisów tajnych w klastrach systemu Windows. W przypadku klastrów systemu Linux zobacz Konfigurowanie certyfikatu szyfrowania i szyfrowanie wpisów tajnych w klastrach systemu Linux.
Usługa Azure Key Vault jest używana w tym miejscu jako bezpieczna lokalizacja przechowywania certyfikatów i jako sposób pobierania certyfikatów zainstalowanych w klastrach usługi Service Fabric na platformie Azure. Jeśli nie wdrażasz na platformie Azure, nie musisz używać usługi Key Vault do zarządzania wpisami tajnymi w aplikacjach usługi Service Fabric. Jednak używanie wpisów tajnych w aplikacji jest niezależne od platformy w chmurze, aby umożliwić wdrażanie aplikacji w klastrze hostowanym w dowolnym miejscu.
Uzyskiwanie certyfikatu szyfrowania danych
Certyfikat szyfrowania danych jest używany ściśle do szyfrowania i odszyfrowywania parametrów w Settings.xml usługi i zmiennych środowiskowych w ServiceManifest.xml usługi. Nie jest używany do uwierzytelniania ani podpisywania tekstu szyfrującego. Certyfikat musi spełniać następujące wymagania:
Certyfikat musi zawierać klucz prywatny.
Certyfikat należy utworzyć na potrzeby wymiany kluczy, który można wyeksportować do pliku wymiany informacji osobistych (pfx).
Użycie klucza certyfikatu musi obejmować szyfrowanie danych (10) i nie powinno obejmować uwierzytelniania serwera ani uwierzytelniania klienta.
Na przykład podczas tworzenia certyfikatu z podpisem własnym przy użyciu programu PowerShell flaga
KeyUsage
musi być ustawiona naDataEncipherment
:New-SelfSignedCertificate -Type DocumentEncryptionCert -KeyUsage DataEncipherment -Subject mydataenciphermentcert -Provider 'Microsoft Enhanced Cryptographic Provider v1.0'
Instalowanie certyfikatu w klastrze
Ten certyfikat należy zainstalować w każdym węźle w klastrze. Zobacz , jak utworzyć klaster przy użyciu usługi Azure Resource Manager , aby uzyskać instrukcje dotyczące konfiguracji.
Szyfrowanie wpisów tajnych aplikacji
Następujące polecenie programu PowerShell służy do szyfrowania wpisu tajnego. To polecenie szyfruje tylko wartość; nie podpisuje tekstu szyfru. Musisz użyć tego samego certyfikatu szyfrowania, który jest zainstalowany w klastrze, aby wygenerować tekst szyfrowania dla wartości wpisów tajnych:
Invoke-ServiceFabricEncryptText -CertStore -CertThumbprint "<thumbprint>" -Text "mysecret" -StoreLocation CurrentUser -StoreName My
Wynikowy ciąg zakodowany w formacie base-64 zawiera zarówno tajny tekst szyfrowania, jak i informacje o certyfikacie, który został użyty do jego zaszyfrowania.
Następne kroki
Dowiedz się, jak określić zaszyfrowane wpisy tajne w aplikacji.