AWS IAM角色与组


77

AWS官方网站将角色读取为权限的集合,将组读取为用户的集合。但是他们对我来说还是一样。您将策略附加到组或角色,然后将组或角色分配给用户。角色和小组之间到底有什么区别?

Answers:


41

AWS Groups是标准组,您可以将其视为几个用户的集合,并且一个用户可以属于多个组。

AWS IAM角色都是不同的物种。它们的工作方式类似于单个用户,不同之处在于,它们主要针对模拟风格工作,并在不指定凭证的情况下与AWS API调用进行通信。

鉴于IAM角色几乎没有什么不同,我仅强调这一点。IAM角色有几种类型,例如EC2 IAM角色,Lambda等。如果您考虑的话,可以使用EC2 IAM角色启动EC2实例。因此,任何与AWS API相关的通信都不需要任何AWS Access Key或Secret Key进行身份验证,而是可以直接调用API(但是答案很长-它使用STS并在后台不断回收凭证);其功能的特权或权限由IAM角色附带的IAM策略确定。

Lambda IAM角色的工作原理完全相同,只是只有Lambda函数可以使用Lambda IAM角色等。


8
这是不正确的。具有IAM角色的EC2实例仍使用访问密钥。但这些是从实例元数据中检索(自动使用SDK或手动进行)的,并且寿命很短。更多详细信息,请访问docs.aws.amazon.com/AWSEC2/latest/UserGuide/…–
克里斯(Chris)

1
谢谢克里斯-我已经更新了答案。我的初衷是强调不需要干预访问密钥和秘密。
纳文·维杰

@chris So ..在AWS世界中,我可以说不能将策略(例如S3FullAccess)应用于服务(例如EC2)来访问另一服务(例如S3)吗?
兑换

@overexchange:那完全是倒退。您可以创建EC2角色,将其分配给实例,然后将一个或多个策略与该角色相关联。然后,该实例将能够执行该角色授予的所有任务-因此,在您的示例中,如果与ec2实例关联的角色具有S3FullAccess,则EC2实例将具有完全的S3访问权限。
克里斯

@NaveenVijay对我来说,角色和组看起来都一样。两者都用来表示一组策略。一方面,将多个“受信任实体”分配给一个或多个角色,另一方面,将多个“用户”分配给一个或多个组。什么组适用于用户,角色适用于可信实体。
肯罗素

70

googlers的简短答案:您无法为用户分配角色。

  • 组是一群使用相同策略的用户
  • 角色是服务策略的预设

用户可以根据AWS文档设定角色:

承担角色


25
您无法为用户分配角色是使我意识到他们之间的区别的关键句。角色是一种无需创建用户即可向某人(客户,供应商,承包商,雇员,EC2实例,AWS外部的某些外部应用程序尝试使用您的服务)提供权限的方法。
Alisson

3
在我看来,IAM角色似乎涵盖了IAM组的所有用例。每当您要为用户提供IAM组时,只需使用相同的策略创建一个IAM角色,然后让用户承担该角色。那为什么我们需要IAM Group?
富兰克林于

3
将角色“分配”给用户和用户“承担”角色有什么区别?我不会说您也可以为用户分配一个组。
papiro '02

3
@papiro假设是添加到组中时的临时手动操作是永久的
Raz

14

用户:最终用户(Think People)。

组:一个用户的集合在一组权限(许可政策)。根据IAM标准,我们创建具有权限的组,然后将用户分配给该组。

角色:您创建角色并将其分配给AWS资源AWS资源示例可以是客户,供应商,承包商,雇员,EC2实例,AWS外部的某些外部应用程序),但请记住,您无法将角色分配给用户。

不仅用户会登录,有时应用程序还需要访问AWS资源。例如,一个EC2实例可能需要访问一个或多个S3存储桶。然后,需要创建一个IAM角色并将其附加到EC2实例。该角色可以被不同的EC2实例重用。

记住:团体是为了生活。角色是非生命的。


1
什么分配角色呢?
Noldorin

第3点,您创建一个角色并分配给AWS资源。
RishiKesh Pathak

抱歉,我没有评论以上答案,不是您的评论。现在,我看到了你的名字,这很清楚。
Noldorin

“客户,供应商,承包商,员工”不是== IAM用户吗?如果没有,怎么办?
–divingByZero

1

对于这两个功能之间的差异,我一直感到困惑。

简而言之,

角色就像具有所有预设策略的标签,可以附加在IAM用户/组或AWS服务上。IAM用户与账户根用户(Admin)共享同一账户,但具有由根用户分配的使用该账户内AWS资源的权限。

因此,IAM用户可以直接与AWS服务进行交互;虽然IAM角色无法直接向AWS服务发出请求,但它们应由IAM用户或实例之类的授权实体来承担。https://aws.amazon.com/iam/faqs/


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.