我遇到了一个可能看起来很简单的问题。
我想要配置我的SQS队列,允许我的AWS账户中的S3存储桶发送消息,但不允许外部人员发送消息。(外部人员指的是不是我AWS账户成员的任何主体)
唯一可以工作的SQS权限配置是:Effect=Allow, Principals=*, Actions=SQS:SendMessage, Conditions=None
当我创建[S3事件 -> SQS]时,任何其他权限都会导致我看到这个错误:无法验证以下目标配置。目标队列上的权限不允许S3从此存储桶发布通知。
Principals=*
使我担忧。根据我所找到的文档,这意味着任何人都可以访问SQS队列。这是真的吗?这显然非常糟糕。
我如何允许我的S3存储桶向我的SQS队列发送消息,而不是匿名用户推送消息?
对我来说,允许AWS账户中的任何资源向SQS发送消息是可以接受的。我只需要阻止匿名AWS用户的访问。这是非常基本的要求,我很惊讶为什么找不到一个简单的方法来解决这个问题。