как получить старые версии ключей с помощью Spring-Cloud-Vault?

Я использую spring-cloud-vault для получения версии kv с сервера хранилища. Когда я использую environemnt.getSecret("key1"), он возвращает только последние версии ключа, например world2. Есть ли способ получить старые версии секретов, указав номер версии для данного ключа с помощью библиотеки spring-cloud-vault?

#vault kv put secret/my-app key1=world1
Key              Value
---              -----
created_time     2018-09-20T12:00:19.6136263Z
deletion_time    n/a
destroyed        false
version          1

#vault kv put secret/my-app key1=world2
Key              Value
---              -----
created_time     2018-09-20T12:00:27.1820524Z
deletion_time    n/a
destroyed        false
version          2

Спасибо за вашу помощь.


person Manish    schedule 21.09.2018    source источник
comment
Добро пожаловать в StackOverflow и благодарим за то, что разместили здесь свой вопрос, чтобы поделиться им с сообществом.   -  person mp911de    schedule 21.09.2018
comment
У Java-драйвера хранилища Better Cloud есть одна ветка (все еще в разработке) для чтения KV с версией. Это единственный вариант, который я вижу на данный момент. Вот ссылка github.com/BetterCloud/vault-java-driver/tree/   -  person suhas0sn07    schedule 21.09.2018


Ответы (1)


Spring Cloud Vault поддерживает начиная с версии 2.0 API ключей и значений с версией (бэкэнд v2). Есть два отличия от API ключа-значения без поддержки версий (бэкэнд v1):

  1. Бэкэнд с версией "ключ-значение" использует другой API. В частности, пути HTTP и полезная нагрузка JSON немного отличаются.
  2. Бэкэнд с поддержкой версий "ключ-значение" может хранить несколько версий.

В Spring Cloud Vault учитывался только первый аспект, различия в API (см. соответствующий билет GitHub для получения дополнительной информации).

Spring Cloud Vault не использует аспект управления версиями (т.е. читает старую секретную версию), а скорее читает последнюю секретную версию. Я подал заявку на использование функций управления версиями Vault со свойствами конфигурации. / the Environment. Этот билет должен стать хорошим местом для начала дискуссии о том, как может выглядеть такая интеграция и как она может иметь наибольший смысл.

person mp911de    schedule 21.09.2018