使用AWS CLI设置AWS Cognito密码策略遇错误,求正确用法
AWS Cognito用户池密码策略配置错误解决
问题原因
你当前的命令格式有误,bash环境下PasswordPolicy={...}里的大括号和逗号没做正确处理,导致AWS CLI把每个PasswordPolicy=xxx片段当成了独立的未知参数,所以抛出了错误。
正确的配置方式
方式1:用JSON字符串传递(推荐)
直接把--policies参数的值写成JSON字符串,避开shell解析问题:
aws cognito-idp update-user-pool \ --user-pool-id <userpool-id> \ --policies '{"PasswordPolicy": {"MinimumLength": 10, "RequireUppercase": true, "RequireLowercase": true, "RequireNumbers": true, "RequireSymbols": true, "TemporaryPasswordValidityDays": 7}}'
方式2:转义shell特殊字符
如果要保留键值对格式,需要给大括号和逗号加转义符,防止shell拆分参数:
aws cognito-idp update-user-pool \ --user-pool-id <userpool-id> \ --policies PasswordPolicy=\{MinimumLength=10,RequireUppercase=true,RequireLowercase=true,RequireNumbers=true,RequireSymbols=true,TemporaryPasswordValidityDays=7\}
验证配置
执行命令后,可以用下面的命令确认密码策略是否生效:
aws cognito-idp describe-user-pool --user-pool-id <userpool-id> | jq '.UserPool.Policies.PasswordPolicy'
内容的提问来源于stack exchange,提问作者Revan
相关产品推荐
相关产品推荐

