iam-policy-autopilot:用 AI 自动生成 AWS IAM 策略
今天介绍的 iam-policy-autopilot 来自 AWS Labs,是一个用 Rust 编写的开源工具。它能自动分析你的代码库,生成符合最小权限原则的 AWS IAM 策略。
核心功能
这个工具的定位很清晰:把 IAM 策略的编写从人工猜测变成自动推导。
传统做法里,开发者往往需要:
- 阅读 AWS 文档,了解每个 API 需要的权限
- 在控制台反复试错,调试策略
- 最终得到一个过于宽松的策略(因为懒得精细调整)
iam-policy-autopilot 改变了这个流程。它会静态分析你的代码,识别出所有 AWS SDK 调用,然后输出一份精确的 IAM 策略。
两种使用方式
项目同时提供 CLI 工具和 MCP Server,适应不同场景:
CLI 模式
# 分析当前目录的代码
iam-policy-autopilot analyze ./src
# 输出为 JSON 格式的策略
iam-policy-autopilot analyze ./src --format json
MCP Server 模式
对于使用 AI 编码助手的开发者,可以直接在 Cursor、Claude Code 等工具中调用:
{
"mcpServers": {
"iam-autopilot": {
"command": "iam-policy-autopilot",
"args": ["mcp"]
}
}
}
AI 助手就能在对话中直接生成 IAM 策略,无需切换工具。
技术细节
项目用 Rust 实现,保证了分析速度和资源占用控制。目前的实现:
- 支持解析多种语言的 AWS SDK 调用(Python boto3、Node.js AWS SDK、Go SDK 等)
- 基于树 sitter 做语法解析,准确性较高
- 生成的策略遵循 AWS 最佳实践,包含条件键和资源限制
实际体验
我在一个使用 S3 和 DynamoDB 的 Python 项目上测试了一下。工具正确识别出了 s3:GetObject、s3:PutObject、dynamodb:GetItem、dynamodb:PutItem 等调用,并生成了包含资源 ARN 限制的策略。
整个分析过程不到 2 秒,生成的策略可以直接粘贴到 AWS IAM 控制台使用。
项目状态
- ⭐ Stars: 306(还在增长)
- 🏢 维护方: AWS Labs
- 📝 许可证: Apache 2.0
- 🚀 最近更新: 2026-03-31
项目还在积极开发中,Issues 里有关于支持更多语言和框架的讨论。如果你经常在 AWS 上部署应用,这个工具能帮你节省不少写 IAM 策略的时间。