Как выполнить операцию обновления для указанных c ключей через драйвер java, например, vault kv patch в CLI хранилища? - PullRequest
0 голосов
/ 19 марта 2020

Всякий раз, когда я пытаюсь обновить указанные 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.

...