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

如何查看授予/拒绝访问AWS Kinesis数据流的策略及写入权限主体

查看Kinesis数据流写入主体及权限策略的方法

一、找出有Kinesis写入权限的IAM主体

1. 用IAM Access Analyzer排查

打开IAM控制台,进入Access Analyzer模块,创建或选择已有的分析器。在分析结果里,筛选资源类型为Kinesis Stream,然后找包含kinesis:PutRecord或kinesis:PutRecords权限的策略语句。这些结果会列出所有被授予写入权限的IAM用户、角色或组,不管是直接附加的权限,还是通过IAM策略、资源策略继承来的。

2. 检查Kinesis数据流的资源策略

进入Kinesis控制台,找到目标数据流,切换到权限标签页。这里能看到直接绑定在数据流上的资源策略,看看里面有没有允许kinesis:PutRecord/kinesis:PutRecords操作的语句,语句里的Principal字段就是拥有写入权限的主体——可能是IAM实体、AWS账户,甚至匿名用户。

3. 用IAM策略模拟器验证

打开IAM策略模拟器,选好要验证的IAM用户/角色,添加kinesis:PutRecord和kinesis:PutRecords操作,指定目标数据流的ARN。运行模拟后,结果会明确告诉你这个主体有没有写入权限,还能看到是哪些策略(用户策略、角色策略、资源策略)导致了权限允许或拒绝。

二、追踪实际写入数据流的主体

1. 调整CloudTrail的查询条件

之前没找到数据大概率是查询条件不对。进入CloudTrail控制台的事件历史:

  • 筛选事件名称为PutRecord或PutRecords,资源类型选AWS::Kinesis::Stream,再指定目标数据流的ARN。
  • 查看事件里的userIdentity字段,这里会记录实际执行写入操作的主体——可能是IAM用户、角色,或者AWS服务的主体(比如Lambda的执行角色)。

2. 启用Kinesis监控辅助追踪(可选)

给数据流开CloudWatch指标,结合CloudWatch Logs Insights查询日志也能追踪写入来源,但CloudTrail是更直接的方式,优先用它。

三、查看特定资源的访问权限策略

1. 查看资源自身的权限配置

对Kinesis数据流来说,直接在控制台的权限标签页看资源策略就行,也能用AWS CLI命令:

# 先获取数据流ARN
aws kinesis describe-stream-summary --stream-name <你的数据流名称> --query 'StreamDescriptionSummary.StreamARN'
# 然后获取资源策略
aws kinesis get-resource-policy --resource-arn <数据流ARN>

2. 查看IAM主体的关联权限

针对某个IAM用户/角色,在IAM控制台的权限标签页,查看它附加的所有策略,筛选带kinesis:前缀的权限,重点看PutRecord/PutRecords操作和对应的资源ARN。也能用CLI命令:

# 列出用户附加的所有策略
aws iam list-attached-user-policies --user-name <用户名>
# 获取指定策略的详情
aws iam get-user-policy --user-name <用户名> --policy-name <策略名>

3. 生成IAM Access Analyzer权限报告

在Access Analyzer里生成权限报告,筛选目标Kinesis数据流,就能拿到所有具备该资源访问权限的主体列表,以及对应的权限细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:43:18