17

Spring Cloud Config を使用する Spring Boot アプリがありますが、Spring Boot アプリの bootstrap.yml ファイルで Spring Cloud Config パスワードを暗号化したいです。これを行う方法はありますか?以下は例です。

Spring Boot アプリの bootstrap.yml

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

3 に答える 3

17

これに関連して私が発見したことがいくつかあります。

bootstrap.yml (または application.yml) を使用する場合は、暗号テキストの形式を一重引用符で囲む必要があります。

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

bootstrap.properties (または application.properties) を使用する場合、暗号テキストの形式を囲まないでください。

security.user.password= {cipher}56e611ce4a99ffd99908d2c9aa1461d831722812e4370a5b6900b7ea680ae914

[参照ドキュメント][1] は、引用符なしで yml を示していますが、これは私が作業することはありませんでした。SnakeYaml は常にエラーを報告しました:

"expected <block end>, but found Scalar"
于 2015-05-20T19:56:10.377 に答える
11

構成クライアントで暗号化されたプロパティがサポートされています (ユーザー ガイドで説明されています)。明らかに、そのようにすると、実行時にプロパティを復号化するためのキーを提供する必要があるため、実際には常に利点が見られるとは限りません (構成ファイルは、特別な形式のキーストアに少し似ていると思います。守るべき秘密はたくさんあるのではなく、1 つしかない)。例 (application.yml):

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

およびキー (bootstrap.yml 内):

encrypt:
  key: ${ENCRYPT_KEY:} # deadbeef
于 2015-02-10T15:01:50.047 に答える