跳到主要内容

重新加载权限配置接口

接口说明

  • 路径: GET /auth/reload
  • 功能: 重新加载 auth.yml 权限配置文件
  • 用途: 修改权限配置后无需重启服务即可生效

使用示例

# 重新加载权限配置
curl http://127.0.0.1:711/auth/reload

使用场景

  • 修改了 auth.yml 文件中的权限配置
  • 添加或删除了用户权限
  • 修改了连接授权规则
  • 更新了角色权限设置

操作步骤

  1. 修改配置: 编辑 auth.yml 配置文件
  2. 执行重载: 调用 /auth/reload 接口
  3. 验证生效: 新的权限配置立即生效

权限配置文件

auth.yml 结构

权限配置存储在 auth.yml 文件中,主要包含以下配置:

# 用户权限配置
users:
- username: admin
password: admin123
roles: [admin]

- username: user1
password: user123
roles: [user]

# 角色权限配置
roles:
admin:
permissions:
- "topic:read"
- "topic:write"
- "admin:*"

user:
permissions:
- "topic:read"

# 连接授权规则
connection_rules:
- pattern: "admin.*"
required_roles: [admin]

- pattern: "user.*"
required_roles: [user]

配置示例

# 添加新用户
users:
- username: newuser
password: newpass123
roles: [operator]

# 添加新角色
roles:
operator:
permissions:
- "topic:read"
- "topic:write"
- "monitor:*"

应用场景

  1. 用户管理: 添加或删除系统用户
  2. 权限调整: 修改用户或角色的权限设置
  3. 安全策略: 更新连接授权规则
  4. 临时权限: 为特定操作临时调整权限

权限类型

主题权限

  • topic:read: 读取主题消息权限
  • topic:write: 发布主题消息权限
  • topic:subscribe: 订阅主题权限

管理权限

  • admin:*: 所有管理权限
  • admin:config: 配置管理权限
  • admin:monitor: 监控管理权限

系统权限

  • system:*: 系统级权限
  • system:shutdown: 系统关闭权限
  • system:restart: 系统重启权限

注意事项

安全提醒
  • 权限配置重载会立即生效,请谨慎操作
  • 建议在非业务高峰期执行重载操作
  • 重载前请备份当前的权限配置
  • 确保不会意外撤销重要权限

错误处理

如果重载过程中出现错误:

  1. 配置检查: 验证 auth.yml 文件格式是否正确
  2. 权限验证: 确保配置的权限和角色有效
  3. 日志查看: 检查服务日志中的错误信息
  4. 配置恢复: 如有必要,恢复之前的配置文件

安全建议

  1. 定期审核: 定期审核用户权限配置
  2. 最小权限: 遵循最小权限原则
  3. 密码策略: 使用强密码策略
  4. 访问日志: 记录权限相关的访问日志