我正在为多个用户设置一个 AWS 账户。每个用户都附加了策略,以限制他们对特定 S3 存储桶/对象以及他们可以启动的 EC2 实例类型/自动扩展组的访问。
用户可以随时启动多个按需/现货实例。我想确保特定用户启动的实例具有与启动它们的用户相同的权限或限制。我确信我可以找到在启动时设置相应用户凭据的方法,但我宁愿使用角色来实现这一点。
我已经能够创建一个角色和一个实例配置文件来启动 EC2 实例并使用临时凭证获取 S3 访问权限,而不是在该实例上设置用户的访问密钥 ID 和秘密访问密钥。但是,有没有办法让角色模仿用户的权限,以便该用户启动的任何实例都具有相同的限制?现在,用户可以简单地使用此角色启动 EC2 实例并使用该实例访问他原本无法访问的 S3 存储桶和对象。此外,一些策略使用变量aws:username
,这不是当主体是假定角色时可用。
一种解决方法似乎是创建具有与附加到用户的策略相同的策略的用户特定角色,但这似乎是一种糟糕的方法,特别是如果我有大量用户并且我不断更新他们的权限。我也不确定我是否能够限制用户承担与其相应角色不同的角色。最后,这仍然不适用于使用 的策略aws:username
。
我有什么选择?在这种情况下,什么才是好的做法?