2015-02-09 11 views
8

Spring Cloud Config kullanan bir Spring Boot uygulamasına sahibim, ancak Spring Boot uygulamaları bootstrap.yml dosyasındaki Spring Cloud Config şifresini şifrelemek istiyorum. Bunu yapmanın bir yolu var mı? Aşağıda bir örnek.Spring Boot uygulama yapılandırmasında Spring Cloud'u {cipher} kullanmanın bir yolu var mı?

Yay önyükleme uygulama bootstrap.yml

spring: 
    cloud: 
    config: 
     uri: http://locahost:8888 
     username: user 
     password: '{cipher}encryptedpassword' 

cevap

7

(user guide tarif edildiği gibi) yapılandırma istemci şifrelenmiş özellikleri için desteği vardır. Açıkçası, eğer bu şekilde, çalışma zamanında özellikleri şifresini çözmek için bir anahtar sağlamanız gerekiyorsa, aslında ben her zaman fayda göremiyorum (yapılandırma dosyası, özel bir biçime sahip bir anahtar deposu gibi biraz sanırım) Birçok yerine korumak için bir sırrı var. Örnek (application.yml):

integration: 
    stores: 
    test: '{cipher}316f8cdbb776c23e679bf209014788a6eab7522f48f97114328c2c9388e6b3c1' 

ve (bootstrap.yml olarak) tuşu: Ben bununla ilgili keşfettim

encrypt: 
    key: ${ENCRYPT_KEY:} # deadbeef 
+0

Teşekkürler Dave şifrelemek için Bahar CLI kullanabilirsiniz: SnakeYaml daima bir hata bildirdi. Dün yanlış yaptığımdan emin değilim ama işe yaramadı. ENCRYPT_KEY bir OS ortam değişkeni olarak ayarlanmıştı. Bugün tekrar denedim ve çalışıyor. –

7

birkaç nokta. Eğer bootstrap.yml (veya application.yml) kullanırsanız

, şifre metin biçimi tek tırnak içine gerekir:

security.user.password: '{cipher}56e611ce4a99ffd99908d2c9aa1461d831722812e4370a5b6900b7ea680ae914' 

Eğer bootstrap.properties (veya application.properties) kullanırsanız, şifre metin biçimi içine alınması OLMAMALI:

security.user.password= {cipher}56e611ce4a99ffd99908d2c9aa1461d831722812e4370a5b6900b7ea680ae914 

[referans dokümanlar] [1] işe asla tırnak olmadan YML göstermektedir.

"expected <block end>, but found Scalar" 
+0

.properties dosyaları kullanır =, değil ":" –

+0

Doğru sizsiniz. Posterity için değiştirildi. –