在 Hashicorp Vault 中,如何防止 "userpass" 用户更改彼此的策略和密码?

In Hashicorp Vault, how can I prevent "userpass" users from changing each others policies and passwords?

创建我的第一个用户后,我发现我可以更改自己的政策:

$ 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" = []
  } 
}

但不幸的是,这取决于 Vault 似乎没有的策略变量的概念(例如 ${user})。我是否必须为每个具有硬编码路径的用户创建单独的策略,或者我是否缺少一些更简单的方法?

您目前使用 Vault 验证的 user/token 是什么?我猜根?所以是的,你将能够做任何事情。您,当然还有您的用户,通常不会拥有 root 权限。

以您创建的用户身份登录,您会发现无法执行您描述的操作。