SuperAPI AI 工具集

aws-iam-best-practices

部署与运维

查看项目

更新于 10-16 05:43

技能介绍

用途:审查并加固 AWS IAM 策略,按最小权限原则实施访问控制。适用于需要检查 IAM 策略、落实最小权限或加固 IAM 安全时。

核心原则:最小权限(授予最少必要权限、尽量使用托管策略、避免通配符 *)、纵深防御(为所有用户启用 MFA、用 IAM 角色替代访问密钥、实施 SCP、启用 CloudTrail 审计)、职责分离(区分管理员与普通用户角色、为不同环境使用不同角色、定期权限审计)。

主要能力与常用检查:

  • 查找过度放权策略:aws iam list-policies --scope Local 配合 get-policy-version 检索含 "Action": "*" 的策略,并列出内联策略。
  • MFA 强制:通过 get-credential-report 列出未启用 MFA 的用户,用 create-virtual-mfa-device 创建虚拟 MFA 设备(--bootstrap-method QRCodePNG)。
  • 访问密钥管理:找出超过 90 天的密钥,用 update-access-key 先置为 Inactive 测试后再 delete-access-key 轮换。
  • 角色与权限分析:查找从未使用或信任外部账户的角色,用 simulate-principal-policy 验证权限。

策略模板:提供最小权限 S3 访问(按 ${aws:username} 限定资源前缀)、MFA 必须(BoolIfExists aws:MultiFactorAuthPresent 为 false 时 Deny)、时间限制访问(DateGreaterThan/DateLessThan)、IP 限制访问(NotIpAddress aws:SourceIp 时 Deny)等示例。

加固清单覆盖用户管理(启用 MFA、清理闲置用户、90 天轮换密钥、使用角色、密码策略)、策略管理(用托管策略替代内联、移除通配符、使用条件)、角色管理(EC2 实例角色、跨账户角色、审查信任关系、会话标签)、监控(CloudTrail、CloudWatch 告警、IAM Access Analyzer、定期访问审查)。另附 Python 脚本 iam-hardening.py,基于 boto3 输出未启用 MFA 用户、超龄密钥与过度放权策略报告;也可通过 kiro-cli chat 调用该技能。

限制:仅适用于与上述范围明确匹配的任务,输出不能替代针对具体环境的验证、测试或专家评审;如缺少必要输入、权限、安全边界或成功标准,应停止并请求澄清。其余细节暂未提供。