You need to enable JavaScript to run this app. 如何通过CloudFormation为AWS Cognito用户池设置验证属性
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CloudFormation为AWS Cognito用户池设置验证属性

Cognito 用户池验证属性的 CloudFormation 配置实现

对应配置项定位

你在控制台截图中要设置的注册时需要验证的用户属性,对应 CloudFormation 中 AWS::Cognito::UserPool 资源的 AutoVerifiedAttributes 属性。这个配置就是用来指定哪些内置用户属性会在用户注册时自动触发验证流程,和控制台的选项完全一一映射,不存在功能差异。

配置修改方法

你现有YAML配置中缺失了这个配置块,直接在资源的Properties层级补充对应设置就行。该配置仅支持两个枚举可选值,和控制台的勾选选项完全对应:

  • email:开启邮箱属性的注册验证
  • phone_number:开启手机号属性的注册验证
    根据你截图中仅勾选邮箱验证的需求,完整修正后的配置如下:
UserPool:
  Type: AWS::Cognito::UserPool
  Properties:
    AdminCreateUserConfig:
      AllowAdminCreateUserOnly: false
    UserPoolName: !Sub ${AWS::StackName}-UserPool
    UsernameAttributes:
      - email
    # 新增验证属性配置块,和控制台勾选Email验证的逻辑完全一致
    AutoVerifiedAttributes:
      - email
    AccountRecoverySetting:
      RecoveryMechanisms:
        - Name: verified_email
          Priority: 1
    VerificationMessageTemplate:
      DefaultEmailOption: CONFIRM_WITH_LINK
    Policies:
      PasswordPolicy:
        MinimumLength: 8
        RequireLowercase: true
        RequireNumbers: true
        RequireSymbols: true
        RequireUppercase: true
        TemporaryPasswordValidityDays: 7

注意事项

  • 该配置支持用户池创建后的动态修改,不会触发资源替换,部署完成后会直接同步到控制台的对应设置项,和手动在控制台操作的效果没有区别
  • 注意区分两个容易写错的配置项,避免混淆:
    • UsernameAttributes:定义哪个属性作为用户的唯一登录账号
    • AutoVerifiedAttributes:定义哪个属性需要在注册流程中完成所有权验证,两者可以独立配置、搭配使用
  • AutoVerifiedAttributes 仅支持内置的邮箱、手机号两个属性,自定义属性无法触发自动验证流程
  • 如果后续要开启手机号验证,需要同步配置Cognito关联的短信发送IAM权限,否则会出现验证消息发送失败的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 23:24:04