amazon-sqs - 如何允许 AWS SQS 仅由一个 lambda 读取?
问题描述
我已尝试应用以下 SQS 政策,但似乎不起作用:
{
"Version": "2012-10-17",
"Id": "SqsEdsPerms",
"Statement": [
{
"Sid": "20180503",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::6000000000:root"
},
"Action": [
"SQS:SendMessage",
"SQS:ReceiveMessage"
],
"Resource": "arn:aws:sqs:us-east-1:6000000000:scs-dev-use1-myQueue",
"Condition": {
"ArnEquals": {
"aws:SourceArn": [
"arn:aws:lambda:us-east-1:6000000000:function:scs-dev-use1-myLambda"
]
}
}
}
]
}
我能够编写另一个 lambda (myLambda2) 并仍然从 SQS (myQueue) 中读取消息。
解决方案
“主体”是被授予权限的资源,因此您的 lambda 的 ARN 应该去那里。
{
"Version": "2012-10-17",
"Id": "SqsEdsPerms",
"Statement": [
{
"Sid": "20180503",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:lambda:us-east-1:6000000000:function:scs-dev-use1-myLambda"
},
"Action": [
"SQS:SendMessage",
"SQS:ReceiveMessage"
],
"Resource": "arn:aws:sqs:us-east-1:6000000000:scs-dev-use1-myQueue"
}
]
}
推荐阅读
- php - 无法使用 PHP 在 MongoDB 上选择数据库
- php - 在 Fedora 27 上同时使用 php5 和 php7
- android - 我在哪里可以找到 xamrin android 存档上传的日志
- jquery - 使用 jQuery 通过样式属性定位标签并将其更改为具有类的另一个标签
- javascript - 如何从 Selenium 提供的 html 中提取动态文本 3204255?
- asp.net-core - MVC 或 Net Core 框架可加快 Visual Studio 中 Web 应用程序的生产力
- python - 试图通过 Excel 文件的每一行循环一个数组
- angular - “预检响应没有 HTTP ok 状态。” 500 角 6
- java - 将 HttpServletRequest 转换为 Postman 的 cURL 命令
- android - 从信使应用程序到我的应用程序的深层链接不起作用?