Udostępnij za pośrednictwem


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 na DataEncipherment:

    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.