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

ASP.NET Core集成AWS Cognito遇权限错误,求IAM配置方案

解决ASP.NET Core + AWS Cognito集成时的IAM权限错误

嘿,我刚看完你的问题,这个AmazonCognitoIdentityProviderException报错其实是典型的IAM权限不足问题。你当前用的AmazonCognitoDeveloperAuthenticatedIdentities策略根本覆盖不了Cognito用户池的管理操作,咱们一步步来解决:

为什么会报错?

当你调用_userManager.CreateAsync时,AWS SDK会先调用cognito-idp:DescribeUserPool接口去验证你的用户池信息,而你给IAM用户附加的策略里完全没有这个权限。除此之外,创建用户还需要cognito-idp:SignUp权限,这俩都是现在缺失的核心权限。

具体修复步骤

1. 新建一个自定义IAM策略

登录AWS控制台,打开IAM服务:

  • 左边菜单点「策略」,然后点「创建策略」
  • 切换到「JSON」标签,把下面的代码粘进去(记得替换成你自己的用户池ARN):
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "cognito-idp:DescribeUserPool",
                "cognito-idp:SignUp"
            ],
            "Resource": "arn:aws:cognito-idp:us-east-2:777844316068:userpool/us-east-2_115WHTcaH"
        }
    ]
}

如果之后你需要后台管理员创建用户的功能,可以再加上cognito-idp:AdminCreateUser这个Action。

2. 把自定义策略附加到你的IAM用户

  • 回到IAM的「用户」页面,找到你之前创建的那个用户
  • 切换到「权限」标签,点「添加权限」→「附加现有策略直接关联」
  • 搜索你刚创建的自定义策略,勾选后完成关联

3. 测试验证

重启你的ASP.NET Core应用,再试一次注册流程,应该就能成功创建用户了。

额外提醒

  • 记得遵循最小权限原则,只给用户分配必要的权限,别过度授权
  • 如果之后要做用户邮箱验证、登录这些功能,可能还需要补充cognito-idp:ConfirmSignUp、cognito-idp:InitiateAuth这类权限,按需添加就行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 19:02:47