如何通过AWS控制台查找允许写入Kinesis流的IAM角色与策略
查找允许写入Kinesis流的IAM角色/策略(AWS控制台操作指南)
步骤1:通过CloudTrail定位写入操作的执行身份
CloudTrail会记录所有AWS API操作,这是定位写入源的核心入口:
- 打开AWS控制台,进入CloudTrail服务
- 左侧导航栏选择「事件历史」
- 设置筛选条件:
- 事件名称:选择
PutRecord或PutRecords(这两个是Kinesis的核心写入操作) - 资源类型:选择
AWS::Kinesis::Stream - 资源名称:输入你的目标Kinesis流名称
- 事件名称:选择
- 点击「应用筛选器」,找到最近的写入事件条目
- 点击事件详情,查看
userIdentity字段,其中的arn就是执行写入操作的IAM实体(可能是IAM用户、角色或联邦身份)
步骤2:追踪IAM实体的关联权限
根据CloudTrail找到的实体类型,分别处理:
若为IAM角色:
- 进入IAM控制台,左侧导航栏选择「角色」,搜索刚才获取的角色ARN对应的角色名
- 进入角色详情页,切换到「权限」标签,查看直接关联的托管策略和内联策略
- 重点筛选包含
kinesis:PutRecord/kinesis:PutRecords权限,且资源指向目标Kinesis流ARN的策略
若为IAM用户:
- 进入IAM控制台,左侧导航栏选择「用户」,搜索对应的用户名
- 在「权限」标签下查看关联的所有策略,定位包含Kinesis写入权限的条目
步骤3:检查Kinesis流的资源级策略
除了IAM身份策略,Kinesis流本身的资源策略也可能允许外部实体写入:
- 进入Kinesis控制台,找到目标流的详情页
- 切换到「权限」标签,查看是否存在允许指定IAM实体执行
PutRecord/PutRecords操作的资源策略
关键提示
- 如果CloudTrail未开启,需先在CloudTrail控制台开启事件记录(但无法回溯开启前的操作)
- 若事件中的
userIdentity是临时凭证(比如角色会话),可通过sessionContext字段追踪到对应的源角色ARN - 验证策略时,需确认
Action包含写入权限、Resource匹配目标流,且没有拒绝策略(Deny)覆盖允许权限
内容的提问来源于stack exchange,提问作者Marek Puchalski
相关产品推荐
相关产品推荐

