Amazon web services AWS IAM角色与组

Amazon web services AWS IAM角色与组,amazon-web-services,Amazon Web Services,AWS官方网站将角色读取为权限集合,将组读取为用户集合。但它们在我看来还是一样的。将策略附加到组或角色,然后将组或角色分配给用户。角色和组的区别是什么? < P> AWS组是标准组,可以考虑为多个用户的集合,用户可以属于多个组。 AWS IAM的角色都是不同的物种;它们的操作与单个用户类似,只是它们主要采用模拟方式,并在不指定凭据的情况下执行与AWS API调用的通信 鉴于IAM的角色差别不大,我只强调这一点。有几种类型的IAM角色,如EC2 IAM角色、lambda等。如果您考虑,可以使用EC

AWS官方网站将角色读取为权限集合,将组读取为用户集合。但它们在我看来还是一样的。将策略附加到组或角色,然后将组或角色分配给用户。角色和组的区别是什么?

< P> AWS组是标准组,可以考虑为多个用户的集合,用户可以属于多个组。 AWS IAM的角色都是不同的物种;它们的操作与单个用户类似,只是它们主要采用模拟方式,并在不指定凭据的情况下执行与AWS API调用的通信

鉴于IAM的角色差别不大,我只强调这一点。有几种类型的IAM角色,如EC2 IAM角色、lambda等。如果您考虑,可以使用EC2 IAM角色启动EC2实例;因此,任何与AWS API相关的通信都不需要任何AWS访问密钥或密钥来进行身份验证,而是可以直接调用API(不过答案很长——它使用STS并在幕后不断回收凭证);它可以执行的操作的特权或权限由附加到IAM角色的IAM策略决定


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

谷歌的简短回答:您不能将角色分配给用户

  • 组是一群具有相同策略的用户
  • 角色是服务的预设策略
用户可以根据AWS文档设置角色:


用户:最终用户(想想人)

组:一组权限(权限作为策略)下的用户集合。根据IAM标准,我们创建具有权限的组,然后将用户分配给该组

角色:您创建角色并将其分配给AWS资源(AWS资源示例可以是客户、供应商、承包商、员工、EC2实例、AWS外部的一些外部应用程序),但请记住,您不能将角色分配给用户

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

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

一次只能担任一个IAM角色!有几个 完全符合这种许可的情况

在两种用例中使用的参考底图工具都是“权限”,即:组和IAM角色


组或IAM角色-->具有策略-->策略定义权限-->权限分配给组或IAM角色

我一直对这两个功能之间的区别感到困惑

总之,

角色就像一个标签,包含可以附加到IAM用户/组或AWS服务上的所有预设策略。IAM用户与帐户根用户(管理员)共享同一个帐户,但根用户分配了使用该帐户内AWS资源的权限


因此,IAM用户可以直接与AWS服务交互;鉴于IAM角色无法直接向AWS服务发出请求,它们将由授权实体(如IAM用户或实例)承担

我认为AWS角色是一种“sudo”,其中每个AWS角色可以临时提供一组非常特定的提升权限,但不需要提升的凭据。我的印象是,像sudo一样,AWS角色试图防止意外使用特权操作。
我很想听听其他人是否同意这个类比。

这是不正确的。具有IAM角色的EC2实例仍然使用访问密钥;但这些都是从实例元数据中检索的(自动使用SDK,或手动检索),并且非常短暂。更多详情请访问“谢谢你”,克里斯-我已经更新了答案。我最初的意图是强调不需要干预访问密钥和秘密。@chris So。。在AWS的世界里,我可以说,一个人不能将策略(比如S3FullAccess)应用到一个服务(比如EC2)来访问另一个服务(比如S3)?@过度交换:这完全是向后的。您可以创建EC2角色,将其分配给实例,并将一个或多个策略与该角色关联。然后,该实例将能够执行该角色授予的任何操作-因此在您的示例中,如果与ec2实例关联的角色具有S3FullAccess,则ec2实例将具有S3FullAccess。@NaveenVijay对我来说,角色和组看起来都是等效的。两者都用于表示一组策略。一方面,许多“受信任的实体”被分配一个或多个角色,另一方面,许多“用户”被分配到一个或多个组。什么组是用户的,角色是受信任的实体。您不能将角色分配给用户是让我意识到它们之间区别的关键句子。角色是一种向某人(客户、供应商、承包商、员工、EC2实例、AWS外部试图使用您的服务的某些外部应用程序)提供权限而不为其创建用户的方式。在我看来,IAM角色似乎涵盖了IAM组的所有用例。每当您想要为用户创建IAM组时,只需使用相同的策略创建一个IAM角色,并让用户承担该角色。为什么我们需要IAM组?将角色“分配”给用户和用户“承担”角色之间有什么区别?我也不会说您可以将组分配给用户。@papiro假设添加到组时是临时手动操作是永久性的,那么您将角色分配给什么?第3点,您创建了一个角色并分配给AWS资源。对不起,我的意思是对上面的回答说“否”,而不是您的回答。现在我看到了你的,它是cle