ops-sso
SKILL.md
ops-sso
多云 SSO 工作流。默认路径是:确认账号存在 -> ensure -> 用返回的 profileName 执行云 CLI。
何时使用
- 用户提到
ops-sso、~/.ops-sso、SSO 登录、凭证刷新、云账号切换。 - 用户要在某个 AWS / 阿里云 / 腾讯云账号下执行 CLI 命令。
- 用户要在两个或多个账号之间搬迁、复制、对比、同步资源。
- 用户需要
login、refresh、ensure、list、status、switch、creds、setup。
前置条件
- 默认假设
ops-ssoCLI 已安装。 - 需要对应云 CLI:
aws、aliyun、tccli。 - 用户需要企业 SSO 权限,并能完成浏览器、device code 或 MFA 授权。
- 若当前任务是安装或初始化,先阅读 quickstart.md。
默认执行流程
- 账号类操作要求用户明确给出目标
accountName。不要自行推断或替换。 - 先确认账号存在:
ops-sso list --json
- 确保目标账号凭证有效:
ops-sso ensure <accountName> --json
- 若
ensure失败,先补救,再重试:
ops-sso refresh <portalId>
ops-sso login -p <portalId>
ops-sso ensure <accountName> --json
-
触发登录后,必须明确提示用户:
- 浏览器可能自动打开
- 若未自动打开,按终端里的 URL 或 device code 完成授权
- 若需要 MFA,等待用户完成后再继续
-
拿到
profileName后直接执行云 CLI,不依赖环境变量:
aws <cmd> --profile <profileName>
aliyun <cmd> --profile <profileName>
tccli <cmd> --profile <profileName>
- 若任务同时涉及多个账号,不要来回
switch。分别对每个账号执行ensure,保存各自的profileName,后续命令显式使用对应 profile:
ops-sso ensure <sourceAccount> --json
ops-sso ensure <targetAccount> --json
aws <source-read-cmd> --profile <sourceProfileName>
aws <target-write-cmd> --profile <targetProfileName>
场景分流
- 首次设置:
ops-sso creds set->ops-sso login - 仅查看账号或状态:
ops-sso list、ops-sso status - 手动刷新 token:
ops-sso refresh [portalId] - 仅为 shell 导出环境变量:
ops-sso switch <account> [--role <role>]
强约束
- Agent 默认用
ensure + --profile,不要把switch当成默认路径。 switch只用于用户明确要求修改当前 shell 环境。- 多账号任务默认同时保留多个
profileName,不要靠反复切换 shell 环境串行执行。 - 若登录或刷新失败,必须把错误返回给用户,不得静默切到其他账号。
- 每次跨账号执行写操作前,都要重新确认目标账号。
- 当用户已明确目标账号且需要执行操作时,Agent 应主动触发登录或刷新,不要只给命令让用户自己跑。
额外资料
- quickstart.md:Git 安装、首次登录、日常使用
- reference.md:portal 配置来源、本地存储、维护入口
- examples.md:常见提示词与推荐处理方式