在这种情况下:我创建了一个用户
vault write auth/userpass/users/'username' password='password' policies=default
具有默认策略和添加的路径
"secret/db_pass/*" {
capabilities = ["create","read","delete","update","list"]
}
默认政策中。但是,当我尝试访问secret/
时,尽管我已在策略文件中添加了权限,但我遇到错误 'You don't have access to secret/,
。
我做错什么了吗?可以请一些温柔的灵魂帮忙吗?让我知道是否需要其他信息。
答案 0 :(得分:1)
不确定,但似乎政策结构已更改。为了访问“ secret / db_pass / ”,您应该具有访问secret /本身的权限。因此,我要通过2条政策来实现这一目标。一个可以访问secret /,另一个可以访问secret / db_pass / 。
path "secret/" {
capabilities = ["list"]
}
path "secret/db_pass/*"
{ capabilities = ["create","read","delete","update","list"]
}
答案 1 :(得分:0)
在KV v2中,您需要在第二个策略的data/
之后添加secret/
。
在第一个策略中,您还需要在*
之后添加secret/
。
所以Ashit的解决方案是:
path "secret/*" {
capabilities = ["list"]
}
path "secret/data/db_pass/*"
{
capabilities = ["create","read","delete","update","list"]
}