02
权限范围与最小授权
Team API Key 的优势是脱离员工个人账号,缺点是它不能限制到单个 App。即使创建时只授予 Developer 或其他较低角色,Team API Key 仍然覆盖团队全部应用;角色控制的是可执行操作,不是应用范围。Apple 官方文档对此有明确说明。
Individual API Key 则继承关联用户的角色和 App 访问范围。Apple 允许部分用户角色限制到指定 App,但这种限制不能简单推广到所有资源;例如拥有 Admin、Finance,或获得 Certificates、Identifiers & Profiles 相关访问的用户,其 App 访问可能无法按单个应用收窄。Apple 的 App 访问控制说明给出了具体边界。
企业审批时,建议用下面的条件分支,而不是用“团队密钥更安全”或“个人密钥更精细”这种笼统结论:
- 若任务需要 Provisioning、证书管理或跨多个应用运行,选择 Team API Key,并把角色降到任务真正需要的最低级别。
- 若任务只读取或维护某位用户负责的有限 App,且不涉及受限端点,可以选择 Individual API Key,但必须登记所有者和业务用途。
- 若工具同时需要 App Store Connect API 与 Apple Account 登录,先拆分动作;API Key 不能自动覆盖所有 Apple 服务。
- 若无法确认 Action 的端点和密钥支持状态,先停留在人工审批或隔离测试流水线,不要直接把凭证放入生产节点。
这里的关键风险是:不能通过密钥命名、CI 变量分组或项目目录名称,制造出服务端不存在的“单应用隔离”。Team API Key 一旦泄露,影响面可能覆盖团队内全部 App;这与把 PROD_APP_A_KEY 和 PROD_APP_B_KEY 写成两个变量没有关系。