创建 AWS 策略时,是否有办法创建一个策略,允许根据之前创建该函数的用户查看、编辑和创建 lambda 函数?
我正在尝试这样做,但找不到有关“创建/更新/删除该功能的用户”的条件或参数的信息
答案1
简短的回答是“不”,目前这是不可能的,但多账户策略可能会提供解决这个问题的不同方法。
这为什么是不可能的呢?
为了实现这一点,您需要 Lambda 向 IAM 提供一个上下文键,该键包含有关哪个用户创建了 lambda 的信息。目前 Lambda 不提供任何上下文键。
Lambda 没有可用于策略语句的 Condition 元素的服务特定上下文键。有关可供所有服务使用的全局上下文键的列表,请参阅 IAM 策略参考中的可用条件键。
多账户策略
希望根据 Lambda 的创建者来控制其权限听起来像是一个问题,您需要在用户或团队之间提供管理隔离。
例如,如果用户 A(或团队 A 的人员)创建了一个功能,那么他们应该能够在其整个生命周期内管理它,但其他用户(或其他团队的人员)不应该能够干扰它。
如果您遇到此类问题,那么拥有多个 AWS 账户可能是个不错的解决方案。
AWS 组织
组织为多个帐户提供基于策略的管理。常见的情况是:
- 账单支付账户
- 身份账户(包含所有用户登录信息)
- 资源账户(包含 AWS 资源和跨账户角色,以允许来自身份账户的用户对资源具有适当级别的访问权限)
您可以创建资源帐户来提供管理隔离,这样用户 A 就拥有自己的帐户并可以做任何您允许他们做的事情,而不必担心干扰用户 B。同样,团队也可以获得访问帐户的权限。
这还提供了提供每个帐户的账单明细并将任何安全事件的爆炸半径限制在发生事件的帐户中的好处。