网关权限控制
「网关权限」是云开发资源访问控制的第一道防线。当携带 云开发用户身份 的请求通过 HTTP API 域名、HTTP 访问服务域名 或 云托管域名 访问云开发资源(云函数、云托管、云存储、AI 能力等)时,请求首先到达网关层,由网关根据配置的策略决定:
- 放行(allow):请求通过网关,进入资源层继续鉴权
- 拒绝(deny):请求被网关拦截,不会到达资源层
鉴权顺序
网关鉴权 早于 资源鉴权。查看资源权限文档
以云函数为例:
| 网关策略 | 执行情况 | 结果 |
|---|---|---|
| 未放行 | 网关直接拒绝(403/无权限) | 函数不会被执行 |
| 已放行 | 请求到达云函数 | 继续资源层/业务层鉴权 |
提示
网关权限只控制"能否访问",不控制"能做什么"。细粒度的数据权限应在资源层(如数据库安全规则)或业务层实现。
默认策略
平台默认为每个角色关联了一定的预设策略,使不同的角色通过不同的链路访问时默认拥有不同的访问权限。具体如下:
- HTTP API
- HTTP 访问服务
| 资源类型 | 资源标识 | 管理员 | 组织成员 | 注册用户 | 匿名用户 |
|---|---|---|---|---|---|
| 云存储 API | storages | ✅ | ❌ | ❌ | ❌ |
| 云函数 API | functions | ✅ | ❌ | ❌ | ❌ |
| 云托管 API | cloudrun | ✅ | ❌ | ❌ | ❌ |
| 知识库 API | knowledge | ✅ | ❌ | ❌ | ❌ |
| 大模型接入 API | ai | ✅ | ✅ | ✅ | ❌ |
| AI 智能体 API | aibot | ✅ | ✅ | ✅ | ✅ |
| 数据模型 API | model | ✅ | ✅ | ✅ | ✅ |
| MySQL API | rdb | ✅ | ✅ | ✅ | ✅ |
提示
- ✅ 表示该角色具备该功能的默认权限,❌ 表示该角色不具备该功能的默认权限,如需调整权限,请参考下文中的方法为对应角色关联策略。
- 数据模型 API 可参考 数据权限管理 进行权限控制,MySQL API 可参考 MySQL 权限管理 进行权限控制,
- 平台默认策略可能会根据实际情况进行调整。
匿名用户权限生效前提
匿名用户的网关权限要实际生效,请先确认环境已开启「匿名登录」方式,否则客户端无法获取匿名身份,相应权限也不会触发。开启方式参见 匿名登录。