You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS配置强制MFA的IAM策略后用户访问S3、配置MFA报错

问题根因
  • 当前部署的强制MFA策略NotAction权限列表不全,缺少控制台配置MFA、清理残留MFA设备必需的IAM操作权限,导致用户配置MFA的流程被显式拒绝规则拦截
  • 目标IAM用户名下存在残留的虚拟MFA设备实体,与新建MFA设备的路径/名称冲突,直接触发"实体已存在"报错
  • 未完成MFA认证时,S3相关操作(包括s3:ListBucket)不在策略豁免列表内,访问被拒绝是策略正常生效的表现,不是S3权限配置错误
修复步骤
  • 补全强制MFA策略的豁免权限
    将缺失的必要IAM操作加入策略的NotAction数组,修正后的策略片段如下:
    {
        "Sid": "BlockMostAccessUnlessSignedInWithMFA",
        "Effect": "Deny",
        "NotAction": [
            "iam:CreateVirtualMFADevice",
            "iam:EnableMFADevice",
            "iam:ListMFADevices",
            "iam:ListUsers",
            "iam:ListVirtualMFADevices",
            "iam:ResyncMFADevice",
            "iam:DeleteVirtualMFADevice",
            "iam:GetUser",
            "iam:ChangePassword",
            "iam:CreateAccessKey",
            "iam:UpdateAccessKey",
            "iam:DeleteAccessKey",
            "iam:ListAccessKeys",
            "sts:GetSessionToken"
        ],
        "Resource": "*",
        "Condition": {
            "BoolIfExists": {
                "aws:MultiFactorAuthPresent": "false"
            }
        }
    }
    
  • 清理残留MFA设备
    使用管理员账号执行CLI命令,先查询目标用户名下绑定的所有MFA设备:
    aws iam list-mfa-devices --user-name <替换为目标IAM用户名>
    从返回结果中获取残留设备的SerialNumber字段值,执行删除命令:
    aws iam delete-virtual-mfa-device --serial-number <替换为上一步查询到的设备序列号>

    若残留为硬件MFA设备,需先执行aws iam deactivate-mfa-device --user-name <用户名> --serial-number <设备序列号>解绑后再删除

  • 验证MFA配置流程
    • 让IAM用户退出控制台后重新登录,此时未绑定MFA的状态下无法访问S3等服务属于策略预期效果
    • 直接进入IAM用户安全凭证页面,选择分配虚拟MFA设备,按指引完成二维码扫描、双验证码校验即可完成绑定
    • 绑定完成后退出控制台,重新登录时输入MFA验证码,登录后即可正常访问S3等授权资源

内容的提问来源于stack exchange,提问作者Santosh Baruah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 14:54:26