IAM角色和IAM用户之间有什么区别?IAM常见问题有一个条目来解释它,但它很模糊,也不太清楚:
IAM用户具有永久的长期凭据,用于与AWS服务直接交互.IAM角色没有任何凭据,不能直接请求AWS服务。IAM角色是由授权实体承担的,如IAM用户、应用程序或AWS服务(如EC2 )。
我认为IAM角色用于联邦登录(例如使用带有SAML令牌的IdP ),而且它们没有永久访问密钥,您可以像常规IAM用户一样下载这些密钥(“IAM角色没有任何凭据”部分)。
当他们说IAM角色不能直接请求AWS服务时,这是什么意思?我可以登录到AWS控制台(网络控制台)和创建堆栈等,所以它不可能。
发布于 2018-01-10 08:00:47
为了理解这种差异,让我们来了解一下我的基本知识。
IAM控件:在您的AWS帐户中,谁(身份验证)可以做什么(授权)。使用IAM的身份验证(Who)是通过用户/组和角色完成的,而授权(什么)则是由策略完成的。
在这里这个词
用户和角色使用策略进行授权。请记住,除非您允许策略中的某些操作,否则用户和角色不能做任何事情。
回答以下问题,您将区分用户和角色:
AWS支持针对不同场景的3种角色类型
为了理解角色是什么,您需要阅读它的用例,我不想重新发明轮子,所以请阅读以下AWS文档:https://aws.amazon.com/blogs/security/how-to-use-a-single-iam-user-to-easily-access-all-your-accounts-by-using-the-aws-cli/
希望能帮上忙。
发布于 2018-08-17 05:00:38
IAM的主要参与者是用户、组、角色和policies。你需要了解AWS并且永远不要忘记的是
AWS中的所有内容都是一个API。
要执行任何API或它的任何方法,我们首先必须对特定的用户/组/角色进行身份验证,然后授权它。
例:操作符想要将一个对象放到S3桶中。此过程通过AWS中的一组API调用进行。基本上,我们调用S3 API及其方法将对象放入特定的桶中(例如方法put_object_in_s3)。为此,我们可能希望提供桶的名称、对象,最重要的是,我们需要提供一组凭据(用户名带有密码或密钥等),以便告诉API引擎这个用户/组/角色是谁。
API引擎所做的第一件事就是查看与API一起发送的凭据。然后,它验证那些(它们是否正确、活动)凭据,指示此请求来自实际有效的用户、组或角色。然后API引擎所做的就是(现在它知道是谁发送了这个API请求),它将与特定操作符(用户或角色)关联的策略文档作为一个单独的视图进行评估。也就是说,我们检查API中调用的操作是否为该操作符授权。
IAM用户-在IAM的上下文中,用户是一个命名为“永久”的操作符(人或机器)。需要注意的是,它的凭据(凭证,可能是用户名、密码或访问密钥或秘密密钥)是永久的,并且与该名用户保持在一起。因此,AWS知道该用户的身份验证方法(用户名、密码、身份验证方法或秘密密钥方法等)是什么(作为其永久的,并与用户保持在一起)。
IAM组-正如在上面的图像中,一个组是用户的集合。请注意,用户也可以在许多组中。
IAM角色-角色不是权限!角色也是一种身份验证方法,就像IAM用户和组一样。作为用户,角色也是操作员(可以是人,也可以是机器)。不同之处在于,具有角色的凭据是临时的。
策略文档-如前所述,角色不是权限。AWS中的权限完全由名为Policy Documents的对象处理。策略文档是JSON文档。策略文档可以直接附加到用户、组或角色。当一个策略文档被附加到上面任何一个操作符时,那么只有他们获得权限才能完成任务。策略文档列出了如下内容:特定的API或通配符组( API或通配符组),这些API的资源将被白化,以及这些API执行的条件(例如只允许在家庭网络中的用户、组或角色,或者允许从任何位置,只允许在一天中的特定时间等)。
最后但并非最不重要的一点是,AWS中的身份验证是通过(IAM用户、组和角色)完成的,而授权则是通过策略完成的。
发布于 2017-09-13 14:28:21
当他们说IAM角色不能直接请求AWS服务时,这是什么意思?我可以登录到AWS控制台(网络控制台)和创建堆栈等,所以它不可能。
您是IAM用户(附带一些IAM角色)。
把IAM角色看作是能力。
您提供了IAM用户功能(例如,“可以创建Lambda函数”,“可以上传到S3")。
关于联合用户的说明
来自http://docs.aws.amazon.com/IAM/latest/UserGuide/id.html
可以将角色分配给通过使用外部身份提供程序(而不是IAM )登录的联邦用户。AWS使用身份提供程序传递的详细信息来确定哪个角色映射到联邦用户。
因此,联邦用户类似于IAM用户,您可以将IAM角色附加到IAM用户。只是你有一个外部身份提供者。
从技术上讲,当您登录到AWS控制台时,没有使用角色作为您的身份。您正在使用您的联邦用户帐户(带有它自己附加的角色)作为您的标识。
https://stackoverflow.com/questions/46199680
复制相似问题