如何查找AWS中名为dynamodb的SNS Topic创建者?
查找SNS Topic创建者的替代方法
1. 修正并优化CloudTrail日志查询
- 首先修正查询语句的字段拼写:CloudTrail日志字段严格区分大小写,你原查询里的
event name应为eventName,同时建议直接关联目标Topic的ARN缩小范围,正确语句如下:SELECT eventName, userIdentity, eventTime, sourceIPAddress FROM "default"."cloudtrail_logs_jatin_members_xxxxxxxx" WHERE eventName = 'CreateTopic' AND resources.ARN = 'arn:aws:sns:ap-northeast-1:xxxxxxxxxxxx:dynamodb' LIMIT 100; - 扩大时间范围:确认查询覆盖了该Topic可能的创建时间区间,可添加
eventTime BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'限定时间。 - 检查CloudTrail配置:验证ap-northeast-1区域的CloudTrail跟踪是否启用了管理事件记录,是否存在排除规则过滤了SNS相关操作。
2. 排查CloudFormation关联资源
- 用AWS CLI或控制台搜索所有CloudFormation栈,定位是否包含匹配的SNS Topic资源:
- CLI命令:
aws cloudformation describe-stack-resources --region ap-northeast-1 --query "StackResources[?ResourceType=='AWS::SNS::Topic' && PhysicalResourceId=='arn:aws:sns:ap-northeast-1:xxxxxxxxxxxx:dynamodb']" - 若找到匹配栈,可在栈详情中查看创建者信息及创建时间,同时通过栈模板推断该Topic的设计用途。
- CLI命令:
3. 分析SNS Topic访问策略
- 仔细解析Topic的访问策略,里面可能包含关联的IAM角色、用户或服务主体(比如
dynamodb.amazonaws.com)。例如若策略允许DynamoDB服务访问,大概率是DynamoDB流的目标Topic,可进一步排查对应DynamoDB表的流配置记录。
4. 检查IAM资源活动记录
- 查看具备
SNS:CreateTopic权限的IAM用户/角色,筛选该Topic创建时间前后的活动日志,确认是否有相关操作记录。 - 若启用了IAM Access Analyzer,可通过其审计功能追踪该Topic的创建关联身份。
5. 借助AWS Config资源历史
- 若账户启用了AWS Config,可搜索该SNS Topic的ARN,查看其配置历史记录,里面可能包含资源创建者及创建时间的详细信息。
内容的提问来源于stack exchange,提问作者Jatin Mehrotra
相关产品推荐
相关产品推荐

