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

如何在AWS Cognito用户池中为特定用户禁用MFA

问题解答

核心结论

是的,当用户池设置为强制MFA时,控制台的用户详情界面不会显示“禁用MFA”的选项——全局强制规则会锁定用户级别的MFA配置,无法通过控制台直接修改。要为特定用户禁用MFA,必须通过AWS CLI或AWS SDK调用接口来覆盖全局设置。

具体实现方法

1. 使用AWS CLI操作

执行admin-set-user-mfa-preference命令,指定目标用户并关闭所有MFA类型,同时设置首选MFA为无:

aws cognito-idp admin-set-user-mfa-preference \
  --user-pool-id <你的用户池ID> \
  --username <演示账户用户名> \
  --no-sms-mfa-enabled \
  --no-totp-mfa-enabled \
  --mfa-option "NO_MFA"

注意:执行该命令的IAM实体需要拥有cognito-idp:AdminSetUserMFAPreference权限。

2. 使用AWS SDK操作(以Python为例)

通过Boto3调用对应接口,直接修改用户的MFA偏好:

import boto3

cognito_client = boto3.client('cognito-idp')

# 修改用户MFA偏好
cognito_client.admin_set_user_mfa_preference(
    UserPoolId='<你的用户池ID>',
    Username='<演示账户用户名>',
    SMSMfaSettings={
        'Enabled': False,
        'PreferredMfa': False
    },
    SoftwareTokenMfaSettings={
        'Enabled': False,
        'PreferredMfa': False
    }
)

验证设置生效

执行以下命令查看用户的MFA配置,确认UserMFASettingList字段为["NO_MFA"]:

aws cognito-idp admin-get-user --user-pool-id <你的用户池ID> --username <演示账户用户名>

内容的提问来源于stack exchange,提问作者Möoz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:55:06