Всякий раз, когда я пытаюсь обновить указанные c существующие ключи, он также перезаписывает другие ключи и происходит потеря данных. Мне нужно обновить существующие ключи или добавить новые ключи, не затрагивая существующие ключи. Этот сценарий может быть достигнут с помощью CLI хранилища. Но я не уверен, как реализовать это с помощью драйвера Vault Java.
Например, для использования CLI хранилища:
Создание новых ключей -
vault kv put secret/partner name="Example Co." partner_id="123456789111111"
Сохраненные ключи в хранилище:
======= Data =======
Key Value
=== =====
name Example Co.
partner_id 123456789111111
Добавление новых ключей в хранилище -
vault kv patch secret/partner contact=889765412
Ключи, хранящиеся в хранилище:
======= Data =======
Key Value
=== =====
name Example Co.
partner_id 123456789111111
contact 889765412
Использование хранилища Java Драйвер:
Map<String, Object> secretMap = new HashMap<String, Object>();
secretMap.put("name","Example Co.");
secretMap.put("partner_id","123456789111111");
final LogicalResponse writeResponse = vault.logical()
.write("secret/partner", secretMap);
Ключи, хранящиеся в Vault:
======= Data =======
Key Value
=== ====
name Example Co.
partner_id 123456789111111
Map<String, Object> m = new HashMap<String, Object>();
secretMap.put("contact","889765412");
final LogicalResponse writeResponse = vault.logical()
.write("secret/partner", m);
Ключи, хранящиеся в Vault:
======= Data =======
Key Value
=== ====
contact 889765412
Следовательно, он перезаписывает существующие данные. Кто-нибудь может помочь мне добиться этого с Vault Java Driver.