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, 上游代理, 人工智能安全, 合规性, 无后门, 最小权限, 权限分析, 权限治理, 策略优化, 策略生成, 访问控制, 逆向工具, 风险识别