保险柜-如何使用HVAC从kv v2秘密引擎上的特定路径列出文件夹?

时间:2019-09-17 12:22:19

标签: python hashicorp-vault

我正在尝试从保险柜中的特定路径检索所有文件夹。为此,我使用了用于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秘密引擎上获取文件夹列表?

非常感谢。

1 个答案:

答案 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中找到更多信息。