Files
z-docs/docs/admin-apis/auth-reload-api.md

2.9 KiB

sidebar_position, title, description
sidebar_position title description
4 重新加载权限配置接口 ZHub 权限配置重新加载接口

重新加载权限配置接口

接口说明

  • 路径: 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: 系统重启权限

注意事项

:::warning 安全提醒

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

错误处理

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

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

安全建议

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