我想为 Lambda 函数创建一个角色,允许它创建/更新/删除任何资源,只要该资源也是由它创建的。例如,它应该能够创建一个 SQS 队列并对其执行任何操作,但它不应该从该 AWS 账户访问任何其他 SQS 队列。
这可以使用 IAM 政策实现吗?
我已尝试为此使用 resourceTag
和 requestTag
条件,仅当被标记为特定值时才允许角色创建或修改资源。不幸的是,很多 AWS 服务 do not support 基于标签授权。
是否有其他选择来实现这一目标?
答案 0 :(得分:0)
您可以创建仅允许用户创建、更新和删除具有特定命名方案的资源的 IAM 策略。例如,您可以将策略的资源 arn 设置为“/username*”。用户只能创建以其用户名开头的资源并影响这些资源。他们将无法影响创建的以其他用户名开头的资源,反之亦然。
答案 1 :(得分:0)
在实践中很难做到。您必须将您已经提到的标签与 permission boundaries 结合起来。
我认为实现这一目标的最佳方法是为您的应用程序提供自己的专用 AWS 账户,以便您可以将其权限范围限定于该账户,而它不会影响其他应用程序。