Ich habe eine Spring Boot-App, die Spring Cloud Config verwendet, aber ich möchte das Spring Cloud Config-Passwort in der bootstrap.yml-Datei von Spring Boot apps verschlüsseln. Gibt es eine Möglichkeit, dies zu tun? Unten ist ein Beispiel.
Spring Boot-Anwendung bootstrap.yml
%Vor%Es gibt Unterstützung für verschlüsselte Eigenschaften im Konfigurations-Client (wie im Benutzerhandbuch ). Offensichtlich müssen Sie einen Schlüssel bereitstellen, um die Eigenschaften zur Laufzeit zu entschlüsseln, also sehe ich nicht immer den Vorteil (ich nehme an, die Konfigurationsdatei ist ein bisschen wie ein Schlüsselspeicher mit einem speziellen Format, also nur Sie habe ein Geheimnis zum Schutz statt vieler). Beispiel (application.yml):
%Vor%und der Schlüssel (in bootstrap.yml):
%Vor%Ein paar Dinge, die ich entdeckt habe, bezogen sich darauf.
Wenn Sie bootstrap.yml (oder application.yml) verwenden, muss das Format für den Chiffretext in einfache Anführungszeichen gesetzt werden:
%Vor%Wenn Sie bootstrap.properties (oder application.properties) verwenden, darf das Format für den verschlüsselten Text NICHT eingeschlossen sein:
%Vor%Die [Referenzdokumente] [1] zeigen das Yml ohne die Anführungszeichen, die ich nie zur Arbeit bekommen habe. SnakeYaml hat immer einen Fehler gemeldet:
%Vor% Sie können Spring CLI verwenden, um die Geheimnisse spring encrypt password --key 'SECRET_KEY'
Tags und Links spring-boot spring-cloud