Как получить старые версии ключей с помощью 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):
- Версионный бэкэнд Key-Value использует другой API. В частности, пути HTTP и полезная нагрузка JSON немного отличаются.
- Версионный бэкэнд Key-Value может хранить несколько версий.
В Spring Cloud Vault учитывался только первый аспект - различия в API (дополнительную информацию см. В соответствующем билете GitHub).
Spring Cloud Vault не использует аспект управления версиями (т. Е. Читает старую секретную версию), а читает последнюю секретную версию. Я подал заявку на использование функций управления версиями Vault со свойствами конфигурации / Environment
, Этот билет должен стать хорошим местом для начала дискуссии о том, как может выглядеть такая интеграция и как она может иметь смысл.