Prakashgode/iam-analyzer
GitHub: Prakashgode/iam-analyzer
基于 CloudTrail 日志分析实际 IAM 权限使用情况,自动生成最小权限策略并识别过度授权的 AWS 安全审计工具。
Stars: 0 | Forks: 0
# IAM 最小权限分析器
分析 CloudTrail 活动以确定实际使用的 IAM 权限,并根据实际使用情况生成更严格的策略。还会将现有策略与观察到的行为进行比较,以发现未使用的授权和过于宽泛的通配符。
## 功能
- 使用 ARN、角色名称或用户名称匹配来分析单个主体
- 从文件或递归从目录读取 CloudTrail JSON
- 生成按 AWS 服务分组的最小权限策略
- 将观察到的行为与现有 IAM 策略进行比较
- 标记有风险的权限,如 `iam:PassRole`、`sts:AssumeRole`、`kms:Decrypt` 和通配符授权
- 将分析或比较结果导出为 JSON,适用于 CI 或审查工作流
## 快速开始
```
git clone https://github.com/Prakashgode/iam-analyzer.git
cd iam-analyzer
pip install -e .[dev]
```
## 分析 CloudTrail 使用情况
```
iam-lpa analyze \
--events .\samples\cloudtrail\developer-events.json \
--principal AppDeveloperRole \
--write-policy .\output\developer-least-privilege.json
```
示例输出:
```
Principal query: AppDeveloperRole
Scanned files: 1
CloudTrail events scanned: 5
Events matched: 4
Unique actions observed: 4
Matched principals:
- AppDeveloperRole
- arn:aws:iam::123456789012:role/AppDeveloperRole
- arn:aws:sts::123456789012:assumed-role/AppDeveloperRole/alice
Observed actions:
- ec2:DescribeInstances x1 last_seen=2026-03-18T11:04:00Z
- iam:PassRole x1 last_seen=2026-03-18T11:05:00Z
- s3:GetObject x1 last_seen=2026-03-18T11:01:00Z
- s3:PutObject x1 last_seen=2026-03-18T11:02:00Z
Sensitive observed actions:
- [high] iam:PassRole: PassRole can let workloads inherit stronger permissions.
```
## 与现有策略进行比较
```
iam-lpa compare-policy \
--events .\samples\cloudtrail\developer-events.json \
--principal AppDeveloperRole \
--policy .\samples\policies\developer-broad-policy.json
```
此调用会突出显示:
- 当前策略不允许的已观察到的操作
- 当前策略中未使用的授权
- 需要收紧的通配符模式
- 值得人工审查的有风险权限
## 示例数据
- [developer-events.json](samples/cloudtrail/developer-events.json)
- [developer-broad-policy.json](samples/policies/developer-broad-policy.json)
## 本地质量检查
```
ruff check .
pytest -v
```
## 局限性
- 尚未推断资源级别的范围;生成的策略使用 `"Resource": "*"`
- 不对 `NotAction`、条件和 SCP 评估进行建模
- CloudTrail 仅显示已使用的内容,并不包含主体在罕见工作流中可能仍需要的所有内容
标签:AWS, CloudTrail, DevSecOps, DPI, Homebrew安装, IAM, IAM Policy, LNA, Python, Streamlit, unused permissions, 上游代理, 人工智能安全, 合规性, 无后门, 最小权限, 权限分析, 权限治理, 策略优化, 策略生成, 访问控制, 逆向工具, 风险识别