IAM Helper 上手:装 Skills,MCP 列 12 工具

2026 年 10 月 26 日,Google Cloud 博客推出 IAM Helper:把 Policy Intelligence、Privileged Access Manager(PAM)等能力收成可调用的 Agent Skills,并提供对接 IAM 的 MCP 工具。站内快讯《Google Cloud 发布 IAM Helper》说过它是什么;这篇在本机把 google/skills 里的 4 条 IAM Helper Skill 装上,并对 https://iam.googleapis.com/mcp 做了一次无凭证的 tools/list。带项目凭证的 403 排障、策略模拟与 PAM 提权,本文标「未实测」。
若已读过 MCP 入门 与 Skill 和 MCP 怎么分工,可以直接跟步骤;没有 Google Cloud 项目也能先把 Skill 装进 Agent 目录,把工具名抄进 runbook。
前置条件
- Node.js 18+(本文 20.19.2)、npm、
npx;可选curl查看 MCP 返回。 - 测试日期北京时间 2026-10-27。仓库
google/skills浅克隆后,find skills -name SKILL.md | wc -l得到 175。 - 完成「列 Skill + tools/list」不需要付费 GCP key。带真实项目的 Policy Troubleshooter / Simulator / PAM 调用未实测。
先分清:Skills 管流程,MCP 管原子调用
博客把 IAM Helper 写成面向 Agent 的 IAM 编排层。Skills 用开放 Agent Skills 标准打包端到端工作流(步骤、护栏、多步编排);底下共用 Google 托管的 MCP 工具,去访问 Policy Troubleshooter、Analyzer、Simulator 与 IAM v1/v2 一类端点。层级遍历和策略求值放在云端做,提示词里就少塞整份策略 JSON。
护栏很硬:只读发现可以自动跑;改访问策略要停在 human-in-the-loop,并按可配置风险档确认。流水线里生成最小权限修订、用模拟器对照历史流量之后,还是要交给管理员批准,不能让 Agent 直接 apply。
| 组件 | 干什么 | 本机怎么摸到 |
|---|---|---|
| iam-helper-for-troubleshooting | 遇到 403 / PERMISSION_DENIED:Requester 自助排查,或 Resolver 追 allow 与 v2 deny | npx skills 安装;version 1.0.3 |
| iam-helper-for-policy-management | 编写 IAM v1 allow 与 v2 deny;落地 JSON / YAML / Terraform 前校验,并拦截 allUsers、roles/owner、roles/editor | version 1.0.1 |
| iam-helper-for-policy-simulator | 改策略前用近 90 天访问日志做模拟,避免误伤在跑的工作负载 | version 1.0.2 |
| iam-helper-for-privileged-access-management | 经 PAM 做即时(JIT)提权:申请、审批、到期收回 | version 1.0.1 |
| iam.googleapis.com MCP | 官方文档页给出的角色与 deny 策略工具 | 无凭证 tools/list → 12 个工具名 |
只读发现可以自动跑;改策略必须停住人——博客把这条写成硬分界,别在自定义脚本里拆掉。
博客里的两个日常场景可以直接当成验收剧本:部署撞 403 时,用 troubleshooting Skill 定位缺的 Pub/Sub 权限,再经 PAM 申请一小时临时授权;流水线则先生成最小权限修订,用 simulator 对照近 90 天流量,再交给管理员批准。策略编写同时支持 IAM v1 allow 绑定与 IAM v2 deny 规则,并在落到 JSON、YAML 或 Terraform HCL 前做校验。
第 1 步:列出并安装 4 条 IAM Helper Skill
mkdir iam-helper-demo && cd iam-helper-demo
npx skills add google/skills -l
# 本文:Found 175 skills;列表含 4 条 iam-helper-*
npx skills add google/skills \
--skill iam-helper-for-troubleshooting \
--skill iam-helper-for-policy-management \
--skill iam-helper-for-policy-simulator \
--skill iam-helper-for-privileged-access-management \
-a claude-code -y --copy
npx skills list

