IAM 最佳实践与 MFA
启用 MFA、轮换访问密钥、使用 IAM 凭证报告,并复查审计中常见的 IAM 配置错误。
IAM 最佳实践与 MFA 是 CoddyKit 上的免费 AWS Solutions Architect 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Solutions Architect 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Solutions Architect 课程共包含 4 节课。
IAM 最佳实践概览
AWS 提供的官方 IAM 检查清单在考试中经常出现:妥善保护根用户,启用MFA,优先使用角色而不是密钥,授予最低权限,并轮换凭证。
锁定根用户
根用户不受任何策略限制,因此必须严格保护:启用 MFA、删除其访问密钥,并且仅在少数必须使用它的任务中使用。
# Check if root account has MFA enabled (from Security Hub or Trusted Advisor)
aws securityhub get-findings \
--filters '{"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}],"Title":[{"Value":"MFA should be enabled for the root account","Comparison":"CONTAINS"}]}' \
--query 'Findings[].Title'多因素身份验证 (MFA)
MFA会在密码之外增加第二重验证,例如来自应用程序或硬件令牌的代码。应为每位人工用户启用它,尤其是管理员。
# Enable a virtual MFA device for a user
aws iam enable-mfa-device \
--user-name alice \
--serial-number arn:aws:iam::123456789012:mfa/alice \
--authentication-code1 123456 \
--authentication-code2 789012MFA 设备类型
AWS 支持四种MFA 设备类型:身份验证器应用程序、硬件令牌、FIDO 安全密钥(最佳选择)以及 SMS(安全性最弱,管理员应避免使用)。
轮换访问密钥
长期密钥永不过期,因此应大约每 90 天轮换访问密钥。系统允许同时拥有两把密钥,因此可以实现零停机切换。
# Step 1: Create new access key
aws iam create-access-key --user-name alice
# Step 2: After updating all apps to new key, deactivate old key
aws iam update-access-key \
--user-name alice \
--access-key-id AKIAIOSFODNN7EXAMPLE \
--status Inactive
# Step 3: Delete old key
aws iam delete-access-key \
--user-name alice \
--access-key-id AKIAIOSFODNN7EXAMPLEIAM 凭证报告
IAM 凭证报告是一份 CSV 文件,列出每位用户的密码使用时长、密钥轮换情况和 MFA 状态。应每月获取一次,以发现陈旧或存在风险的凭证。
# Generate and download the credential report
aws iam generate-credential-report
aws iam get-credential-report \
--query 'Content' \
--output text | base64 --decode > iam-credential-report.csv应用程序应优先使用角色而非长期密钥
对于在 AWS 上运行的任何内容,例如 EC2、Lambda、ECS,应使用IAM 角色,而非长期密钥。角色会自动刷新凭证,并避免将凭证写入代码。
IAM 密码策略
设置账户密码策略,强制使用高强度控制台密码:足够的最小长度、混合字符、定期过期,以及不得重复使用旧密码。
# Set a strong password policy
aws iam update-account-password-policy \
--minimum-password-length 14 \
--require-uppercase-characters \
--require-lowercase-characters \
--require-numbers \
--require-symbols \
--max-password-age 90 \
--password-reuse-prevention 5使用独立账户实现隔离
最强的隔离方式是为生产环境和开发环境使用独立账户。当它们位于不同账户中时,开发环境中的错误策略无法影响生产环境。
使用 CloudTrail 监控 IAM 活动
每项 IAM 操作都会记录在 CloudTrail 中。为根用户登录或策略变更等事件添加警报,即可建立一套及早发现滥用行为的预警系统。
# Create a CloudWatch metric filter for root account usage
aws logs put-metric-filter \
--log-group-name CloudTrail/MainTrail \
--filter-name RootAccountUsage \
--filter-pattern '{$.userIdentity.type="Root"}' \
--metric-transformations metricName=RootAccountUsageCount,metricNamespace=IAMSecurity,metricValue=1AWS Trusted Advisor IAM 检查
Trusted Advisor会执行快速安全检查:它会标记未启用 MFA 的根账户、根用户访问密钥,甚至会发现泄露在公开代码仓库中的密钥。
快速检查
测试您对本课 AWS Solutions Architect (SAA-C03) 概念的理解。
课程回顾
快速回顾:使用 MFA 保护根用户,轮换密钥并优先使用角色,同时使用凭证报告、CloudTrail 和 Trusted Advisor 监控 IAM。接下来:EC2 基础知识。
用 AI 导师学习 AWS Solutions Architect — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「IAM 最佳实践与 MFA」课时是免费的吗?
是的 — 「IAM 最佳实践与 MFA」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Solutions Architect 课程的其余内容,请升级到 CoddyKit PRO。 AWS Solutions Architect 课程共包含 4 节课。
「IAM 最佳实践与 MFA」这节课中我会学到什么?
启用 MFA、轮换访问密钥、使用 IAM 凭证报告,并复查审计中常见的 IAM 配置错误。 你通过在浏览器中直接运行的动手代码来练习 AWS Solutions Architect,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AWS Solutions Architect 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AWS Solutions Architect 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「IAM 最佳实践与 MFA」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AWS Solutions Architect 课中编写并运行代码吗?
能。每节 AWS Solutions Architect 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。