Я использую сервер хранилища hashicorp, который отлично работает для предоставления секретов и другой конфиденциальной информации серверам приложений.
Секреты хранятся как объекты json в секретах, и приложение извлекает и анализирует их как объекты json
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу обновить одно значение в файле секретов.Может кто-нибудь сказать мне, как обновить одно значение в файле секретов формата json?
Ниже приведен пример файла секретов, который у нас есть
{
"data": {
"cloud.aws.credentials.accessKey": "AWS_KEY",
"cloud.aws.credentials.secretKey": "akjdfhadsFADSFadsfadksbfadsfADSF123123",
"cloud.aws.region.static": "AWS_REGION",
"app.base.url": "http://app.env.abc:8080",
"app.password": "ThisIsASamplePassword",
"app.base.url": "http://localhost:7070/applicationname",
"app.user.name": "this.is.a.sample"
}
}
мы используем довольно много ключей доступа AWSи наша политика безопасности заключается в смене ключа каждые 60 дней.
До хранилища мы вращались, используя скрипт bash и команды aws cli, но я не могу найти способ сделать это в хранилище
Чтобы получить значение с помощью команды vault kv get
, я получаю
====== Metadata ======
Key Value
--- -----
created_time 2019-05-08T08:29:59.3579731Z
deletion_time n/a
destroyed false
version 2
==== Data ====
Key Value
--- -----
data map[cloud.aws.credentials.accessKey:AWS_KEY cloud.aws.credentials.secretKey:akjdfhadsFADSFadsfadksbfadsfADSF123123 cloud.aws.region.static:AWS_REGION app.base.url:http://localhost:7070/applicationname app.password:ThisIsASamplePassword app.user.name:this.is.a.sample]
Я пробовал команду patch
, но она только перезаписывает все значение или создает новый ключ / значение.
Key Value
--- -----
created_time 2019-05-08T08:33:57.5164447Z
deletion_time n/a
destroyed false
version 3
[ansible@ntt00app32 tmp]$ vault kv get secret/cms-service,devint
====== Metadata ======
Key Value
--- -----
created_time 2019-05-08T08:33:57.5164447Z
deletion_time n/a
destroyed false
version 3
================= Data =================
Key Value
--- -----
cloud.aws.credentials.accessKey TEST_KEY
data map[cloud.aws.region.static:AWS_REGION app.base.url:http://localhost:7070/applicationname app.password:ThisIsASamplePassword app.user.name:this.is.a.sample cloud.aws.credentials.accessKey:AWS_KEY cloud.aws.credentials.secretKey:akjdfhadsFADSFadsfadksbfadsfADSF123123]```
any help in doing this will be much appreciated.