You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置策略允许Userpass认证用户修改自身密码

Vault用户无法修改自身密码的问题修复

你的策略存在两处关键问题,导致用户无法修改自己的密码,以下是修复方案:

问题分析

  1. 认证路径不匹配:你写的auth/example-user-secret/users/{{identity.entity.name}}路径,大概率不符合实际使用的认证引擎标准路径格式。比如常用的userpass认证引擎,用户密码修改的路径是auth/userpass/users/<用户名>,如果你的认证挂载点不是userpass,需要先确认挂载点名称。
  2. 身份变量可能不匹配:{{identity.entity.name}}是实体名称,若未配置实体别名和用户名的映射,这个值可能和用户登录的用户名不一致,导致路径匹配失败。

修正后的策略示例

假设你使用的是userpass认证引擎,且用户实体名称和用户名一致,修正后的策略如下:

path "example-user-secret/*" {
  capabilities = ["list"]
}

path "auth/userpass/users/{{identity.entity.name}}" {
  capabilities = ["update"]
  allowed_parameters = {
    "password" = []
  }
}

额外注意事项

  • 若你的认证挂载点是example-user-secret(比如通过vault auth enable -path=example-user-secret userpass启用),将上述策略中的userpass替换为example-user-secret即可。
  • 若identity.entity.name和用户名不一致,需要改用实体别名的用户名变量:先通过vault auth list -format=json获取认证挂载点的accessor值,然后将路径改为auth/example-user-secret/users/{{identity.entity.aliases.<accessor值>.name}}。
  • 策略修改后,执行vault policy write <你的用户策略名> <策略文件路径>重新加载策略,让用户重新登录后尝试修改密码。

内容的提问来源于stack exchange,提问作者Henri Nzatse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 12:50:04