跳到主要内容

基础权限

CloudBase 提供了多层次的存储权限管理机制,确保文件安全的同时满足不同业务场景的权限控制需求。

云存储进行读写时会以 _openid 字段作为文件归属判定依据

权限管理体系

CloudBase 云存储权限管理包含两个层次:

权限类型控制粒度适用场景配置复杂度
基础权限控制集合级别简单的权限需求
安全规则权限文档级别复杂的业务逻辑

基础权限控制

配置方式

云开发平台/云存储/权限设置 页面,为云存储设置对应的权限:

云存储-基础权限配置界面

权限选项

基础权限控制提供四种预设权限类型,根据用户身份和文件特性选择:

1. 所有用户可读,仅创建者及管理员可写(公共读写)

权限说明:

  • 读取:所有人(包括未登录用户)都可以访问文件
  • 🔒 写入:仅文件创建者本人和管理员可以修改/删除

适用场景:

  • 用户头像、用户发布的公开内容
  • 用户评论、论坛帖子
  • 社交分享的图片和视频

使用建议:

  • ✅ 适合内容展示类应用(博客、论坛、社交应用)
  • ✅ 文件可以通过 URL 直接在浏览器/小程序中展示
  • ⚠️ 任何人都可以访问文件,注意不要上传敏感信息

2. 仅创建者及管理员可读写(私有读写)

权限说明:

  • 🔒 读取:仅文件创建者本人和管理员可以访问
  • 🔒 写入:仅文件创建者本人和管理员可以修改/删除

适用场景:

  • 用户个人资料、身份证照片
  • 用户订单文件、支付凭证
  • 私人相册、个人文档

使用建议:

  • ✅ 适合个人信息管理和隐私保护
  • ⚠️ 重要:选择此权限后,文件 URL 不能直接在前端使用
  • ⚠️ 如果在网页/小程序中直接引用图片 URL,会导致图片无法显示(403 权限错误)

3. 所有用户可读,仅管理员可写(公共只读)

权限说明:

  • 读取:所有人(包括未登录用户)都可以访问文件
  • 🔒 写入:仅管理员可以上传/修改/删除文件

适用场景:

  • 商品图片、轮播图、活动海报
  • 静态资源(Logo、图标、背景图)
  • 公告文件、下载资源

使用建议:

  • ✅ 适合只读配置和参考数据
  • ✅ 文件可以通过 URL 直接在浏览器/小程序中展示
  • ✅ 防止普通用户误删或篡改重要文件

4. 仅管理员可读写(完全私有)

权限说明:

  • 🔒 读取:仅管理员可以访问
  • 🔒 写入:仅管理员可以上传/修改/删除

适用场景:

  • 后台日志文件、系统备份
  • 敏感数据导出文件
  • 财务报表、内部文档

使用建议:

  • ✅ 适合需要服务端处理的敏感数据
  • ⚠️ 前端应用完全无法访问这些文件
  • ⚠️ 通过云函数(管理员权限)访问

权限对比速查表

权限类型匿名访问普通用户读创建者读管理员读普通用户写创建者写管理员写直接使用 URL
公共读写✅ 可以
私有读写❌ 需要临时链接
公共只读✅ 可以
完全私有❌ 完全不可

⚠️ 常见问题

问题 1:图片/文件无法在前端显示(403 错误)

原因: 文件设置了私有读权限("仅创建者及管理员可读写" 或 "仅管理员可读写")

解决方案:

  1. 方案 A(推荐):改用公共读权限("所有用户可读,仅创建者及管理员可写")
  2. 方案 B:使用临时访问链接

问题 2:用户无法上传文件

原因: 文件设置了"仅管理员可写"权限

解决方案:

  • 改用 "所有用户可读,仅创建者及管理员可写" 权限
  • 或在云函数中使用管理员权限上传

问题 3:如何切换权限?

步骤:

  1. 登录 云开发平台/云存储/权限设置
  2. 选择新的权限类型
  3. 点击「保存」
  4. ⚠️ 权限修改后立即生效,可能影响现有文件的访问

安全规则权限

安全规则权限是 CloudBase 数据库提供的文档级权限控制能力,相比基础权限控制具有更高的灵活性和精确度。

详情请参考 云存储安全规则