使用IAM策略,是否可以阻止用户发送包含某些属性的SQS消息?
例如,我想允许IAM用户“U1”仅发送属性“City”设置为“Rome”或“Paris”的消息。提供任何其他城市都应该引发错误。
为每个城市创建一个队列并不合理。
答案 0 :(得分:0)
SQS不支持这种功能
如果您需要此类功能,可以在SQS之前添加一层AWS API网关和AWS Lambda,并要求您的用户调用API Gateway端点。然后从API网关将此请求转到Lambda,您可以在其中执行检查和验证,然后如果一切正常,则将消息插入SQS或者返回错误
如果您想使用IAM全部管理它,您可以用S3替换API网关,并通过S3 Put通知调用lambda。您可以在S3中创建文件夹并在其上设置IAM访问权限。有关详细信息,请参阅here