如何在AWS SNS中配置免费号码替代默认值用于Cognito OTP发送
AWS Cognito 绑定 Pinpoint 号码发送手机号验证 OTP 操作指南
前置检查
- 你已采购的Pinpoint免费号码归属区域,必须与当前使用的Cognito用户池区域一致
- 若你需要向中国大陆手机号发送验证短信,需提前完成Pinpoint号码的国内短信合规报备,否则会触发发送失败
操作步骤
步骤1:配置Cognito短信发送角色的Pinpoint调用权限
- 进入IAM控制台,找到对应Cognito用户池的默认短信发送角色,角色名称格式通常为
Cognito_<你的用户池名称>_SMSRole - 为该角色新增自定义权限策略,替换示例中
<Pinpoint项目ARN>为你存放免费号码的Pinpoint项目ARN:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "mobiletargeting:SendMessages", "Resource": "<Pinpoint项目ARN>" } ] }
- 保存权限策略更新
步骤2:切换Cognito短信发送服务商为Pinpoint
- 进入Cognito控制台,打开目标用户池,切换到「消息」选项卡,找到短信配置模块
- 点击编辑,将短信发送提供商从默认的Amazon SNS切换为Amazon Pinpoint
- 在下拉列表中选择你存储了免费号码的Pinpoint项目,再选中已采购的免费发信号码
- 保存配置即可完成绑定
步骤3:功能验证
- 在Cognito用户池控制台新建测试用户,触发手机号验证流程,确认是否能正常收到OTP短信
- 可进入Pinpoint控制台查看发送日志,确认短信是通过你配置的免费号码发出
注意事项
- Pinpoint免费号码有每月发送额度限制,超出额度后会产生对应费用,可在Pinpoint控制台监控发送量与成本
- 切换到Pinpoint发送后,短信发送配额以Pinpoint账户的配额为准,若有大发送量需求可提前提交工单申请提升配额
内容的提问来源于stack exchange,提问作者API
相关产品推荐
相关产品推荐

