重新加载权限配置接口
接口说明
- 路径:
GET /auth/reload
- 功能: 重新加载
auth.yml
权限配置文件 - 用途: 修改权限配置后无需重启服务即可生效
使用示例
# 重新加载权限配置
curl http://127.0.0.1:711/auth/reload
使用场景
- 修改了
auth.yml
文件中的权限配置 - 添加或删除了用户权限
- 修改了连接授权规则
- 更新了角色权限设置
操作步骤
- 修改配置: 编辑
auth.yml
配置文件 - 执行重载: 调用
/auth/reload
接口 - 验证生效: 新的权限配置立即生效
权限配置文件
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:*"
应用场景
- 用户管理: 添加或删除系统用户
- 权限调整: 修改用户或角色的权限设置
- 安全策略: 更新连接授权规则
- 临时权限: 为特定操作临时调整权限
权限类型
主题权限
topic:read
: 读取主题消息权限topic:write
: 发布主题消息权限topic:subscribe
: 订阅主题权限
管理权限
admin:*
: 所有管理权限admin:config
: 配置管理权限admin:monitor
: 监控管理权限
系统权限
system:*
: 系统级权限system:shutdown
: 系统关闭权限system:restart
: 系统重启权限
注意事项
安全提醒
- 权限配置重载会立即生效,请谨慎操作
- 建议在非业务高峰期执行重载操作
- 重载前请备份当前的权限配置
- 确保不会意外撤销重要权限
错误处理
如果重载过程中出现错误:
- 配置检查: 验证
auth.yml
文件格式是否正确 - 权限验证: 确保配置的权限和角色有效
- 日志查看: 检查服务日志中的错误信息
- 配置恢复: 如有必要,恢复之前的配置文件
安全建议
- 定期审核: 定期审核用户权限配置
- 最小权限: 遵循最小权限原则
- 密码策略: 使用强密码策略
- 访问日志: 记录权限相关的访问日志