iam-policy-autopilot: AI で AWS IAM ポリシーを自動生成
今回紹介する iam-policy-autopilot は、AWS Labs が公開している Rust 製のオープンソースツールです。コードベースを自動解析し、最小権限原則に基づいた AWS IAM ポリシーを生成します。
主な機能
このツールのポジショニングは明確です:IAM ポリシーの作成を人工的な推測から自動推論へ移行する。
従来の作業フローでは、開発者は以下を行う必要がありました:
- AWS ドキュメントを読み、各 API に必要な権限を確認
- コンソールで試行錯誤し、ポリシーをデバッグ
- 最終的に緩すぎるポリシーになってしまう(細かい調整が面倒なため)
iam-policy-autopilot はこのプロセスを変えます。コードを静的解析し、すべての AWS SDK 呼び出しを特定して、正確な IAM ポリシーを出力します。
2 つの使用方法
プロジェクトは 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 など)
- Tree-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 ポリシー作成の時間を大幅に削減してくれます。