Spring Cloud Vault не работает с пользовательским монтированием - PullRequest
0 голосов
/ 17 октября 2018

На локальном компьютере я запустил сервер 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, т.е. когда я использовал монтирование по умолчанию (секретное).Но если я попал на сервер QA с пользовательским монтированием (группой), я получаю следующую ошибку:

org.springframework.vault.VaultException: Status 403 secret / group / grouptype / groupname / DB:разрешение отклонено

(Не знаю, почему префикс секрета)

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.Как исключить секрет из контекста

1 Ответ

0 голосов
/ 18 октября 2018

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...