我正在尝试从保险柜中的特定路径检索所有文件夹。为此,我使用了用于Python的hvac Vault API客户端。
我可以使用以下命令轻松地从kv v1秘密引擎中列出文件夹:
import hvac
client = hvac.Client(url=vault_host)
list_folders = client.list('my/path/')
但是,这不适用于kv v2秘密引擎。我试图查找the documentation,但看起来只能检索一个秘密列表。例如,除非将秘密存储在路径中,否则这将行不通:
list_folders = client.secrets.kv.read_secret_version(path='my/path/')
您是否知道如何在kv v2秘密引擎上获取文件夹列表?
非常感谢。
答案 0 :(得分:0)
查阅文档后,看来使用的正确方法是list_secrets
。因此,为了使用特定路径获取文件夹,我使用了以下代码:
list_response = client.secrets.kv.v2.list_secrets(
path='my/path/'
)
list_folders = list_response['data']['keys']
print(list_folders)
这将输出一个列表,其中包含可用文件夹的名称:
['dev/', 'prod/']
此外,如果您使用的是保管箱的开发模式服务器,请当心,因为它默认为secret/
的路径。可以在Vault documentation中找到更多信息。