【发布时间】:2017-05-20 07:37:56
【问题描述】:
是否有一种简单的方法可以将来自多个队列的所有消息重定向到一个“包罗万象”队列,并通过将源队列名称添加为名为“source”的属性来更改消息?
我需要更多队列(而不是单个队列)的原因是:我想使用 IAM 策略来管理用户对单个源的访问。
编辑:
我需要构建的东西很简单:
-
用户表示存储在 S3 中的文件应该由我们的软件处理
- 对于此通知,他们可以使用任何 AWS 服务,可以是 Lambda 函数、API、SQS、SNS。什么都行。
- 作为限制,我不能限制用户上传文件或强加命名约定。
- 运行我们软件的 IAM 用户可以访问用户的内容
-
通知后,进程会更新文件内容并将结果移动到指定位置
- 目标位置取决于内容,也可以由用户提供。任何方法都会奏效。
问题是我需要确保用户将数据发送到他们被允许的位置。我想只使用 IAM 策略并避免使用“权限”数据库。
我的想法是为每个目标位置设置一个 SQS,并授予用户访问相应 SQS 列表的权限。如果他们在他们有权访问的队列上发布请求,那么主进程可以安全地完成请求。 缺点是主进程必须监听许多 SQS,并且每当我们更改目标位置的配置时,我们都需要更新它。
【问题讨论】:
-
欢迎来到 StackOverflow!如果您可以提供有关您的目标的更多信息,我们可能会建议一种替代方法。随时编辑您的问题以添加更多详细信息。
-
谢谢;我添加了更多细节。
-
每次您收到来自 SQS 的消息时,它都有一个
SenderIdattribute,如果您问的话,您可以收到它...它通过 IAM 用户或角色识别消息的发送者。这不能用于确定每个请求的有效性吗? -
是的,这正是我想要的。谢谢!
标签: amazon-web-services amazon-sqs amazon-iam