
## 自动化AWS IAM合规工作流:MFA强制执行与访问密钥停用
这个工作流利用AWS IAM API和n8n自动化功能,通过持续监控IAM用户的MFA(多因素认证)实施情况,确保严格的安全合规性。
### 适用对象
此工作流专为负责维护AWS账户中IAM安全合规性的DevOps、安全或云工程师设计。它非常适合希望强制执行MFA使用并自动禁用不合规IAM用户访问权限的团队。
### 工作原理 / 功能描述
此自动化工作流每天执行一次检查,检测没有MFA设备的IAM用户并停用其访问密钥。
### 分步说明:
1. **每日调度器**:每天触发一次工作流
2. **获取多个用户**:检索账户中的所有IAM用户列表
3. **获取IAM用户MFA设备**:调用AWS API获取每个用户的MFA设备信息
4. **过滤掉具有MFA的IAM用户**:仅保留没有任何MFA设备的用户
5. **发送警告消息**:为未启用MFA的用户发送Slack警报
6. **获取用户访问密钥**:获取每个非MFA用户的访问密钥
7. **解析用户访问密钥列表**:提取并展平密钥信息,如AccessKeyId、Status和UserName
8. **过滤掉非活动密钥**:仅保留活动访问密钥以进行进一步操作
9. **停用访问密钥**:调用AWS API停用非MFA用户的每个活动密钥
### 设置方法
1. 在环境中配置AWS凭据(具有所需权限的IAM角色或AWS访问密钥)
2. 通过Slack节点连接Slack进行警报(设置频道和凭据)
3. 将调度器设置为首选频率(例如,每天上午9点)
4. 根据需要调整任何Slack消息模板或过滤条件
### 要求
– 具有以下AWS IAM权限的IAM用户或角色凭据:
– `iam:ListUsers`
– `iam:ListMFADevices`
– `iam:ListAccessKeys`
– `iam:UpdateAccessKey`
– Slack凭据(具有`chat:write`权限的Bot令牌)
– 具有以下功能的n8n环境:
– Slack集成
– AWS凭据(通过环境或凭据管理器设置)
### 如何自定义工作流
– **警报阈值**:可以延迟操作,而不是立即停用(例如,先警报,等待24小时,然后禁用)
– **更改通知频道**:修改Slack节点以将警报发送到不同频道或添加电子邮件集成
– **白名单例外**:添加Set或IF节点以排除特定用户名(例如,服务账户)
– **添加审计日志**:使用Google Sheets、Airtable或数据库记录哪些用户被标记或访问被禁用
– **扩展访问检查**:如果需要,包括控制台密码检查(GetLoginProfile)

评论(0)