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 治理仪表板
标签:AWS IAM, ECS, EVTX分析, Go语言, Terraform, 云安全治理, 日志审计, 权限提升检测, 程序破解