📅 第12天 | AWS IAM — AWS 安全的支柱 🔐☁️

发布: (2025年12月12日 GMT+8 00:39)
3 min read
原文: Dev.to

Source: Dev.to

什么是 IAM?

IAM(身份与访问管理) 是 AWS 的安全系统。
它决定 谁可以访问什么 在你的 AWS 账户中。

把 IAM 想象成一名保安:

  • 用户 – 需要访问的人员
  • 角色 – 为 AWS 服务(EC2、Lambda、GitHub Actions、Terraform)提供的权限
  • 策略 – 规定允许哪些操作的规则
  • – 团队权限

如何使用 IAM(分步指南)

1. 创建 IAM 用户(针对人员)

使用用户来进行人工访问,而不是自动化。

步骤

  1. 前往 AWS 控制台 → IAM → Users
  2. 点击 Create user
  3. 输入名称(例如 devops-user
  4. 附加权限(管理员或自定义)
  5. 创建登录凭证
  6. 启用 MFA(非常重要!)

目的: 以个人身份登录 AWS。

2. 创建组(针对团队)

组帮助为多个用户分配相同的权限。

示例

  • DevOps‑Team
  • Developers
  • Admin‑Team

步骤

  1. IAM → User groupsCreate group
  2. 附加通用策略
  3. 将用户添加到组中

3. 创建 IAM 角色(针对 AWS 服务)

角色由 机器 使用,而不是人。

示例

  • EC2 实例角色
  • Lambda 执行角色
  • GitHub Actions OIDC 角色
  • Jenkins 角色
  • Terraform 角色

步骤

  1. IAM → RolesCreate role
  2. 选择一个服务(EC2、Lambda 等)
  3. 附加策略(S3、EC2、CloudWatch,…)
  4. 将角色关联到相应服务

使用场景

  • EC2 可以通过角色读取 S3 对象
  • GitHub Actions 使用角色部署到 AWS(无需访问密钥)

4. 附加策略(权限)

策略是定义允许操作的 JSON 文档。

示例策略

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::mybucket/*"
    }
  ]
}

步骤

  1. IAM → PoliciesCreate policy
  2. 将策略附加到 用户角色

5. 启用 MFA(提升安全)

MFA 在登录时提供强有力的保护。

步骤

  1. IAM → Users → Your userSecurity credentials
  2. 点击 Assign MFA device
  3. 使用 Google Authenticator / Authy 扫描二维码
  4. 完成设置

6. 使用 IAM Access Analyzer

IAM Access Analyzer 能识别安全风险,例如公开的 S3 桶或权限过宽的策略。

步骤

  1. IAM → Access Analyzer
  2. 启用分析器
  3. 查看发现结果
  4. 修复权限过宽的策略

IAM 在 DevOps 中的应用场景

任务是否需要 IAM示例
CI/CD(GitHub Actions)带 OIDC 的角色
Terraform带策略的 IAM 角色
EC2 日志记录CloudWatch 角色
S3 构件存储S3 访问策略
EKS用于 Kubernetes 的 IAM 角色
Jenkins 部署IAM 用户 / 角色
监控CloudWatch 权限

有用链接

  • GitHub:
  • Dev.to 博客:
  • LinkedIn:
  • 简历(Google Drive):
Back to Blog

相关文章

阅读更多 »

第16天:创建 IAM 用户

封面图片(第 16 天)创建 IAM 用户 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads...