用户角色与权限

主要角色

角色权限范围典型成员
Account Holder(账户持有人)唯一持有人:签协议、管理银行/税务、添加成员创始人/负责人
Admin(管理员)除签协议外几乎全部权限(含管理成员)技术负责人
App Manager(应用管理者)管理指定 App 的版本、IAP、TestFlight产品经理
Developer(开发者)上传构建、管理 TestFlight、查看技术数据iOS 工程师
Marketing(营销)访问 App Analytics、销售数据,不能改版本运营/市场
Finance(财务)访问财务/付款报告财务人员
Cloud Managed DistributionXcode 自动签名使用的分发证书访问权CI/自动签名

邀请成员

  1. 前往 Users and Access → “+” → 邀请新用户。
  2. 填写邮箱、姓名。
  3. 选择角色,并设置 App 范围(全部 App / 指定 App)。
  4. 可单独开关:财务权限、云签名权限、API 密钥权限。
  5. 成员收到邮件后接受邀请即生效。

沙盒账号

在「Users and Access → Sandbox」中可创建沙盒测试账号,用于测试内购/订阅。要点:

  • 沙盒账号是独立的测试身份,不影响真实 Apple ID。
  • 测试 IAP 时,先在设备设置中退出真实账号,再用沙盒账号登录 App Store。
  • 沙盒账号数量有限,注意管理;测试完成可删除重建。

最佳实践

  1. 协议、税务、银行只给 Account Holder / Admin,避免泄露敏感信息。
  2. 上传构建的机器账号单独授权,用 CI 专用账号而不是个人账号,减少敏感邮箱暴露。
  3. 定期回收离职成员权限,并开启双重认证(2FA)作为强制项。
  4. 使用 API 密钥(App Store Connect API) 代替共享密码:为 CI/脚本创建独立 Key,可随时吊销。
  5. 关键操作留痕:成员管理、协议变更等高危操作保持审计意识。

自检清单

  • 已按「最小权限」为每个成员分配角色
  • 财务、税务、银行权限仅限必要人员
  • CI 使用专用账号/API 密钥而非个人账号
  • 已开启双重认证
  • 已制定离职成员权限回收流程

常见问题

  • 账号被锁/权限不足? 找 Admin 检查角色;个别操作(如签协议)只有 Account Holder 能做。
  • 成员收不到邀请? 检查邮箱、垃圾箱;确认邮箱未被其他开发者账号占用。
  • 可以把 Account Holder 换成别人吗? 可以,但需 Account Holder 本人操作,且涉及协议、税务的转移,务必谨慎。