Python3 使用具有 "approle" 身份验证的 HVAC 从 Hashivault 提取机密

Python3 using HVAC with "approle" authentication to pull secret from Hashivault

需要一些帮助!!!

我有使用管理令牌从 Hashi 提取秘密的工作代码,但是...我需要将其切换为使用“approle”类型的身份验证并且不了解身份验证的差异。

我原来的代码是这样使用的:

def vault(KEY):
    VAULT_SERVER = "https://myserver.nowhere.com:8243"
    TOKEN = "s.xxxxxxxxxxxxxxxxxxxxxxxx"
    PATH = "/secret/vault/200245/mbop200245/nonprod/testautomation/dev"
    CLIENT = hvac.Client(url=VAULT_SERVER, token=TOKEN)
    VAULT = CLIENT.read(path=PATH)
    SECRETS = VAULT['data']
    ID_PASSWORD = SECRETS[KEY]
    return ID_PASSWORD

有人有任何将 hvac 与“approle”一起使用的代码示例吗?我知道如何在 API 中执行此操作(使用 Insomnia),但正在努力解决 hvac 的期望...以及在哪里...

谢谢!!!

你试过文档了吗? Approle 有一整节:https://hvac.readthedocs.io/en/stable/usage/auth_methods/approle.html

特别是,有这个验证片段:

import hvac
client = hvac.Client()


client.auth.approle.login(
    role_id='<some_role_id>',
    secret_id='<some_secret_id>',
)