【问题标题】:Spring config server with vault token doesnt respect the acl defined in vault带有保险库令牌的 Spring 配置服务器不尊重保险库中定义的 acl
【发布时间】: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


【解决方案1】:

我找到了解决方案,将 spring.cloud.config.server.vault.defaultKey 设置为空,就像在 config-server bootstrap.yml 中这样

spring.profiles.active=git, vault
spring.cloud.config.server.git.uri=properties-git-repo-url
spring.cloud.config.server.git.username=user
spring.cloud.config.server.git.password=password
spring.cloud.config.server.git.searchPaths=/{application}/xyz
spring.cloud.config.server.git.force-pull=true
spring.cloud.config.server.git.timeout=10
spring.cloud.config.server.git.order=2
spring.cloud.config.server.vault.host=vault-hostname
spring.cloud.config.server.vault.port=8200
spring.cloud.config.server.vault.scheme=https
spring.cloud.config.server.vault.backend=secret
spring.cloud.config.server.vault.defaultKey=
spring.cloud.config.server.vault.profileSeparator=/
spring.cloud.config.server.vault.skipSslValidation=true
spring.cloud.config.server.vault.order=1
spring.cloud.config.server.vault.kvVersion=1

默认情况下 spring.cloud.config.server.vault.defaultKey= 设置为“应用程序”。

【讨论】:

    猜你喜欢
    • 2019-07-22
    • 2020-12-15
    • 2020-06-15
    • 1970-01-01
    • 2020-08-26
    • 2019-03-20
    • 2023-03-02
    • 1970-01-01
    • 2020-07-23
    相关资源
    最近更新 更多