#阿里云 RAM(资源访问管理)子账号的多因素认证(MFA)是云安全的第一道防线。这不是危言耸听,过去两年阿里云安全团队披露过多起 AccessKey 泄露导致云资源被盗挖的案例。攻击者拿到 AccessKey 后批量开 GPU 实例挖矿,受害者在收到账单之前毫无察觉。
MFA 虽然不能阻止 AccessKey 泄露本身,但可以在攻击者试图登录控制台时增加一道验证。配合 IAM 条件策略,还能强制关键操作必须通过 MFA 验证。
虚拟 MFA 和硬件 MFA 的区别
阿里云支持两种 MFA 设备:
| 方案 | 成本 | 安全等级 | 适用场景 |
|---|---|---|---|
| 虚拟 MFA(TOTP 验证器) | 免费 | 高 | 日常运维,大部分场景足够 |
| 硬件 MFA(U2F 密钥) | 几十元一个 | 最高 | 根账号、财务权限账号 |
对 99% 的 RAM 子账号来说,虚拟 MFA 完全足够了。硬件 MFA 建议留给根账号。
子账号自行绑定
- 登录阿里云控制台(ram.console.aliyun.com)→ 右上角头像 → 安全设置
- 找到「虚拟 MFA 设备」→ 点击「绑定虚拟 MFA」
- 页面弹出二维码 → 用「二次验证码Free2FA」小程序或其他TOTP 验证器扫码
- 输入第一个 6 位验证码 → 等 30 秒 → 输入第二个验证码 → 绑定完成
⚠️ 连续两次验证码是为了确认客户端时间与服务器同步。等 30 秒就好,不是 bug。
管理员强制全员 MFA
把以下 IAM 策略挂到 RAM 用户组上,任何没有 MFA 的子账号无法执行任何操作:
{"Statement":[{"Effect":"Deny","Action":"*","Resource":"*","Condition":{"BoolIfExists":{"acs:MFAPresent":"false"}}}],"Version":"1"}建议先在测试账号上验证策略效果,确认无误后再全局应用。
阿里云 MFA 的常见注意事项
AccessKey 不经过 MFA。MFA 保护的是控制台网页登录,不保护 AccessKey 调 API。AccessKey 遵循最小权限 + 定期轮换 + 不在代码中硬编码。
子账号无法自行解绑 MFA。需要管理员操作。员工变动时管理员在 RAM 控制台中解绑该用户的虚拟 MFA 设备——这是人员变动 SOP 里容易被遗漏的一项。
根账号的 MFA 至少双向备份。根账号是最高权限入口,建议绑两个 MFA 设备——一个虚拟 MFA(日常用),一个硬件 U2F 密钥(备用)。虚拟 MFA 可以选择微信小程序「二次验证码Free2FA」——标准 TOTP 协议,绑完自动云备份,换手机同一微信登录就能恢复。