Docs/ 安全/ 团队与 RBAC

团队与 RBAC

通过基于角色的访问控制、项目级权限和完整的操作审计追踪来组织你的团队。

创建团队

团队允许多个用户在同一 sh0 实例上协作。第一个用户(安装期间创建)自动成为拥有完全管理员权限的团队所有者。

  1. 在控制台中导航到 设置 → 团队
  2. 你的默认团队已自动创建。你可以在此处重命名。
  3. 添加团队描述和头像(可选)。
团队设置页面,包含团队名称和描述
Note
在当前版本中,sh0 每个实例支持一个团队。多团队支持(用于管理多个客户的代理机构)计划在未来版本中实现。

邀请成员

管理员可以通过邮箱邀请新成员加入团队。被邀请的用户将收到一封包含账户设置链接的邮件。

  1. 前往 设置 → 团队 → 成员
  2. 点击 邀请成员
  3. 输入邮箱地址并选择角色(管理员、开发者或查看者)。
  4. 点击 发送邀请
邀请成员对话框,包含邮箱字段和角色选择器
Terminal
curl -X POST https://your-server:9000/api/team/invite \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "role": "developer"
  }'

待处理的邀请在成员列表中显示 已邀请 标记。你可以随时重新发送或撤销邀请。

角色类型

sh0 提供三种内置角色,访问级别递增:

角色描述使用场景
管理员对所有资源、设置、团队管理和账单的完全访问权限。CTO、DevOps 负责人、基础设施所有者
开发者可以创建、部署和管理应用。无法访问团队设置或服务器配置。软件工程师、DevOps 团队成员
查看者只读访问。可以查看应用、日志和指标,但不能修改任何内容。利益相关者、QA 团队、审计人员
团队成员列表,显示不同角色的标记

权限矩阵

以下是每个角色权限的完整说明:

操作管理员开发者查看者
查看应用和控制台
查看日志与指标
创建和部署应用
管理环境变量
管理域名与 SSL
访问终端
管理团队成员
服务器设置与节点
账单与许可证

项目级访问

除了全局角色外,你还可以将用户的访问限制在特定项目。当不同团队成员处理不同应用时,这非常有用。

  1. 前往项目的 设置 → 访问 选项卡。
  2. 点击 添加成员 并选择团队成员。
  3. 为此项目选择访问级别(完全访问、仅部署、仅查看)。
项目级访问设置,显示成员权限
Tip
默认情况下,管理员可以访问所有项目。除非你明确限制,否则开发者可以看到所有项目。查看者只能看到被授予访问权限的项目。

审计日志

sh0 记录团队成员执行的每个重要操作。审计日志提供谁在何时做了什么的完整时间线。

跟踪的事件包括:

  • 登录和登出事件
  • 应用创建、部署和删除
  • 环境变量更改
  • 域名添加和移除
  • 团队成员邀请和角色变更
  • 设置修改
  • 数据库操作(备份、恢复、删除)
审计日志,显示团队操作的时间线,包含用户、操作和时间戳
Terminal
curl https://your-server:9000/api/team/audit-log?page=1&per_page=50 \
  -H "Authorization: Bearer YOUR_TOKEN"
Note
审计日志默认保留 90 天。你可以在 设置 → 安全 中配置保留期限。

移除成员

管理员可以从 设置 → 团队 → 成员 中移除团队成员。移除成员会:

  • 立即撤销其所有活跃会话。
  • 移除其对所有项目和资源的访问权限。
  • 不会删除他们创建的任何资源(应用、数据库等)。
  • 在审计日志中保留其操作记录以便追责。
Terminal
curl -X DELETE https://your-server:9000/api/team/members/usr_abc123 \
  -H "Authorization: Bearer YOUR_TOKEN"
Warning
团队所有者不能被移除。要转让所有权,请先从 设置 → 团队 重新分配所有者角色。