首页 > 解决方案 > 如何在 AWS 上创建真正具有最低权限的部署用户?

问题描述

我们希望部署用户可以在我们的管道中使用,纯粹用于编程访问。这些用户将按项目创建,而不是为所有堆栈使用一个部署用户。

我正在尝试锁定这些部署用户有权更改的资源,但由于 ARN 在创建堆栈之前还不知道,这意味着创建 IAM 策略将其限制为只有某些资源被证明是困难的。

例如,假设我想创建一个应用程序负载均衡器(带有侦听器、规则等)——我希望部署用户有权创建 ALB(很简单),但我希望部署用户只有删除或修改的权限新创建的 ALB,而不是任何其他 ALB。

任何提示/聪明的方法来做到这一点?ARN 是生成的并且是“随机的”,因为我不喜欢命名我的资源并且如果我更改需要替换的设置就必须修改名称。

标签: amazon-web-servicessecuritydeploymentamazon-cloudformationamazon-iam

解决方案


您可以使用 IAM 策略条件根据标签限制对资源的访问。

例如,您可以添加两个带有条件元素的策略语句,以允许对资源执行特定操作:

  • owner=user1只有当请求包含标签时,User1 才能创建资源。
  • 仅当owner=${aws:username}标签附加到资源时,用户 1 才能更新或删除资源。

您可以在本指南中找到策略示例: https ://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html


推荐阅读