【发布时间】:2019-11-21 00:06:43
【问题描述】:
我有 spring 配置服务器和 vault 作为后端。我使用 acl 策略在保险库中创建了一个令牌。当我在 spring.cloud.config.token 中使用令牌时,它不尊重 acl
我的 sping 配置客户端有这个引导属性
spring:
application:
name: app1
cloud:
config:
uri: https://config-server-ur:port
token: token-associated-to-acl-policy
我创建了一个名为“app1”的 acl 策略,它只允许保管库中的令牌读取“app1”。
path "secret/app1" {
capabilities = ["read", "list"]
}
./vault token create -display-name="app1" -policy="app1"
我使用了客户端生成的令牌,但它不起作用。
当我将 acl 策略更改为以下时,它可以工作
path "secret/*" {
capabilities = ["read", "list"]
}
但是,当我使用 X-Vault-token 直接访问保管库时,它可以正常工作
【问题讨论】:
-
我相信这应该可以工作-----path "secret/app1" {capabilities = ["read"]}-----。我记得有一个类似的问题。顺便问一下保险柜是哪个版本的?
-
我使用的是 v 1.1.3,但这不是 Vault 的问题。当我直接从保险库中读取时,它会按照预期的方式工作。当我通过配置服务器使用它时它不起作用
-
我建议不要通过配置服务器使用它,而是直接从 Vault 获取秘密,这样可以避免中介/配置服务器,如果有人坐在中间,使用 Vault 没有意义。
标签: hashicorp-vault spring-config