iam-policy-autopilot
AWS Labs 开源的 IAM 策略自动生成工具,通过静态代码分析提取 SDK 调用并生成最小权限
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AWS Labs 开源的 IAM 策略自动生成工具,通过静态代码分析提取 SDK 调用并生成最小权限
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你在为 AWS 上的应用配置 IAM 角色权限时,是否曾经对着一屏的权限列表发愁——这个 API 要不要给?那条 SDK 调用会不会漏了某个服务的访问权?手工编写 IAM 策略既繁琐又容易出错,最保险的做法是"先给足权限再慢慢删",但这违背了最小权限原则,等于把安全门敞开着。AWS Labs 推出的 IAM Policy Autopilot 正是为解决这个痛点而生:它像一位懂代码的审计员,自动扫描你的应用代码中所有 AWS SDK 调用,从 Python boto3 到 Java SDK,一条不漏地提取出来,生成精确到 Action 级别的 IAM 策略文档。
该项目由 AWS Labs 团队开发和维护,是亚马逊官方在 IAM 策略自动化领域的开源探索。AWS IAM 是云安全的核心——所有 AWS 资源的访问控制都依赖 IAM 策略,一旦权限过宽就存在横向移动风险,过严则应用直接崩溃。在 GitHub 上已有 375 颗星,收到了来自全球开发者的贡献(41 个 Fork,32 个 Open Issues),最近一次提交为 2026 年 6 月 25 日,项目活跃度高,版本已迭代至 0.2.3。主题标签涵盖 aws-iam、mcp-server、policy-generation 等,体现了其在 AWS IAM 生态中的精准定位。
IAM Policy Autopilot 的核心逻辑可以类比为「代码翻译器」:左边输入应用源码(包含 AWS SDK 调用),右边输出符合 AWS 规范的 IAM JSON 策略文档。它不依赖 AI 生成猜测,而是基于静态代码分析——Rust 语言实现的解析器逐行读取代码,精准识别 boto3、AWS SDK for Java、Go SDK 等不同语言/版本的 API 调用,再映射为标准化的 IAM Action 列表。例如,代码中调用了 s3.get_object() 和 dynamodb.put_item,工具会直接生成包含s3:GetObject 和 dynamodb:PutItem 的策略语句,无需人工查表。
该工具提供两种接入模式:MCP Server 和 CLI。MCP(Model Context Protocol)模式专为 AI 编程助手设计——Claude、Cursor 等 AI 编码工具可以通过 MCP 协议直接调用 IAM Policy Autopilot,在代码编写阶段就自动生成权限策略,实现「写代码 -> 即时获取所需权限」的闭环。CLI 模式则适合自动化流水线,在 CI/CD 中集成代码分析步骤,例如在 Pull Request 合入前自动检测新增的 AWS API 调用并更新 IAM 策略。CLI 输出格式支持 JSON,天然适合自动化消费。
支持的编程语言覆盖业界主流:Python(boto3)、Go(AWS SDK for Go v2)、TypeScript/JavaScript(AWS SDK for JavaScript v3)、Java(AWS SDK for Java v2),几乎涵盖了 AWS 上大多数应用的开发语言选择。Rust 语言实现是另一个亮点——Rust 的内存安全特性和高性能静态分析能力,使得该工具在处理大型代码库时依然保持快速,且不会有运行时依赖(最终编译为单一二进制),安装和分发极为轻量。
上手门槛极低:Linux/macOS 用户只需一行命令即可完成安装:curl -sSL https://github.com/awslabs/iam-policy-autopilot/raw/refs/heads/main/install.sh | sh。Python 用户还可通过 pip 直接安装(pip install iam-policy-autopilot)。由于无 Web 界面,所有操作均在终端完成,适合熟悉命令行环境的开发者。部署本身不涉及任何云资源,无需 GPU,没有外部依赖——纯本地工具,分析过程不上传任何代码到外部服务器。
当前版本(0.2.3)仍存在一些局限:策略生成基于静态代码分析,无法捕获运行时动态构造的 API 调用(如通过字符串拼接动态调用 API);对于极复杂的宏和反射机制支持有限;生成的是基准策略(Baseline),仍需人工审核和调优。此外,工具不支持直接部署策略到 AWS 账户,需要手动将输出粘贴至 IAM 控制台或通过 AWS CLI apply——"最后一公里"需要人工介入。
从行业角度看,IAM Policy Autopilot 填补了 DevSecOps 工具链中「代码层 -> 权限层」自动化的空白。随着 AI 编程助手(如 Claude Code、Cursor)的大规模普及,"AI 帮你写代码 -> AI 帮你配权限"的工作流正在成为现实,MCP 协议正是这一趋势的关键基础设施。AWS Labs 将其开源,意味着任何人都可以在自己的 AI 编码工作流中集成这一能力,而不必依赖商业闭源方案。随着 GitHub Issues 的活跃反馈(32 个开放中),该项目仍在快速迭代中,预计未来版本会增加更多语言支持和策略验证功能。