scale600/aws-secure-admin-hub
GitHub: scale600/aws-secure-admin-hub
一个基于 AWS IAM 的实时云安全管理演示平台,提供 EC2 访问控制、最小权限策略生成、安全监控和资源管理功能。
Stars: 1 | Forks: 0
# AWS IAM 安全访问中心
**AWS IAM 安全访问中心** 是一个展示由 AWS IAM 驱动的访问控制的实时演示平台 —— 包含 EC2 访问请求、最小权限策略生成、安全监控和资源管理 —— 使用 Next.js 14、Lambda、DynamoDB 和 AWS Amplify 构建。
🔗 **在线演示:** https://aws.techcloudup.com
📦 **预览环境:** https://main.d2paaciq0hy5p5.amplifyapp.com
📄 **项目规划:** [docs/planning.md](docs/planning.md)
## LIVE 与 DEMO
本项目通过 UI 标识来区分真实的 AWS API 调用与模拟数据:
| 标识 | 含义 |
|-------|---------|
| 🟢 **LIVE** | 真实的 AWS SDK 调用 —— 来自您账户的实际数据 |
| 🔵 **DEMO** | 模拟 / Mock 数据 |
### 功能详情
| 功能 | 标识 | AWS 服务 |
|---------|-------|-------------|
| 访问请求工作流 | 🟢 LIVE | DynamoDB |
| IAM 策略自动生成 | 🟢 LIVE | Lambda |
| EC2 启动 / 停止 | 🟢 LIVE | EC2 SDK `startInstances` |
| EC2 状态轮询 | 🟢 LIVE | EC2 `describeInstances` |
| S3 存储桶策略查看器 | 🟢 LIVE | S3 `getBucketPolicy` |
| CloudWatch 指标图表 | 🟢 LIVE | CloudWatch `GetMetricData` |
| CloudTrail 事件日志 | 🟢 LIVE | CloudTrail → S3 → Lambda |
| Lambda 执行历史记录 | 🟢 LIVE | CloudWatch Logs |
| GuardDuty 发现结果 | 🔵 DEMO | 模拟的严重性事件 |
| CPU / 网络图表 | 🔵 DEMO | Recharts Mock 数据 |
| S3 补丁合规性 | 🔵 DEMO | 模拟的补丁基准 |
## 架构
```
[Browser]
│
▼
[Next.js 14 / TypeScript / Tailwind] ← AWS Amplify Hosting (CI/CD)
│
▼
[API Gateway HTTP API] ── [Amazon Cognito (JWT Auth)]
│
▼
[AWS Lambda (Node.js 20)]
│
├── [DynamoDB] AccessRequests table — TTL, GSI
├── [S3] CloudTrail log bucket
├── [CloudWatch] Real Lambda / API GW metrics
├── [CloudTrail] 1 Trail → S3 → Lambda parser
└── [EC2 t3.micro] Stopped by default, Start/Stop demo
```
### AWS 服务
| 服务 | 角色 |
|---------|------|
| Amplify Hosting | Next.js SSR/SSG 托管,CI/CD |
| API Gateway (HTTP) | REST endpoint,Lambda 触发 |
| Lambda (Node.js 20) | 业务逻辑,IAM 策略生成,指标 |
| DynamoDB | AccessRequests 表,TTL,GSI |
| Cognito User Pool | JWT 认证,访客模式 |
| S3 | 静态文件,CloudTrail 日志存储桶 |
| CloudTrail | 1 个 Trail —— 收集真实的 API 活动 |
| CloudWatch | 真实的 Lambda / API GW 指标可视化 |
| EC2 t3.micro | 演示实例(默认处于停止状态) |
| Route 53 | aws.techcloudup.com 托管区域 |
## 本地开发
```
# 克隆
git clone https://github.com/scale600/aws-secure-admin-hub.git
cd aws-secure-admin-hub
# 安装依赖
npm install
# 配置环境
cp .env.example .env.local
# 使用你的 API Gateway URL 和 Cognito IDs 编辑 .env.local
# 运行 dev server
npm run dev
```
### 环境变量
| 变量 | 描述 |
|----------|-------------|
| `NEXT_PUBLIC_API_URL` | API Gateway endpoint URL |
| `NEXT_PUBLIC_COGNITO_USER_POOL_ID` | Cognito User Pool ID |
| `NEXT_PUBLIC_COGNITO_CLIENT_ID` | Cognito App Client ID |
| `NEXT_PUBLIC_EC2_INSTANCE_ID` | 演示 EC2 实例 ID |
## 应用 AWS Well-Architected 原则
- **最小权限** — IAM 策略仅限定于确切的实例 ID 和所需操作
- **安全访问** — 使用 Session Manager 替代 SSH(无 22 端口,具备完整的 CloudTrail 审计追踪)
- **卓越运营** — CloudTrail + CloudWatch 实现全面可观测性
## 领域
AWS 云管理 —— 安全、计算、网络、存储、监控、自动化。
旨在端到端地展示一个真实运行中的云管理平台是什么样子:
基础设施已配置,后端连接到真实的 AWS API,前端显示实时数据。
标签:AWS云管理, IAM, Serverless, Streamlit, 漏洞探索, 自动化攻击, 访问控制