带有git/vault后端的弹簧云配置 - 令牌穿行



,而不是为Spring Cloud Config Server提供Apply或静态令牌,以访问所有 phoct > ALL 应用程序的秘密,而是可以使用配置Spring Cloud Vault配置以在配置请求中使用给定令牌?

此通信将超过2向SSL,标题中的令牌将超过标记。在这种情况下向外发送这样的令牌并不理想,但似乎是适当的解决方案。

请记住,这是使用Git Vault作为后端的弹簧云配置服务器,以便将秘密,变量等解决到所需的配置中。这不仅用于春季配置,还用于传递到短暂环境的其他文件,例如for apache的httpd.conf(不好的示例将秘密推入)

目标是在可能的情况下限制访问权限,并将其限制在要求配置的最终应用程序中。也很高兴在Spring Config Vault Policies上与Authz一起不复制RBAC努力。

您可以配置每个春季启动应用程序,该应用程序与Config Server交谈以将其自己的唯一令牌发送到配置服务器,然后将其传递给Vault。

保险库将允许根据定义对该资源的访问以及授予给令牌的权限的策略访问所请求的资源。

步骤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 rules=@./rules/application-a.hcl

步骤3:使用定义的策略创建令牌。

vault token-create -display-name="My Application A" -policy="policy-application-a"

步骤4:将一些数据写入Vault

vault write secret/application-a @application-a-config.json

步骤5:配置Spring Boot应用程序以使用其'令牌。

使用上面步骤3中创建的令牌。在应用程序的 bootstrap.yml 文件中设置后续。如果您在容器化的环境中运行,也可以在运行时通过此操作。

spring:
  cloud:
    config:
      uri: https://configserver:8888/
      token: <secret token>

Spring处理令牌从客户端应用程序转移到配置服务器,然后转到Vault。

对于任何其他应用程序,您可以在HTTP请求的标题中设置令牌。

来自保险库文档: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

我希望这对您有帮助。

最新更新