google/skills 共 175 条;4 条 IAM Helper 装到 ./.claude/skills/,并写出 skills-lock.json。安装后可用 rg 'version:' .claude/skills/iam-helper-*/SKILL.md 核对 frontmatter:troubleshooting 1.0.3、policy-simulator 1.0.2、另外两条 1.0.1。这些 Skill 跑起来有完整 Agent 权限,上线前先读 SKILL.md 和 references/,看会不会动到生产绑定。
第 2 步:无凭证拉 MCP 工具目录
官方 IAM MCP 文档给出全局端点 https://iam.googleapis.com/mcp,并示范用 curl 发 tools/list。本机不带任何 GCP 密钥执行:
curl -sS 'https://iam.googleapis.com/mcp' \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"method":"tools/list","jsonrpc":"2.0","id":1}'
当天返回 12 个工具名:deny 策略一侧是 list_deny_policies、get_deny_policy、create_deny_policy、update_deny_policy、delete_deny_policy、get_deny_policy_status;自定义角色一侧是 list_roles、get_role、create_role、update_role、delete_role、undelete_role。

tools/list 返回 12 个工具;initialize 得到 serverInfo.name=StatelessServer。带参调用未测。同一次探测里发 initialize(协议尝试 2025-03-26),返回 serverInfo 为 StatelessServer / ESF。工具注解会标 readOnlyHint / destructiveHint:列表与读取偏只读,delete_deny_policy、delete_role 带 destructive 提示。这和博客「改策略要 HITL」一致——别让无审批会话直接打写工具。
未实测(写明原因):未配置 GCP 项目 / ADC / 服务账号,未调用任何带 parent 或 name 的工具;未对真实 403 Error ID 跑 troubleshooting Skill,也未走 PAM 一小时 JIT;未在 Gemini CLI、Claude Code、Cursor 里端到端改生产 IAM 绑定;博客提到的 Policy Troubleshooter / Analyzer / Simulator 等其它托管 MCP 端点,本文只核了对 iam.googleapis.com/mcp 的工具目录。
第 3 步:接到你的编程 Agent
博客写 Skills 可与 Gemini CLI、Gemini Cloud Assist、ADK、Claude Code、Cursor 配合。本机用的是 npx skills … -a claude-code,文件落到 .claude/skills/。其它 Agent 把同一仓库技能装进各自目录即可。MCP 客户端把端点配成 https://iam.googleapis.com/mcp;启用与鉴权步骤以 IAM MCP 文档和 Google Cloud MCP 总览为准。生产上建议:只读工具可以给开发者 Agent;create_* / update_* / delete_* 绑审批人或单独高权限会话。
常见坑
- 把「tools/list 通了」当成「能改 IAM」:工具目录可以匿名拉取,真正调用仍要云端鉴权与足够 IAM 权限。
- 跳过 HITL 直接 apply:模拟器用近 90 天日志,不等于「模拟过就可以免审批」。
- 过宽角色当快捷方式:policy-management Skill 会拦截
allUsers与 owner/editor;别在自定义脚本里把这些又写回去。 - 只装 Skill 不写规则:排障分 Requester / Resolver 两套流程,还要在项目规则里写清谁能批 PAM、生产项目是否允许 Agent 写 deny。
- 和 AWS Toolkit 共用一把「云管理员」身份:两朵云就装两套 Skills/MCP,权限分开。
完成标准
npx skills add google/skills -l能看到约 175 条,且列表含 4 条iam-helper-*。- 4 条出现在
npx skills list,SKILL.md版本号与上表一致(或已更新)。 - 对
iam.googleapis.com/mcp的tools/list返回上述 12 个工具名(以你当天响应为准)。 - 若已配最小权限 ADC:再用 Agent 跑一次只读
list_roles/list_deny_policies(写路径本文未测)。
最后
已经在用编程 Agent 写 Terraform、部署 Google Cloud 的人:先把 4 条 IAM Helper Skill 装进开发机,MCP 先按只读接,把「403 → 排障 → 模拟 → PAM JIT → 人批」写进 runbook。之后对照站内快讯看产品说明,或打开官方 Skills 目录跟版本。