Как получить старые версии ключей с помощью 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

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

1 ответ

Spring Cloud Vault поддерживает начиная с версии 2.0 API-интерфейс с ключами-значениями (бэкэнд-ключ-версия v2). Существует два отличия от API-интерфейса Key-Value, не имеющего версии (бэкэнд key-value v1):

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

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

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

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