amazon-web-services - 如何在 AWS 上创建真正具有最低权限的部署用户?
问题描述
我们希望部署用户可以在我们的管道中使用,纯粹用于编程访问。这些用户将按项目创建,而不是为所有堆栈使用一个部署用户。
我正在尝试锁定这些部署用户有权更改的资源,但由于 ARN 在创建堆栈之前还不知道,这意味着创建 IAM 策略将其限制为只有某些资源被证明是困难的。
例如,假设我想创建一个应用程序负载均衡器(带有侦听器、规则等)——我希望部署用户有权创建 ALB(很简单),但我希望部署用户只有删除或修改的权限新创建的 ALB,而不是任何其他 ALB。
任何提示/聪明的方法来做到这一点?ARN 是生成的并且是“随机的”,因为我不喜欢命名我的资源并且如果我更改需要替换的设置就必须修改名称。
解决方案
您可以使用 IAM 策略条件根据标签限制对资源的访问。
例如,您可以添加两个带有条件元素的策略语句,以允许对资源执行特定操作:
owner=user1
只有当请求包含标签时,User1 才能创建资源。- 仅当
owner=${aws:username}
标签附加到资源时,用户 1 才能更新或删除资源。
您可以在本指南中找到策略示例: https ://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html
推荐阅读
- asciidoc - 在 PDF 中突出显示 TypeScript JSX (TSX) 的 AsciiDoc 语法
- react-native - FrescoModule 试图覆盖 com.facebook.react.modules.fresco.FrescoModule
- vuejs2 - Facebook Pixel 与 Vue 项目
- python - 根据索引将大数据帧中的数据除以较小数据帧中的数据
- ios - 嵌入式 UIPageController 子 VC 的帧来源错误
- curl - 如何从 mule4 调用 curl 命令
- r - 如何通过 2 个非唯一列合并 2 个 df
- scala - Scala mock:在对象内部启动其他类实例时调用 spy mock 的实例
- objective-c - MSAL:起始目标 C 示例代码在哪里?
- python - 如何使用 Python 找到数据集中的最大百分比下降?(股市)