【问题标题】:Getting "AccessDeniedException" when using adminDeleteUser使用 adminDeleteUser 时出现“AccessDeniedException”
【发布时间】:2020-09-13 23:28:35
【问题描述】:
当节点服务器在本地运行时,这似乎工作正常。
但是当代码部署在 ec2 实例上时,我得到:
“用户:arn:aws:sts::XXXX:assumed-role/aws-elasticbeanstalk-ec2-role/i-XXX 无权执行:cognito-idp:AdminDeleteUser on resource:arn:aws:cognito- idp:ap-south-1:XXXX:userpool/XXXX"
任何帮助将不胜感激
【问题讨论】:
标签:
node.js
aws-sdk
amazon-cognito
【解决方案1】:
选项 1:
在 IAM,您可以为您的 EC2 实例分配角色(cognito 完全访问权限)。我对豆茎不熟悉。但是,方法可能相同。
选项2:(不推荐)
在 nodejs 代码中提供具有足够权限的访问密钥和密钥。您现在可以应用您的本地计算机凭据进行测试。
【解决方案2】:
表示已将名为 aws-elasticbeanstalk-ec2-role 的 IAM 角色分配给 Amazon EC2 实例。
您的代码显然调用了AdminDeleteUser。但是,该 IAM 角色无权调用 AdminDeleteUser。
因此,您可能应该将该权限添加到 IAM 角色。
据推测,当您的代码在本地运行时,它使用来自您可能具有管理员权限的个人 IAM 用户的凭证。这就是它在 EC2 实例上运行方式不同的原因。