服务商

App Store Connect · Team API Key

Agent 怎样通过 KeyKeeper 拿到 App Store Connect · Team API Key 的 key,在 appstoreconnect.apple.com 该选什么,KeyKeeper 怎么验证。

模板 idapp-store-connect(别名 asc、appstoreconnect、apple-api)
字段private-key → PRIVATE_KEY · 凭据文件
还有key-id → KEY_ID · 明文,需你确认
还有issuer-id → ISSUER_ID · 明文,需你确认
key 长什么样创建时只显示一次
创建页面appstoreconnect.apple.com
KeyKeeper 的验证不验证
模板核实日期2026-09-15

Agent 做什么

keykeeper providers show app-store-connect
keykeeper save --provider app-store-connect --from-file /路径/private-key.p8 --create --purpose "这个任务是做什么的"
keykeeper run -c app-store-connect -- <你的命令>

--provider app-store-connect 会补上凭据 ID 和字段名。这些环境变量就是 App Store Connect 自家工具读的那个,不需要任何映射。

只有你能做的

Sign in to App Store Connect
An Account Holder or Admin chooses Team Keys and creates the key
Choose the least privileged role the task needs
Download the .p8 file immediately; it is shown once
复制 key,然后在 KeyKeeper 的窗口里确认保存。

该选什么

Prefer a team key with the narrowest App Store Connect role that can perform the task. Use an individual key only for app and user endpoints; Apple does not allow individual keys for notarytool.

Agent 被告知的是同一件事。它替你打开页面、说明该选什么;它从不替你登录、过 2FA 或付费。

KeyKeeper 检查什么

  • 写入前: 值必须像一把 App Store Connect · Team API Key 的 key(没有形状规则)。贴错了会在存入之前被拒绝,并告诉 Agent 原因——不含值。
  • 保存后: App Store Connect · Team API Key 没有 KeyKeeper 可用的只读接口,第一次真实调用就是测试。

轮换与过期

Keys do not expire automatically; revoke them on the Integrations page. 在 appstoreconnect.apple.com 轮换或撤销。