如何在AWS中通过ARN识别可对特定资源执行指定操作的用户?
IAM Policy Simulator 测试S3全权限全返回拒绝排查步骤
按以下顺序逐一排查即可定位问题:
- 优先排查高优先级拒绝策略:IAM权限评估逻辑中显式Deny优先级最高,会覆盖所有Allow规则。不要只检查用户组绑定的允许策略,要逐一核对测试目标用户/角色关联的以下几类策略:
- 组织层级绑定的服务控制策略(SCP)
- 身份上配置的权限边界
- 其他附加到用户、组、角色上包含S3 Deny规则的自定义/托管策略
- 如果测试的是角色,还要检查角色代入时传入的会话策略是否有Deny规则
- 校验你绑定的S3全权限策略本身的正确性:
- 如果是自定义策略,确认
Action字段配置为"s3:*"无拼写错误,Resource字段配置为"*"覆盖所有S3资源,没有写错资源ARN - 如果使用的是AWS托管的
AmazonS3FullAccess策略,确认当前生效的策略版本没有被篡改,是官方默认的最新版本
- 如果是自定义策略,确认
- 修正模拟器本身的配置和加载问题:
- 确认模拟器选中的测试主体是已经加入目标用户组的IAM用户/角色,没有选错身份
- 检查模拟器的模拟上下文配置:如果开启了MFA校验、源IP限制、VPC端点限制这类条件模拟,填入的上下文参数必须符合策略触发条件,否则会判定为权限不匹配
- 本地浏览器缓存很容易导致模拟器拉取到旧的策略数据,开无痕窗口重新登录控制台,重新选择测试主体、操作项后再跑测试
- 做实际操作交叉验证:不要完全依赖模拟器结果,用目标身份的凭证通过CLI/控制台实际执行S3操作,比如执行
aws s3 ls列所有S3桶,如果实际操作可以正常执行,说明是IAM策略数据同步延迟导致模拟器返回错误结果,等待15分钟左右待数据全球同步完成后再重新测试即可。
内容的提问来源于stack exchange,提问作者tom10271
相关产品推荐
相关产品推荐

