Spring Cloud Vault не работает с настраиваемым монтированием

На локальном компьютере я запустил сервер Vault с политикой по умолчанию и написал следующее значение ключа.

vault write secret/my-application username=Test

bootstrap.yml (рабочий)

spring:
  application:
    name: my-application
  cloud:
    vault:
      authentication: TOKEN
      token: sometoken
      host: localhost
      port: 8200
      scheme: http
      #uri: http://localhost:8200
      connection-timeout: 5000
      read-timeout: 15000
      config:
        order: -10

Мне удалось получить значение с помощью Spring Cloud Vault, т.е. когда я использую монтирование по умолчанию (секрет). Но если я попадаю на сервер контроля качества с помощью настраиваемого монтирования (группы), я получаю следующую ошибку.

org.springframework.vault.VaultException: статус 403 секрет / группа / тип группы / имя группы / БД: отказано в разрешении

(Не уверен, почему секретный код имеет префикс)

bootstrap.yml (не работает)

spring:
  application:
    name: group/grouptype/groupname/DB
  cloud:
    vault:
      authentication: TOKEN
      token: sometoken
      host: 10.20.30.40
      port: 8200
      scheme: http
      #uri: http://10.20.30.40:8200
      connection-timeout: 5000
      read-timeout: 15000
      config:
        order: -10

Но если я нажимаю API из POSTMAN, он работает, как ожидалось.

GET
http://10.20.30.40:8200/v1/group/grouptype/groupname/DB
Header:  
X-Vault-Token:sometoken

Как заставить собственный прокси работать с загрузочным приложением Spring. Как исключить секрет из контекста

0
0
1 029
1

Ответы 1

Для нестандартного крепления мы должны добавить общий

spring:
  application:
    name: grouptype/groupname/DB
  cloud:
    vault:
      authentication: TOKEN
      token: sometoken
      generic:
        enabled: true
        backend: group
        default-conext: grouptype/groupname/DB 
      host: 10.20.30.40
      port: 8200
      scheme: http
      #uri: http://10.20.30.40:8200
      connection-timeout: 5000
      read-timeout: 15000
      config:
        order: -10

Здесь «группа» - это имя монтирования.

Другие вопросы по теме