Spring Cloud Config—Vault后端

Spring Cloud Config服务器还支持Vault作为后端。

Vault是安全访问秘密的工具。一个秘密是你想要严格控制访问的任何东西,如API密钥,密码,证书等等。Vault为任何秘密提供统一的界面,同时提供严格的访问控制和记录详细的审核日志。

有关Vault的更多信息,请参阅Vault快速入门指南。

要使配置服务器使用Vault后端,您必须使用vault配置文件运行配置服务器。例如在配置服务器的application.properties中,您可以添加spring.profiles.active=vault。

默认情况下,配置服务器将假定您的Vault服务器正在运行于http://127.0.0.1:8200。它还将假定后端名称为secret,密钥为application。所有这些默认值都可以在配置服务器的application.properties中配置。以下是可配置Vault属性的表。所有属性前缀为spring.cloud.config.server.vault。

名称默认值

host127.0.0.1

port8200

schemeHTTP

backend秘密

defaultKey应用

profileSeparator,

所有可配置的属性可以在org.springframework.cloud.config.server.environment.VaultEnvironmentRepository找到。

运行配置服务器后,可以向服务器发出HTTP请求,以从Vault后端检索值。为此,您需要为Vault服务器创建一个令牌。

首先放置一些数据给你Vault。例如

$ vault write secret/application foo=bar baz=bam

$ vault write secret/myapp foo=myappsbar

现在,将HTTP请求发送给您的配置服务器以检索值。

$ curl -X "GET" "http://localhost:8888/myapp/default" -H "X-Config-Token: yourtoken"

在提出上述要求后,您应该会看到类似的回复。

{

  "name":"myapp",

  "profiles":[

      "default"

  ],

  "label":null,

  "version":null,

  "state":null,

  "propertySources":[

      {

        "name":"vault:myapp",

        "source":{

            "foo":"myappsbar"

        }

      },

      {

        "name":"vault:application",

        "source":{

            "baz":"bam",

            "foo":"bar"

        }

      }

  ]

}

Spring Cloud Config—Vault后端_第1张图片

源码来源

你可能感兴趣的:(Spring Cloud Config—Vault后端)