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

AWS用户含ReadOnlyAccess权限部分区域无法调用DescribeInstances问题排查

问题分析与解决方案

针对你遇到的部分区域无法执行EC2 DescribeInstances 但其他服务正常的问题,核心原因可以从以下几个方向排查:

可能的原因

  • 显式拒绝策略优先级覆盖:AWS权限体系中,Deny 语句的优先级高于Allow。即使附加了ReadOnlyAccess(包含ec2:Describe*权限),如果用户或其所属组还附加了其他策略,在报错区域对ec2:DescribeInstances设置了Deny,就会直接触发权限错误。
  • 目标区域未启用:AWS账户默认仅启用部分常用区域,新区域需要手动开启。未启用的区域中,EC2服务无法被访问,会返回UnauthorizedOperation;而IAM属于全局服务,不受区域启用状态影响,因此可以正常操作。
  • 权限边界限制:如果该用户被设置了权限边界(Permission Boundary),且边界策略未允许在报错区域执行ec2:DescribeInstances,即使ReadOnlyAccess有相关权限,也会被权限边界拦截。权限边界定义了用户能拥有的最大权限范围,超出范围的操作会被拒绝。
  • 策略资源范围限制:虽然ReadOnlyAccess默认允许对所有资源(*)执行ec2:Describe*,但如果有其他叠加策略缩小了资源范围(比如仅允许特定区域的EC2资源),未被包含的区域就会触发权限错误。

排查步骤

  • 检查用户的所有附加策略(直接附加+组继承),重点查找包含ec2:DescribeInstances的Deny语句,确认其作用区域是否覆盖报错区域。
  • 登录AWS控制台,进入「我的账户」→「账户设置」→「区域」,核实报错区域是否已启用。
  • 查看用户的权限边界配置,确认边界策略中是否允许在目标区域执行ec2:DescribeInstances。
  • 使用IAM Access Analyzer模拟该用户在报错区域执行ec2:DescribeInstances操作,通过分析结果定位具体是哪个策略导致的权限拒绝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:17:02