【发布时间】:2021-10-09 17:32:06
【问题描述】:
在使用boto3列出sqs队列时,是否可以将权限限制为函数可以拉取的队列数量?
我目前正在使用boto3根据前缀拉取队列列表:
sqs = boto3.client('sqs')
response = sqs.list_queues(
QueueNamePrefix = 'some-prefix'
)
我只能通过以下政策完成这项工作:
{
"Action": "sqs:ListQueues",
"Effect": "Allow",
"Resource": "*"
}
编辑它以像这样限制资源:
{
"Action": "sqs:ListQueues",
"Effect": "Allow",
"Resource": "some-prefix*"
}
或使用条件:
{
"Action": "sqs:ListQueues",
"Effect": "Allow",
"Resource": "*",
"Condition": {"StringLike":{"aws:SourceArn": "some-prefix*"}}
}
让我拒绝访问。
在API policy documentation for sqs 中,ListQueues 权限资源声明为arn:aws:sqs:region:account_id:*。我想知道是否有任何方法可以限制权限,以便我的 python 函数无法访问列出 sqs 中的所有队列。
【问题讨论】:
-
This 是您应该查看的正确文档。注意
ListQueues操作,没有可用的条件键,这意味着"*"是唯一可以工作的。 -
@jellycsc 我认为我们的两个链接都说同样的话。我的问题是是否有任何方法可以在安全方面解决这个问题。
标签: amazon-web-services aws-lambda boto3 amazon-iam amazon-sqs