3.7 渠道权限管理:谁可以跟我说话
通过本文你将全面了解渠道权限管理:谁可以跟我说话的核心概念、实际应用方法和最佳实践。
概述
一、权限管理的意义
AI 助手配置好后,权限管理非常重要:
- 防止陌生人滥用 AI
- 控制不同用户能看到什么
- 保护敏感数据
二、权限控制的三个层级
第一层:渠道级(dmPolicy)
↓ 谁可以给我发消息第二层:功能级(capabilities)
↓ 我能执行哪些功能
第三层:数据级(dataFilter)
↓ 我能访问哪些数据
三、第一层:渠道级权限(dmPolicy)
控制谁能向 AI 发消息:
| 模式 | 配置值 | 说明 |
|---|---|---|
| 白名单 | allowlist | 只有名单里的人能发消息 |
| 开放 | open | 任何人都能发消息 |
| 禁止 | deny | 禁止所有人发消息(仅群聊) |
白名单配置示例
"dmPolicy": "allowlist",
"allowFrom": [
"ou_罗文飞书Id",
"ou_陈心怡飞书Id",
"ding_钉钉UserId1"
]
四、第二层:功能级权限(capabilities)
控制 AI 能做什么功能:
"capabilities": {
"canGenerateImage": true,
"canSearchWeb": true,
"canReadFile": true,
"canWriteFile": false,
"canSendEmail": true
}
| 功能 | 配置项 | 说明 |
|---|---|---|
| 生成图片 | canGenerateImage | 图片生成 |
| 网络搜索 | canSearchWeb | 搜索功能 |
| 读文件 | canReadFile | 读取本地文件 |
| 写文件 | canWriteFile | 创建/修改文件 |
| 发邮件 | canSendEmail | 发送邮件 |
五、第三层:数据级权限(dataFilter)
控制 AI 能访问哪些数据:
"dataFilter": {
"allowedDomains": ["company.com"],
"blockedKeywords": ["机密", "密码"],
"maxFileSize": "10MB"
}
| 配置项 | 说明 |
|---|---|
allowedDomains | 允许访问的域名 |
blockedKeywords | 敏感词过滤 |
maxFileSize | 允许处理的最大文件 |
六、用户分级权限
可以给不同用户设置不同权限级别:
"userRoles": {
"admin": {
"dmPolicy": "open",
"capabilities": {
"canGenerateImage": true,
"canSearchWeb": true,
"canWriteFile": true,
"canSendEmail": true
}
},
"staff": {
"dmPolicy": "allowlist",
"capabilities": {
"canGenerateImage": true,
"canSearchWeb": true,
"canWriteFile": false,
"canSendEmail": false
}
},
"guest": {
"dmPolicy": "allowlist",
"capabilities": {
"canSearchWeb": true,
"canGenerateImage": false,
"canWriteFile": false,
"canSendEmail": false
}
}
}
| 角色 | dmPolicy | 能做什么 |
|---|---|---|
| admin | open | 全部功能 |
| staff | allowlist | 基础功能 |
| guest | allowlist | 仅搜索和对话 |
七、按用户分配角色
"channels": {
"feishu": {
"allowFrom": [
{
"id": "ou_罗文Id",
"role": "admin"
},
{
"id": "ou_员工Id",
"role": "staff"
},
{
"id": "ou_访客Id",
"role": "guest"
}
]
}
}
八、敏感操作二次确认
对于高风险操作(如发邮件、删除文件),可以设置二次确认:
"security": {
"requireConfirmation": {
"canWriteFile": true,
"canSendEmail": true,
"canDeleteFile": true
},
"confirmationMessage": "确定要执行这个操作吗?回复「是」确认。"
}
九、审计日志
记录所有操作日志,方便排查问题:
"auditLog": {
"enabled": true,
"logPath": "/var/log/openclaw/audit.log",
"logLevel": "info",
"includeUserId": true,
"includeMessage": true,
"includeAction": true,
"logRetention": "30d"
}
| 配置项 | 说明 |
|---|---|
logPath | 日志文件路径 |
logLevel | 日志级别(debug/info/warn/error) |
logRetention | 日志保留时间 |
十、常见问题
Q: 员工权限设置后 AI 还是能做所有事?
A:
答:检查 capabilities 配置,确保功能被正确限制。
Q: 如何快速撤销某个用户的权限?
A:
答:从 allowFrom 列表中移除该用户 ID 即可。
Q: 能否设置临时权限?
A:
答:可以添加过期时间:
{
"id": "临时用户Id",
"role": "guest",
"expiresAt": "2026-03-31T00:00:00+08:00"
}
Q: 用户 ID 怎么获取?
A: 查看 Gateway 日志中的 allowFrom 配置,用户发送消息后会记录其 open_id。
Q: 可以按时间段控制白名单吗?
A: 需要自定义 Plugin 实现,OpenClaw 本身不提供时间段权限控制。
Q: 如何导出用户列表?
A: 目前需要手动记录,后续版本会支持导出功能。
十一,下一步学什么
- 3.8 常见渠道问题排查 → 问题排查清单
- 第六章:进阶功能 → 了解更多安全和管理功能
- 第四章:模型配置 → 精细化配置模型
权限管理是系统安全的核心,值得认真配置!