春云配置在GIT /库后端 - 而不是给一个AppRole或静态令牌春季云配置服务器跨ALL应用程序访问ALL秘密令牌直通
问题描述:
,是它可以配置Spring云库配置利用请求配置的给定令牌?春云配置在GIT /库后端 - 而不是给一个AppRole或静态令牌春季云配置服务器跨<strong>ALL</strong>应用程序访问<strong>ALL</strong>秘密令牌直通
这种通信将超过在报头中的令牌2路SSL。向外发送这种令牌并不理想,但在这种情况下似乎是正确的解决方案。
请记住,这是使用Git +库作为后端,以解决秘密,变量等,到所需配置的春季云配置服务器。这不仅可以用于Spring配置,还可以用于其他文件,比如Apache的httpd.conf(将密码推入的不好的例子)
这里的目标是限制访问并尽量限制访问到请求配置的最终应用程序。在Spring Config中使用AuthZ也不会重复RBAC工作AND保险柜策略。
答
可以配置会谈配置服务器,以它自己独特的令牌发送到配置服务器,然后通过对库通过每年春季启动应用程序。
库将允许访问基于定义访问该资源,并授予令牌的权限政策所请求的资源。
第1步:定义一个策略。
cat ./rules/application-a.hcl <<EOF
path "secret/application" {
capabilities = ["read", "list"]
}
path "secret/application-a" {
capabilities = ["read", "list"]
}
EOF
第2步:将策略写入保险库。
vault write sys/policy/policy-application-a [email protected]/rules/application-a.hcl
步骤3:使用定义的策略创建令牌。
vault token-create -display-name="My Application A" -policy="policy-application-a"
第4步:写一些数据到保险柜
vault write secret/application-a @application-a-config.json
5步:配置Spring启动应用程序使用它的令牌。
使用在上面的步骤3中创建的令牌。在应用程序的bootstrap.yml文件中设置以下内容。如果你在集装箱环境中运行,你也可以在运行时通过它。
spring:
cloud:
config:
uri: https://configserver:8888/
token: <secret token>
Spring将令牌从客户端应用程序传输到配置服务器,然后处理到Vault。
对于任何其他应用程序,可以在HTTP请求的报头中设置的标记。
从Vault文档: https://www.vaultproject.io/intro/getting-started/apis.html
curl -X GET -H "X-Vault-Token:$VAULT_TOKEN" http://127.0.0.1:8200/v1/secret/application-a
我希望这可以帮助你。