使用AWS STS跨账号访问S3遇权限问题,如何可视化有效权限?
AWS跨账号STS权限可视化排查方案
针对跨账号STS访问S3时的权限问题,以下是几种可直接在AWS控制台实现的权限可视化与排查工具:
1. IAM Policy Simulator
这是最核心的权限模拟与可视化工具,能精准定位权限允许/拒绝的来源:
- 支持模拟STS扮演的跨账号角色、IAM用户等身份的权限
- 可指定S3具体操作(如
s3:GetObject、s3:ListBucket)和目标资源ARN - 运行模拟后,会明确展示每一项操作的允许/拒绝状态,点击详情可查看具体生效的策略(包括角色身份策略、S3桶资源策略、权限边界、STS会话策略等)
- 控制台操作路径:IAM控制台 → Access management → Policy Simulator
2. IAM Access Advisor
用于查看身份的实际权限使用情况,缩小排查范围:
- 展示指定角色/用户过去90天内实际调用过的权限,以及允许但未使用的权限
- 可按服务分类查看,针对S3能展开具体操作的权限状态
- 控制台操作路径:目标角色/用户的IAM详情页 → Access Advisor标签
3. S3 Access Analyzer
专门针对S3资源的跨账号权限分析:
- 检测S3桶的资源策略是否正确配置了跨账号访问权限
- 识别哪些外部账号/身份具备访问该桶的权限,以及对应的策略来源
- 控制台操作路径:S3控制台 → 目标桶 → Permissions标签 → Access Analyzer
4. CloudTrail 事件日志排查
当模拟工具无法定位问题时,可通过实际API调用日志排查:
- 筛选STS和S3相关的事件,查看
AccessDenied类事件的错误详情,日志会明确指出权限拒绝的原因(如身份策略限制、资源策略未授权等) - 控制台操作路径:CloudTrail控制台 → Event history → 筛选事件源(
sts.amazonaws.com/s3.amazonaws.com)与事件类型
内容的提问来源于stack exchange,提问作者David Marciel
相关产品推荐
相关产品推荐

