我们正在使用HashiCorp的Python SDK访问保险柜。并且有一个简单的代码来更新令牌,该令牌在后台调用/v1/auth/token/renew-self
Vault API。
client = hvac.Client(
url=credentials['vault_addr'],
token = credentials['vault_token'],
verify=False)
try:
client.renew_token()
except Exception as e:
raise ValueError('Could not renew Vault token')
拨打电话时,我从保管库后端收到此错误
续订失败:政策已更改,未续订
在Vault代码中进行了一些挖掘,我发现这是异常的原因
if !policyutil.EquivalentPolicies(cert.Policies, req.Auth.Policies) {
return nil, fmt.Errorf("policies have changed, not renewing")
}
有什么想法吗?
答案 0 :(得分:0)
与该令牌相关联的策略似乎已更改,因此无法更新,因为它已与先前已弃用的策略相关联。
您应该创建一个新文件,而不是对其进行更新。
答案 1 :(得分:0)
这是一个错误,它将在0.10.4中修复:https://github.com/hashicorp/vault/issues/4829。