注册 Base44 获取积分

安全控制面板

🔐 应用安全:Row-Level Security(RLS)指南

🚀 概览

使用 Row-Level Security(RLS) 规则,控制谁可以访问、读取、写入或删除你应用中某个数据实体(data entity)里的记录。你可以为每个实体单独配置访问权限,确保数据只对授权用户可见。


🧠 什么时候使用这些功能?

🔐 数据安全处理

适用于以下场景:

  • 有敏感或私密数据,不应对所有用户可见
  • 你希望避免通过 API、导出或报表 意外暴露数据
  • 应用包含 用户生成内容,每个用户只能访问自己的数据

示例用例:

  • 一个健身应用,每位用户只能看到自己的训练记录
  • 一个公司仪表盘,员工只能查看自己的绩效指标

👥 用户专属的数据视图

适用于以下场景:

  • 你希望根据用户角色、部门或数据归属 个性化显示应用内容
  • 不同用户或角色应看到 不同的数据子集
  • 构建多租户应用,用户之间 数据应完全隔离

示例用例:

  • 一个 CRM 系统,销售只能看到分配给自己的潜在客户
  • 一个校园应用,老师只能看到自己班级的学生信息
  • 一个管理后台,不同角色(admin、editor、viewer)拥有不同的数据访问权限

🔧 如何访问安全设置

进入 App Security 页面

  • 打开你的应用工作区,进入 “Security” 标签页

App Security

安全控制面板

  • 在安全面板中,你可以看到应用中所有数据实体的列表
  • 每个实体会显示当前安全状态:Public(公开)Restricted(受限)

编辑安全规则

  • 点击某个实体,即可查看或编辑它的安全规则

🛡️ 安全模式

✅ Public Access(无访问限制)

  • 所有用户都可以访问该实体的所有记录

🔒 Restricted Access(受限访问)

  • 只有符合已定义规则的用户才能访问记录

🧩 规则类型

在编辑实体的安全性时,你可以为以下权限配置规则:

App Security Roles

  • Read Access(读取权限)
  • Write/Delete Access(写入/删除权限)

每条规则可以是以下类型之一:

  • No Restrictions(无限制) 所有用户都可以访问记录

  • Creator Only(仅创建者) 用户只能访问自己创建的记录

  • Entity-User Field Comparison(实体字段与用户属性比较) 比较实体中的某个字段(如 ‘Organization’)与用户属性(如用户的 ‘Organization’) 示例:只有部门字段与用户部门相匹配的记录才可访问

  • User Property Check(用户属性检查) 根据用户属性(如角色、邮箱)限制访问 示例:只有角色为 “admin” 的用户才能访问记录


➕ 如何添加或编辑规则

  1. 选择访问类型 切换到 Read AccessWrite/Delete Access 标签页

  2. 添加规则 点击 “Add Rule”,选择规则类型并填写所需字段

  3. 添加多条规则 如果需要,可以添加多条规则 —— 只要有一条规则匹配,用户就可访问(采用 OR 逻辑)

  4. 自定义写入/删除规则 默认情况下,写入/删除权限继承读取权限 点击 “Create Custom Write Rules” 可单独定义写入/删除规则

  5. 删除规则

    • 点击 Remove All Rules 可清除实体的所有安全规则
    • 实体将恢复为公开状态

🧾 自动生成的规则(JSON)

  • 所有安全规则将以只读的 JSON 格式展示,确保透明可见

💡 示例场景

  • Public Entity(公开实体):未设置任何规则,所有用户都可以访问
  • Creator Only(仅创建者访问):添加规则,用户只能查看自己创建的记录
  • 基于部门的访问控制:将记录中的 department 字段与用户的 department 进行匹配
  • 仅管理员访问:角色检查,仅 role = admin 的用户可以访问

📊 可视化摘要

  • 每个实体卡片会显示该实体当前的安全规则摘要
  • 图标和简要说明会展示 读取权限写入/删除权限 的设定

📝 小贴士

  • 必须先 创建数据实体,才能配置其安全规则
  • 所有更改都是 按实体保存
  • 编辑后请务必点击 “Save Security Rules” 保存你的设置