在 AWS 中以编程方式访问时拒绝管理员访问权限



我是 AWS 账户的管理员用户,所以我拥有完全访问权限。通过控制台工作,我没有遇到任何问题。但是,当我尝试使用编程访问时,我收到拒绝访问错误。有人知道为什么吗?

代码和一切正常,它在我也有管理员访问权限的其他 AWS 账户上运行良好。是的,我确实更改了 AWS 配置以将访问密钥与正确的账户匹配。

您是否在 IAM 账户中启用了 MFA。如果是这样,您将无法使用访问密钥直接访问 AWS CLI 或 API。您需要创建一个临时访问密钥和私有密钥,并使用它们来访问 AWS 资源

使用您之前配置的访问密钥,您需要创建临时访问密钥。有关过程,请参阅以下链接。

https://aws.amazon.com/premiumsupport/knowledge-center/mfa-iam-user-aws-cli/

https://aws.amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/

如果您 100% 确定您的代码正确承担了您的管理员角色,并且您的管理员角色具有管理员策略,那么您应该面临:

  1. 您尝试访问的资源(例如 S3(具有一些明确的拒绝策略,或者没有针对您的用户的允许策略。

  2. IAM 服务延迟。假设您只是创建具有管理员访问权限的此用户,并尝试立即使用您的代码对其进行测试,则可能会发生 AWS 认为您没有足够的权限的情况。当我创建一个新角色时,我遇到了这种情况,我看到延迟可能长达 20 分钟,但这种延迟很少见。但是,您不能像 EC2 安全组一样假定对 IAM 权限的更新会立即生效。

最新更新