创建第一个用户后,我注意到我可以更改自己的策略:
$ vault write auth/userpass/users/mconigliaro policies=root
Success! Data written to: auth/userpass/users/mconigliaro
更糟糕的是,用户似乎可以更改彼此的密码:
$ vault write auth/userpass/users/mconigliaro2 password=foobar
Success! Data written to: auth/userpass/users/mconigliaro2
查看policy documentation ,我想我应该能够创建一个看起来像这样的策略:
path "auth/userpass/users/${user}" {
capabilities = ["update"]
allowed_parameters = {
"password" = []
}
}
但不幸的是,这取决于保险柜似乎没有的策略变量的概念(例如 ${user}
)。我是否必须使用硬编码路径为每个用户创建单独的策略,或者是否有一些我缺少的更简单的方法?
最佳答案
您当前使用 Vault 进行身份验证的用户/ token 是什么?我猜是根?所以是的,你将能够做任何事情。您,当然还有您的用户,通常不会拥有 root 权限。
以您创建的用户之一身份登录,您会发现无法执行您所描述的操作。
关于hashicorp-vault - 在 Hashicorp Vault 中,如何防止 "userpass"用户更改彼此的策略和密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49458437/