如何仅允许 AWS 用户/角色访问他创建的资源?

时间:2021-07-20 15:56:33

标签: amazon-web-services aws-lambda amazon-iam

我想为 Lambda 函数创建一个角色,允许它创建/更新/删除任何资源,只要该资源也是由它创建的。例如,它应该能够创建一个 SQS 队列并对其执行任何操作,但它不应该从该 AWS 账户访问任何其他 SQS 队列。

这可以使用 IAM 政策实现吗?

我已尝试为此使用 resourceTagrequestTag 条件,仅当被标记为特定值时才允许角色创建或修改资源。不幸的是,很多 AWS 服务 do not support 基于标签授权。

是否有其他选择来实现这一目标?

2 个答案:

答案 0 :(得分:0)

您可以创建仅允许用户创建、更新和删除具有特定命名方案的资源的 IAM 策略。例如,您可以将策略的资源 arn 设置为“/username*”。用户只能创建以其用户名开头的资源并影响这些资源。他们将无法影响创建的以其他用户名开头的资源,反之亦然。

答案 1 :(得分:0)

在实践中很难做到。您必须将您已经提到的标签与 permission boundaries 结合起来。

我认为实现这一目标的最佳方法是为您的应用程序提供自己的专用 AWS 账户,以便您可以将其权限范围限定于该账户,而它不会影响其他应用程序。