Debasish-87/iam-governance-platform

GitHub: Debasish-87/iam-governance-platform

AWS 原生的 IAM 安全治理平台,通过自动化检测权限提升路径、信任策略风险和访问密钥合规性,持续评估并可视化云身份安全态势。

Stars: 0 | Forks: 0

# IAM 治理平台 ## 概述 IAM 治理平台是一个 AWS 原生的安全治理和风险评估解决方案,旨在持续分析跨 AWS 环境的 Identity and Access Management (IAM) 配置。 该平台可识别过多的权限、权限提升路径、不安全的信任关系、访问密钥风险以及管理配置错误。检查发现的结果将集中存储在 DynamoDB 中,转化为安全指标,通过 CloudWatch 仪表板进行可视化展示,并通过自动化告警工作流进行分发。 该解决方案使用 Go、AWS Lambda、Terraform、DynamoDB、CloudWatch、EventBridge、SNS 和 IAM API 构建。 ## 核心功能 ### IAM 清单分析 收集并分析: * IAM 用户 * IAM 角色 * IAM 策略 * 附加的角色策略 * 角色使用信息 提供对 IAM 攻击面和权限分布的可见性。 ### 权限提升检测 识别危险的权限提升组合,包括: * iam:PassRole + lambda:CreateFunction * iam:PassRole + ec2:RunInstances * iam:AttachRolePolicy + iam:CreatePolicyVersion * 完全管理通配符权限 严重性分类: | 风险类型 | 严重性 | | --------------------- | --------- | | 完全管理员访问权限 | Critical | | PassRole 滥用 | Critical | | 策略版本滥用 | Critical | | EC2/Lambda 提权 | Critical | ### IAM 策略风险分析 分析附加的角色策略并检测: * Action = "*" * Resource = "*" * iam:* * AdministratorAccess 使用情况 * 通配符管理权限 风险发现会自动存储,用于报告和评分。 ### 信任策略分析 评估 IAM 信任关系并识别: * 通配符主体 * Root 账户信任 * 联合信任配置 * 潜在的跨账户暴露 检查发现会进行分类并存储,用于治理报告。 ### 访问密钥安全审计 检测: * 多个活跃的访问密钥 * 超过 90 天的访问密钥 * 未使用的访问密钥 * 长期未活跃的访问密钥 支持持续的凭证合规监控。 ### 安全发现存储库 所有安全发现都集中在 DynamoDB 中。 存储的属性: * Resource ID * Resource Name * Finding Type * Severity * Policy Name * Message * Detection Timestamp 这为报告和分析创建了一个集中的治理数据集。 ### 安全评分引擎 生成整体的 IAM 安全态势评分。 评分模型: | 严重性 | 评分影响 | | -------- | -------- | | Critical | -20 | | High | -10 | | Medium | -5 | | Low | -2 | 分数范围: 0 - 100 分数越高表明 IAM 治理态势越强。 ### 自动化安全报告 报告引擎会汇总检查发现并生成: * 发现总数 * 严重性分布 * 风险细分 * 治理评分 报告通过计划执行自动生成。 ### CloudWatch 安全指标 自定义 CloudWatch 指标: * SecurityScore * TotalFindings * CriticalFindings * HighFindings * MediumFindings * LowFindings * WildcardAdminCount * PassRoleCount * RootTrustCount * FederatedTrustCount * AdminPolicyCount ### CloudWatch 高管仪表板 提供针对以下内容的集中可见性: * 安全评分 * 发现趋势 * 严重性分布 * 权限提升风险 * 信任策略风险 * IAM 攻击面 * 安全趋势分析 专为工程和领导层干系人设计。 ### 事件驱动的自动化 EventBridge 调度计划: | 工作流 | 频率 | | ------------------------ | -------------- | | 治理报告 | 每日 | | 仪表板指标刷新 | 每 2 分钟 | 确保无需人工干预即可保持持续的可见性。 ### 安全告警 SNS 集成为检测到的风险提供自动通知。 支持: * 电子邮件告警 * 自动化安全通知 * 治理监控工作流 ## 架构 ``` IAM Resources │ ▼ +------------------------+ | Security Analyzers | |------------------------| | Inventory Engine | | Risk Analyzer | | Trust Analyzer | | Access Key Audit | | Privilege Escalation | +------------------------+ │ ▼ DynamoDB Findings Store │ ▼ Report Generator │ ├────────► CloudWatch Metrics │ ├────────► CloudWatch Dashboard │ └────────► SNS Alerts ``` ## 技术栈 ### 语言 * Go ### 云服务 * AWS Lambda * AWS IAM * AWS DynamoDB * Amazon SNS * Amazon EventBridge * Amazon CloudWatch ### 基础设施即代码 * Terraform ## 仓库结构 ``` . ├── docs │ ├── IAM_Governance_Platform_Dashboard.png │ ├── Lambda_Dashboard.png │ ├── DynamoDB_Dashboard.png │ ├── EventBridge_Dashboard.png │ ├── CloudWatchLogs_Dashboard.png │ └── CloudWatchUse_Dashboard.png │ ├── lambda │ ├── inventory │ ├── risk_analyzer │ ├── trust_analyzer │ ├── privilege_escalation │ ├── access_key_audit │ ├── report_generator │ ├── scoring │ └── sns_alerts │ └── terraform ├── lambda.tf ├── iam.tf ├── dynamodb.tf ├── sns.tf ├── eventbridge.tf ├── dashboard.tf └── outputs.tf ``` ## 部署 ### 前置条件 * AWS 账户 * Terraform >= 1.5 * Go >= 1.25 * 已配置 AWS CLI ### 初始化 Terraform ``` terraform init ``` ### 审查变更 ``` terraform plan ``` ### 部署基础设施 ``` terraform apply ``` ## IAM 治理仪表板

## CloudWatch 仪表板

## Lambda 仪表板

## DynamoDB 仪表板

## EventBridge 仪表板

## CloudWatch 日志仪表板

## 发现示例 ### 严重 * 通配符管理权限 * 完全管理员访问权限 * 权限提升路径 * 通配符信任主体 ### 高 * Root 信任关系 * PassRole 风险 * 不活跃的访问密钥 * IAM 管理权限 ### 中 * 联合信任风险 * 多个活跃的访问密钥 ## 安全成果 该平台使组织能够: * 持续评估 IAM 安全态势 * 检测权限提升机会 * 监控信任关系暴露情况 * 强制执行访问密钥合规 * 随着时间的推移跟踪治理趋势 * 生成高管级别的安全报告 * 提高云身份安全成熟度 ## 未来增强计划 规划路线图: * Security Hub 集成 * AWS Config 集成 * 跨账户 IAM 治理 * 多区域支持 * 自动化修复工作流 * 基于图的攻击路径可视化 * 历史趋势分析 * 合规性映射(CIS、NIST、ISO 27001) ## 许可证 MIT License ## 作者 Debasish Mohanty 云安全工程师 | AWS 安全 | IAM 治理 | 威胁检测 | 安全自动化
标签:AWS IAM, ECS, EVTX分析, Go语言, Terraform, 云安全治理, 日志审计, 权限提升检测, 程序破解