amazon-web-services - 从列入白名单的 IP 发布到 SQS
问题描述
应用程序是否可以通过将其机器 IP 地址列入白名单将消息发布到 SQS 队列?
我查看了https://aws.amazon.com/premiumsupport/knowledge-center/iam-restrict-calls-ip-addresses/但这是一个角色,我仍然需要 AWS 用户来执行此操作。
有什么方法可以仅从 IP 地址发布到 SQS 队列,而根本不需要 AWS 用户?
解决方案
没有直接的方法 - 您仍然需要您的 AWS 凭证。
但另一种方法是拥有一个 AWS API 网关,该网关调用一个发送 SQS 消息的 Lambda。API 网关将被限制为一小部分(或一个)IP 集。 此链接详细介绍,但关键是在您的 API 网关调用上有一个资源策略:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "execute-api:/*/*/*"
},
{
"Effect": "Deny",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "execute-api:/*/*/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": ["1.2.3.4"]
}
}
}
]
}
1.2.3.4
您要允许进入的 IP 地址在哪里。然后此 API Gateway 调用将调用您的 Lambda。在内部,您仍在使用 IAM 角色,但在 AWS 外部却没有。
推荐阅读
- python - 保存的图像仅显示使用 cv2.rectangle 创建的矩形,而不是创建矩形的整个图像
- java - 如何获取今天最近拨打的电话列表?
- arrays - Ruby - 比较数组和交换索引
- python - Python 脚本的任务计划程序未运行
- c++ - How do I fix this warning - "control reaches end of non-void function [-Wreturn-type]"
- javascript - RxJS Observable 中的循环在调用完成或错误后不会停止
- python-3.x - 将字典键移动到特定值的列表
- android - 无法滚动到 NestedScrollView 内的 RecyclerView 中的项目
- r - 在 R 中使用 GTmetrix REST API v2.0
- javascript - 行为类似于内置的自定义 HTML 元素元素