【发布时间】:2020-05-12 16:39:04
【问题描述】:
为了进一步加强我们解决方案的安全性,我们现在正在研究使用的 SNS 主题和 SQS 队列。我们所有的组件都位于同一个 AWS 账户中。
首先,我们希望根据 IP 限制对 SQS 队列的访问。所以只允许来自我们的 NAT 网关 IP 的请求。我们不允许匿名访问我们的 SQS 队列。
但似乎没有办法实现这一点,因为 SQS 队列的创建者 - AWS 账户 ID - 默认具有访问权限。因此,您无法为同一 AWS 账户 ID 中的其他用户创建有效权限。因为这个新创建的用户 user2 将属于同一个 AWS 账户 ID,具有相同的权限集。
我的理解是否正确,只要他们的 IAM 策略允许,同一 AWS 账户 ID 中的所有用户默认都可以访问所有创建的 SQS 队列?我的假设是否正确,SNS 主题也有同样的行为?
以下是我想要实施的政策。除了这个政策,我没有其他适用于此 SQS q 的政策。但它不尊重源 IP 条件。当我使用正确的 AWS 访问密钥/秘密组合时,我仍然可以从任何地方连接。仅当我将 AWS 委托人设置为 * - 所有人 - 策略似乎才有效。
{
"Version": "2012-10-17",
"Id": "arn:aws:sqs:eu-west-1:4564645646464564:madcowtestqueue/SQSDefaultPolicy",
"Statement": [
{
"Sid": "Sid1589365989662",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::4564645646464564:user/user2"
},
"Action": [
"SQS:DeleteMessage",
"SQS:SendMessage",
"SQS:ReceiveMessage"
],
"Resource": "arn:aws:sqs:eu-west-1:143631359317:madcowtestqueue",
"Condition": {
"IpAddress": {
"aws:SourceIp": "1.1.1.1"
}
}
}
]
}
参考:
【问题讨论】:
-
能否编辑您的问题以阐明您的要求?例如,不清楚您所说的“为同一 AWS 账户 id 中的另一个用户创建有效权限”是什么意思。
标签: amazon-web-services amazon-sqs amazon-sns