Python Hashicorp Vault 库“hvac”创建新的秘密版本,但删除了先前版本中的密钥

问题描述 投票:0回答:1

我正在使用 Python 库“hvac”访问 Hashicorp Vault 并创建/更新现有密钥。

在 Hashicorp Vault 中,我列出了最新版本的 2 个键/值对。例如,

k1=111

k2=222

运行下面的 Python 代码后,会在 Vault UI 中使用新的“k1”键值创建一个新的“version”,但是我丢失了“k2”键和值

import hvac

client = hvac.Client(url='http://localhost:8200', token='hvs.xxxxxxxxxx')
client.secrets.kv.v2.create_or_update_secret(path='foo',secret=dict(k1='test123'))

有人知道我做错了什么吗?我正在尝试从 Vault UI 但在 python 中执行相当于“创建新版本”的操作。

感谢您的帮助!

python python-3.x hashicorp-vault vault
1个回答
0
投票

对于针对 Vault API KV 版本 2 密钥引擎的创建或更新操作,您必须在参数中指定所有键值对,因为任何未指定的对都不会被视为有效负载的一部分:

client.secrets.kv.v2.create_or_update_secret(path='foo',secret=dict(k1='test123', k2='222')

或者可以使用 Patch 操作来保留任何未指定的键值对:

client.secrets.kv.v2.patch(path='foo',secret=dict(k1='test123'))

© www.soinside.com 2019 - 2024. All rights reserved.