我有一个不断运行的lambda函数和一些动态创建的SQS队列。我需要一种允许lambda访问所有SQS队列的方法,以便可以使用这些动态创建的队列-我如何做到这一点?
目前,我使用的执行角色具有iam策略和单个队列ARN,但似乎无法创建多个执行角色。
编辑
正如下面的评论中提到的,向所有人开放SQS队列可能并不完全安全,因此出于兴趣,我将在下面保留我的初始解决方案,但通常更好的解决方案是:
创建lambda函数,附加一个可以访问所有SQS队列的iAM角色。这项政策看起来像是
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:GetQueueUrl",
"sqs:ChangeMessageVisibility",
"sqs:ListDeadLetterSourceQueues",
"sqs:SendMessageBatch",
"sqs:PurgeQueue",
"sqs:ReceiveMessage",
"sqs:SendMessage",
"sqs:GetQueueAttributes",
"sqs:CreateQueue",
"sqs:ListQueueTags",
"sqs:ChangeMessageVisibilityBatch",
"sqs:SetQueueAttributes"
],
"Resource": "*"
},
]
}
我最初设法通过创建带有权限的SQS队列来解决这个问题。创建SQS队列时,可以为其分配策略,其中可以指定权限和用户,例如,以下策略允许所有用户拥有所有权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "SQS:*",
"Resource": "{{ queue_arn }}"
}
]
}
我们有一个Lambda函数,需要能够访问私有的S3桶。 该存储桶已启用“阻止所有公共访问”,并具有以下资源策略: 我还将AmazonS3FullAccess策略直接附加到Lambda使用的IAM角色。但是,当Lambda函数尝试访问S3存储桶时,会出现访问被拒绝错误: 使用IAM用户凭据连接到S3的外部系统在尝试访问存储桶时也会收到相同的错误。 有人知道是什么导致了这个错误吗? 以下是发生错误的L
我有一个用户测试。我想授予此用户在所有数据库上的所有权限。怎样才能做到呢?
我正在使用Lambda函数将消息推送到SQS队列。消息放入SQS队列后,我需要触发其他Lambda函数来处理队列中的消息。 我认为我们可以使用SNS实现这一点。我是AWS服务新手,请建议在SNS的帮助下基于SQS队列消息触发Lambda函数的解决方案。
问题内容: 我需要授予对服务器上所有300个数据库的新登录读取访问权限。如何在不选中用户映射区域中的300个复选框的情况下完成此任务? 问题答案: 一种方法是在SSMS的查询菜单上设置“结果为文本”,然后执行以下操作。 它实际上并没有进行更改,而是生成了一个脚本供您查看和执行。 或者,你可以看看 这里或亚伦Bertrand的改进版本在这里 如果运行此命令时未看到所有字符,请打开“文本查询选项”,然
问题内容: 我已经创建了数据库,例如’mydb’。 现在,我可以从任何地方登录数据库,但是无法创建表。 如何授予该数据库和(将来)表的所有特权。我无法在“ mydb”数据库中创建表。我总是得到: 问题答案: 这就是我创建“超级用户”特权的方式(尽管我通常会指定一个主机)。 虽然此答案可以解决访问问题,但可以创建一个MySQL用户,该用户可以编辑其他用户的权限。 使用GRANT OPTION特权,您