跳转到主要内容
hs-sql-agent
2.0.2
文档 2.0.2
文档 管理

成员与角色

管理 hs-sql-agent 2.0.2 的管理用户、会话、角色分配和角色生命周期。

成员 创建管理用户、启用或停用账号,并查看已分配角色和活跃会话。
角色 把允许的 permission/action 组合成可复用的授权角色。
会话失效 涉及安全的成员或角色变更会让相关运行时授权状态失效。

管理成员是控制平面的身份,与用于验证 /mcp 客户端的 MCP 密钥彼此独立。

成员生命周期

01 创建成员
02 分配角色
03 使用管理界面
04 调整访问权限
05 必要时撤销会话

新成员必须使用有效邮箱和至少 8 个字符的密码。用户名可选,最长 100 个字符。创建时可以显式指定角色 ID,也可以请求分配全部角色。

成员列表支持按搜索词、启用状态和角色过滤,并支持分页。2.0.2 的成员视图会显示账号状态、创建/最后登录时间、活跃会话数以及当前角色 ID/名称。

成员管理操作

操作权限重要保护规则
创建成员/auth/usercreate校验邮箱和密码
列表/搜索成员/auth/userview支持状态/角色/搜索过滤
替换成员角色/auth/useredit不能修改自己的角色
启用/停用账号/auth/useredit不能停用自己
撤销成员全部会话/auth/useredit立即让该成员会话失效
要求修改密码/auth/useredit下次登录时强制执行
删除成员/auth/userdelete不能删除自己

角色

角色包含唯一名称、可选说明,以及一组 permission/action 选择。角色分配是多对多关系:一个成员可以拥有多个角色,一个角色也可以分配给多个成员。

内置 SuperUser 角色受到保护,不能修改或删除,新建或重命名角色也不能使用这一受保护身份。

修改角色会影响当前授权状态

角色权限集合发生变化时,2.0.2 会找到所有使用该角色的成员,递增他们的 security version,并通过 auth runtime-state cache barrier 执行变更。这用于防止已经登录的会话在角色定义变化后长期保留旧授权。

删除已分配给成员的角色时也遵循同一原则。

删除角色前先检查依赖

角色 dependency 端点会返回:

  • 角色包含的 permission/action 条目
  • 当前被分配该角色的成员

默认情况下,只要仍有成员使用该角色,删除就会被拒绝。虽然存在显式的 force=true 路径,但管理员应先查看依赖,因为受影响成员会失去该角色,其 security state 也会失效。

密码与会话处理

成员管理可以要求账号下次登录时修改密码,也可以撤销目标成员的全部会话。用户还可以通过 Auth API 管理自己的会话。

角色背后的授权模型见 权限