首页 > 解决方案 > 如何在单个 EC2 实例上管理多个 IAM 用户?

问题描述

对于不同的 AWS 服务,我需要不同的 IAM 用户来保护访问控制。有时,我什至需要在 EC2 实例的单个项目中使用不同的 IAM 用户凭证。管理此问题的正确方法是什么,以及如何将这些 IAM 用户凭证部署/附加到单个 EC2 实例?

标签: amazon-web-servicesamazon-ec2aws-sdkamazon-iamaws-iam

解决方案


虽然我完全同意接受的答案,即使用静态凭据是解决此问题的一种方法,但我想建议对其进行一些改进(并建议使用 Secrets Manager)。

作为实现凭证完全隔离、使它们动态且不存储在中心位置(上面建议的秘密管理器)的架构步骤,我建议将应用程序码头化并在 AWS Elastic Container Service (ECS) 上运行。这样您就可以将不同的 IAM 角色分配给不同的 ECS 任务。

与 Secrets Manager 解决方案相比的优势 - 完全避免有人篡改 Secrets Manager 中的凭证的用例,因为凭证具有动态性质(临时的,并通过 SDK 自动假定)

  • 凭证在 AWS 端为您管理
  • 只有 ECS 服务可以承担此 IAM 角色,这意味着您不能让真实的人窃取凭证,或者开发人员使用此凭证从他的本地计算机连接到生产环境。

任务角色的 AWS 官方文档


推荐阅读